Availability Guide for Application Design

Minimizing Programming Errors
Availability Guide for Application Design525637-004
9-8
Development Methodology
development phase. A defect found in production typically costs about 100 times what
the same defect would cost to fix had it been caught during development—and that
does not include additional costs of lost services or revenue or loss of reputation
caused by the defect.
With these cost escalations in mind, the following development and test cycle places
emphasis on testing for and fixing defects or coding errors as early in the development
phase as possible:
1. Specify and review the requirements
2. Specify and review the design
3. Incrementally implement the application while unit testing
4. Perform NonStop testing, power-fail testing, error-path testing, and other
high-level testing
An overview of each of these phases is presented on the next few pages.
Under tight scheduling pressures it is tempting to skip some of these phases. Doing so,
however, typically leads to expensive fixes later in the development cycle, in addition to
time delays for analyzing and fixing defects. Overall, it typically takes longer to
complete the development cycle if any of these phases is skipped or given inadequate
attention. Moreover, skipping phases is likely to introduce defects into the application
that might not be caught during the later test cycles where it becomes impossible to
check every path. To achieve high quality in your application, all phases are important.
Some formal review procedure, such as using formal inspections, should be used at
each phase in the development cycle to make sure that nothing is overlooked and that
you pass the best quality possible on to the next phase. A formal inspection involves a
team of peer reviewers who, after reading all related documentation, meet to visually
test a document or piece of code against a checklist of potential errors.
To make a review of each phase possible, you need quality documentation; that is,
requirements specifications, internal and external design specifications, test
documents, and so on. Additional benefits from writing this information down include
Figure 9-1. Relative Costs of Fixing Defects
$X
$10X
$100X
Development
Quality Assurance
Production
VST801.vdd