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
Visit: www.dscallards.com
[1]
NIST
Press Release – Software Errors Cost US Economy $59.5 Billion Annually - http://www.abeacha.com/NIST_press_release_bugs_cost.htm
[2] What is the cost of defects in software testing?
ISTQB Exam Certification.com - http://istqbexamcertification.com/what-is-the-cost-of-defects-in-software-testing/
No comments:
Post a Comment