Quality Assurance in Software Project Development — How Soon Should It Start?
QA testing is obviously essential but the effectiveness in time and cost reduction is dependent on the customer’s needs and this should be established at the outset, as should the target audience and what their needs are.
If your company hires a software developer it is essential to co-ordinate with them from the project’s inception and be as clear as possible to avoid later revisions.
Early Testing and Its Impact on Cost
Developers testers find that errors discovered earlier in the development life-cycle tend to be cheaper and easier to fix and mean less budget changes for the employer. If you don’t find the bug until the end of development the costs will undoubtedly rise. For example, if a change is made before the completion of source code it will cost at least 100 times less than those needed later. It is more profitable to ensure the QA team are on board as early as possible because missing those early errors can significantly increase cost.
It can seem reasonable to start testing at the end of development, especially since this simplifies project planning but this is inadvisable. The worse case scenario is rising costs and release delays because developers then have to change the original requirements, rewrite the code and then test to check the errors are fixed. At this stage the costs are unavoidable.
However, you can avoid this by making sure that critical errors are tested for at every stage. Proper QA reduces the need for later changes, avoids potential errors and is cheaper to correct. Ideally QA starts with requirement gathering and continues until the project ends.
Error Detection Time and Final Cost — the Research
Recent research available on the National Institute of Standards and Technology website indicate that the later you find the bug the more you can expect to pay. Most projects consist of similar stages and the later your QA starts, the more stages have passed, the higher the budgetary impact when errors are detected.
It is not possible to detect all bugs at any one particular development stage and most errors are found in the middle to late stages with implications to cost. In studies looking at error detection in relation to development cycle the cost of fixing a bug is directly related to the stage of the development in which it was found.
An example of this would be spending $100 to correct a bug at the initial phase, $1500 if it is found at testing stage with costs increasing at production stage to around $10,000. There are numerous examples of this in real life, for example, in 1962 an error in the guidance system of the Mariner-1 spacecraft caused the craft to self-destruct after launch with a cost to NASA of over $18 million.
To conclude, it is clear that costs to fix errors increases in line with when in the development life-cycle they are discovered, therefore early detection is key to avoid delays and increased budget. Finding an error on time means less effort and less finances are employed to resolve it. Staying within budgets and timescales means that it is highly recommended to have a team of testers fully involved from inception to completion.