The last couple of weeks (sometimes longer) before a product is released is generally referred to as “the end game”. A friend of mine had a button she would wear during this period of the product delivery that said “Projects are 90% boring and 10% shear terror”. That 10% is the end game.
During the end game, the team has completed the new functional components and considered code complete. Quality Assurance is of course going out of their way to pick holes in the new functionality along with ensuring that there are no regressions to previously working functionality. This sets the stage for the battle of defects.
Generally, most software has some level of defects. The degree with which you are willing to tolerate defects is more related to the type of application than anything else. Obviously if the software is controlling a medical system which has the potential to be life threating, your tolerance of defects is much lower (in fact, you are likely driving toward zero defects). On the other hand, defect levels for the average business application can be higher.
What level of defects is acceptable for this particular application? Of course, in practice its not so simple. We classify defects by criticality, shipping without level 1 (critical—like a crash) or level 2 (major flaw in a subsystem). Level 3 (feature failure under specific circumstances) and 4 (minor annoyance) can be tolerated, well sometimes. The number of level 3 and 4’s matter too. If they are very high, then the product can be unusable or at least very cumbersome to use.
During the last few weeks before the product is shipped, the whole team is focused on defects. Some are easy to identify and also fix, others are more difficult. We struggle with the ones where our behavior is different than MyISAM but according to the ANSI standard our results are acceptable. Of course, you can’t exactly hang your hat on the standard, since it is often unclear and people interpret it differently. Making ICE/IEE look and smell like MySQL is not always so easy.
There are some famous lines during the end-game. “Who the hell would do that???” is my favorite. How about “That will NEVER happen!”. These lines serve to add a bit a humor and perhaps lighten the stress of delivering on time.
I’ve been through the end-game plenty of times. Some more stressful than others. Regardless, nothing jells a team like the good old end-game!
Post Comment