As some of you may be guessing, we’ve been making a lot of Go/No-Go decisions these days.
When your software is near ready, the Go/No-Go decision is probably one of the toughest decisions you’ll face. The trade-offs can be immense – time to market vs quality, having customers buying it vs having better customer satisfaction, overloading your ops team vs underwhelming your sales team… everybody is carefully balancing these major decisions to ensure that the best product is delivered in a timely way.
And on top of that you can have politics that cripple decisiveness if one isn’t careful. When it comes to a go you can have powerful people holding on to pet issues with the release team not agreeing on the criticality and need to solve them.
All of this can take an incredible opportunity to celebrate success together… “we delivered the product!!”… and turn it into an emotional tense moment.
So to account for that we try to have two values:
1. Team first, team second, team last – if we deliver the product but fall apart as a team, we did not succeed. The ends do not justify the means. One product release is a small step along the way of many steps that a lot of people have to take together.
2. Dissent, decide, move on – as a team we need to invite dissent and let people weigh in. But ultimately the owner of a project or a workstream needs to decide. Once the decision is made, everybody has to move on. You can’t hang on to ideas and be emotional about them.
The last point is actually really important for more senior members of the team. They have to avoid trying to pull authoritative rank or using other bully pulpit tactics to get their way across. I recently heard a great speech about decision making, it basically sums to this – “with the wrong culture in a company, everybody can undo decisions but nobody can make them”. That is what happens when senior guys try to pull rank, it kills the ability of the team to make decisions, and everything circulates upwards for decisiveness.
So in order to do embody these values, we have a very sage guy (Rob), who has been through many launches. He brought in a disciplined, analytical approach to the go/no-go decision.
Basically we have a number of criteria that make a “go” decision. Each one of those is scored “red, yellow, green”. We use Agile & iterative release processes, so we actually start charting this early on so that way the go/no-go decision is gradual and we all step into it over time… allowing us to slowly but surely understand tough issues and practice tough decision making as we go, while the pressure is less intense. I think this step is absolutely crucial. People who have not been thinking day in/day out about these issues for weeks can feel awkward trying to contribute to this process at the end. Its a note to ‘hero’ CEOs or others who feel the need to jump-in at the end, you can be an explosive, backfiring, inducing spark to a well-oiled release team. Weigh in with caution.
Underneath the red, yellow, green of a single criteria are a number of tests. Example “Performance” may be a criteria, but underneath that there are 2-3 complex test suites to show analytically that performance criteria is met. While one member of the team will own completion of the testing suite, we usually split the decision on status to somebody else to mark it ‘ready’ with a green (or not ready with a yellow or red). Its a separation of church and state if you will to help come to the right decision.
Our style and process works for us. We stay strong as a team through the emotional moments.
I’d love hear how others make these sort of crunch decisions? Google-style, perpetual beta-mode? Slam it out and let the customers test?








