I’ve always known that there is a general rule that the sooner you find bugs the cheaper they are to expose and fix, with the converse being naturally true. But I had not really experienced it first-hand until now.
The experience has left me with some interesting “what-if” scenarios bouncing around my mind and none of them seem good when thought about as an avoided future possibility. So often we hear the dreaded turn of phrase “we are where we are”, so to be on the other side of that is a very nice feeling. A feeling which I will strive to replicate, which of course has led me to sharing this experience with you, the reader.
A quick search will quickly show a plethora of people showing graphics with exponential costs of finding bugs early compared to late so the following graphic will probably not be a surprise;
So why do we allow ourselves to develop without any formal design or requirements? Why do we let ourselves release code into any environment without automated tests? Why do we allow ourselves to release code out of QA without confidence?
When you say those questions out loud it seems ridiculous to blame it on time (which is often the case), especially with the graph directly above it. You can quite clearly see that spending the time upfront will save you time later down the line even if you have to incur a smaller upfront cost. The problem here is that the time saved upfront is often forgotten about.
This is my call to every developer to at the very least highlight the cost next time the suggestion is made to shorten or circumvent one stage. This is also my call to every developer to make automated testing part of the development process and not some add-in extra that you do “if there is time”.
Matt Bird, Developer