This is probably one of the most controversial topics in software development. You have a software on which the company has dedicated an insane amount of effort on, the software contributes a significant percentage (upwards of 25%) of the revenue of the company and it is a well know software. This could be MS-Office, could be Photoshop, could be the latest release of Apple OS, or could be other similar software that are very well known. Now, these software have a known release date, and given the power and money riding on these software, it is extremely important that the software makes its release date. The problems if the date gets delayed are many: The company suffers at the hands of the market and analysts, its reputation takes a dip, revenue already slotted for the current quarter has to be scaled back, and somebody in the chain of management has to take a hit.
However, what happens when you reach a scenario where the software is not yet fully ready ? There are still bugs in the software, not everything is fully stable, and quality teams are hesitant to release the software. In some cases, the apprehension of the teams are unfounded, and the software is good enough to release and earn accolades in the market. However, the difficulty comes when the software is not yet ready, when the apprehensions of the quality teams is correct. In such a case, if the software were to be released, things could get problematic for the company real quick. A release that has suspect quality gets pilloried real fast; with more social media and more active consumers, items such as reduced ratings on Amazon and a lot of comments of poor quality on Facebook / twitter can cause huge damage to the reputation of the company and will most certainly lead to forced removal of people in the company.
So the challenge is to determine which is the current state. This is probably one of the most important decisions that the senior management team of the group has to decide, and it is a very hard decision. The chance of making a mistake in this area is incredible, and if there are obvious mistakes, then it is fairly career limiting for the people who did make the mistake. And you certainly don’t want to be the senior management person who released a product that was of bad quality, and at the same time you don’t want to be known as the person who was unable to take a realistic call of whether the product quality was good or bad. The previous sentence was just a confirmation about the difficult position that management is in when trying to evaluate the current position.
Read this book for some more advice in this area: Judgement Calls: Making Good Decisions in Difficult Situations –
In the next part (Part 2), I will talk more about this decision, the factors that guide it, and what all to do ..