Software Defect Cost Factors:
Requirements Stage: Bugs caught in the requirements writing stage simply cost the time to rewrite the requirement. Time spent in this stage is usually constant.
Coding Stage: Bugs caught here require developer hours. Time varies but is considerably less than fixing a bug found by someone else. When a bug is found during this stage, the developer discovers it, already understands the problem, and often knows how to fix it.
Integration Stage: Bugs caught here require developer and other system engineer hours. Time is usually at least twice as much, since the problem occurs at a higher level and there is a need to figure out which exact code or configuration is wrong.
Testing Stage: Bugs caught here require developer, system engineer, PM, and QA hours. The process is much larger than before. Now things need to be tracked and prioritized.
This now requires finding reproduction steps, submitting a bug, prioritizing the bug, meeting with developers, fixing the bug, pushing the fix to the test environment, verifying the fix, and tracking the changes of the bug in the system.
Production Stage: Bugs caught here require developer, support, system engineer, PM, customer, and QA hours. This process always involves all of the roles. It requires more planning and more prioritizing than in the testing stage.
Usually a phone call comes to customer support, and the assigned team decides if it's a bug or the product is working as designed. The customer is notified, the PM is contacted, and then the process iterates back to the testing stage.
A simple model to calculate defect cost.
|
Buttom-up Cost factors
|
Total Software Cost Factors
|
Requirements
|
1X
|
1X
|
Design
|
8X
|
5X - 7X
|
Build
|
16X
|
10X - 26X
|
Test
|
21X
|
50X - 177X
|
Operations
|
29X
|
100X - 1000x
|