Knowledge Center

Why Is It Important to Have Testable Requirements?

It is very important to have testable requirements in software projects. The reason is it helps to reduce development time by avoiding expensive software bugs in later stages of the software development life cycle.

The Price to Correct a Software Bug

The price of correcting a software defect is lowest in the requirements stage. The reason is there are not so much deliverables at the start of a project to fix if a defect is detected.

As soon as the project moves into posterior stages of the development of software product, the price of correcting a bug increases extremely, since there are more deliverables influenced by the fixing of every bug, such as a design document or the code itself.

The Price to Correct a Software Bug 

StageCost Ratio
Requirements1-3
Design3-6
Coding10-12
Unit Testing15-40
Acceptance30-60
Testing45-10000
Production>10000

 

The Dispensation of Software Bugs

According to the statistics main reason of 50% of all the defects found in projects is a result of bugs introduced in the requirements stage.

Approximately a half of bugs rooted in requirements are due to poorly written, equivocal, unintelligible and wrong requirements. So there is plenty of room for betterment for writing distinct, brief, unequivocal and complete requirements.