Thursday, 29 November 2012

Bring QA In From The Start?

In software development, the software quality assurance team (hereafter ‘QA’) are often seen in a variety of different lights across the industry and organisations.

Some might see the QA process as a hindrance to the smooth running of the development lifecycle, or a necessary evil to be endured prior to product release. Others might see the QA team like a caged animal waiting to be unleashed and to be wheeled out at the last minute to devour the impending feast that is a code-complete, but untested, release from development.

However, in order to get true value from QA, the team needs to be introduced right from the start of development – when the ink is still wet on the requirements document.

Research has long shown that introducing the QA team to the project earlier in the software development life cycle can lead to a significant reduction in defect cost.

Why is this important? In 2002, a study by the National Institute of Standards and Technology (NIST) found that “software bugs, or errors, are so prevalent and so detrimental that they cost the U.S. economy an estimated $59.5 billion annually, or about 0.6 per cent of the gross domestic product…”[1].

This undoubtedly shows that we need to do everything we can to reduce the cost of defects, but how is this achieved? Leading software testing author Rex Black, President of the International Software Testing Qualifications Board, has written in detail about the economics of testing, where it has been proven that cost of finding and fixing defects increases significantly over time:

See footnote 2 below.

So, as shown in the graph above, bringing the QA team in early in the software development life cycle to identify defects in the requirements and design documentation can significantly reduce the overall cost of defects. It can cost up to 10-100 time more to fix a defect in live use than if it were found in the requirements – the economics speak volumes.

Despite the evidence above, this is not the only motivation for including the QA team as early as possible. Within the QA team here at DSCallards, we have noticed another significant benefit.

Being included at the business requirements stage and in meetings with user representatives allows QA team members to start to get to grips with the business domain that the software product resides in.
This allows testers to obtain invaluable business and domain specific knowledge, which often proves vital in designing accurate test cases to exercise complex business/user scenarios.

The act of designing these business-driven test cases often also identifies gaps (or ‘defects’) in the requirements documentation that other members of the requirements review team cannot see.

In summary, involving the QA team early in the software development life cycle may not only reduce defect cost (as widely recognised throughout the industry), but can also improve the understanding of the software application’s business domain within the QA team.

So why not bring in QA from the start? You never know - you may strike gold!
Written by Sam Massey, Software Tester, DSCallards

[1] NIST Press Release – Software Errors Cost US Economy $59.5 Billion Annually -
[2] What is the cost of defects in software testing? ISTQB Exam -

No comments:

Post a Comment