We’ve written before about several characteristics of well written requirements, and one of those characteristics is testability. Ahamad has written an list of 10 tests of requirements, with an emphasis on assessing the testability of the requirements. The testability of the requirement determines if the resultant product can be tested to determine if it meets the requirement.
Measurable Requirements
Before you can write a test of the software, based on the requirements, you have to make the requirement testable. Why?
Writing requirements without acceptance criteria introduces risk into our project. The last thing we want is to enter into a nitpicking discussion about what we have and have not delivered. We would much rather spend that time discussing what we can deliver next.
Ahamad points out another benefit of (and tactic for) engaging with stakeholders to define acceptance criteria.
To find the quality measure we ask: “under what circumstances would the system fail to meet this requirement?” The stakeholders review the context of the system and decide that they would consider it a failure if…An attempt to define the quality measure for a requirement helps to rationalise fuzzy requirements.
By defining the test, you force the critical thinking required to define good requirements – requirements that are both verifiable. You also explore the justification of the requirement, creating an opportunity to apply the critical thinking needed to map the requirement to the goals that it supports.
Requirements Tests
Ahamad starts his list of requirements tests as a method of inspecting the requirements to assure that they are verifiable. His list goes on to address some other issues commonly faced with writing requirements well. It is a good approach to thinking about requirements – and it is a good idea to think about how you would inspect requirements.
While we don’t think his list represents a comprehensive checklist for assessing the quality of the requirements, it is a great way to think about how you would inspect a requirements document. It will inspire a future article about how to inspect a requirements document.