by garyg
7. November 2010 23:36
So we are in the final go/no-go hour for a product release, and its not looking good. My team had been charged with testing the product for last 3 day. The development team was busy playing wack-a-mole with several P1 and P2 bugs that continued to regress. Our QA team had no involvement at the beginning of this cycle, nor visibility to any hard requirements (I know, not a good start). A particularly nasty P1 that appears to be in the framework of the product, is on its 4th try through the regression testing cycle. This is one that the developer was sure he had it “this” time. My confidence of course was not there, and I recommended this release be pulled.
The client of course was not happy and called an emergency meeting to get a handle on what was happening. We were now going over the exact contents of what was supposed to be in this latest release, feature by feature. Seeing the impending revelation creeping upon him the developer finally revealed there may be something “a little extra” in this code. Something completely off the requirements list, project plan, and of course did not go through the fairly rigorous code review this client normally does. We were unwitting victims of a classic Gold Plating gone wrong situation and nearly done in by the Midas Touch of unchecked development without matching requirements. No malice of intent but the results were the same.
How this situation was resolved isn’t important, but how we could have prevented it is. A simple, solid, Requirements Traceability Matrix combined with some training on early recognition of Gold Plating signs was on my list of recommendations. I’ve often seen the costs of Gold Plating represented by actual extra work and schedule overruns. This was the clearest case I’ve seen to date were it directly caused a quality issue of this magnitude. A good lesson for us all.