Last week I came across an excellent, but simple example of how the cost escalates, and it's not just because the dev and test team need to work extra hours to effect the fix!
The example of cost came as I participated in/observed the process of investigating 2 defects that were found in production a few days after a release.
Upon reflection I've looked back at the regular defect triage meetings we held during the testing cycle, on average there were 3 participants; the development manager, either a senior developer or senior tester and myself. The meetings often lasted 30 mins, so to keep the calculations simple if each of the resources who attends cost $100 per hour, then the cost of these triage meetings was $150.
Before UAT commenced, we had a meeting with the users to walk through the outstanding defects going into the UAT phase (and our plan to address them). At this meeting we had the usual triage team, plus 3 users and an extra 2 from the dev/test space. This meeting went for 1 hour and using the $100 per hour per resource, it cost $800.
At the conclusion of UAT another two meetings were held, with an additional user representative (senior stakeholder) and our project manager. This meeting lated an hour, and therefore cost (in our simple model) $1000.
Now when the production defects were discovered, on Tuesday we had several more meetings with between 12 and 18 attendee's costings $1200-$1800 per meeting.
As can be seen in the table below, the cost of the defect triage meeting increases by 500% by the time we were triaging the defects found in the production environment!
The columns on the right hand side of the table above records the number of defects discussed at each of the meetings (made up of course!), and as you would expect the number of defects discussed at each of the meetings decreases. However the most interesting point is that the triage cost per defect spirals to be 37.5 times more expensive to triage the defects found in production....
My final point is note that the figures described above don't include ANY actual coding/configuration or testing effort - so it's easy to see how the costs spiral upwards!
Test early, test often. Make the smart choice, test wisely and make an early investment to fix defects rather than accumulate the technical debt :-)