Textual requirements specifications are full of text, but also numbers. We tend to think that the most important content of a requirements specification are the actions expected as the translation of the high level needs, the main systems and subsystems after a system decomposition, stakeholder names… but we also find numbers on such documents.
Therefore, in the same way you take care of the proper use of all the aforementioned concepts (actions, stakeholders, system elements…) you also have to take care of the proper use of your numbers.
Here are some tips on how to properly use numbers in your requirements specifications:
- If you want your requirements to be verifiable, always use units with your numbers: “The system shall connect to GPS Satellites, it must connect to at least 4 in less than 10 seconds” could be understood by humans, but should be improved as “The system shall be capable of connecting to GPS Satellites, at least 4 satellites shall be connected in less than 10 seconds”
- When the units are for length, weight…. Please use those metrics consistently all along your project; meters and yards are commonly not welcomed within the same projects. See How to set up consistency metrics with RQA
- If possible, use ranges to make those numbers more “verifiable”. E.g. “When the car is stopped for more than 20 seconds, the oil temperature shall be kept in 80º Celsius +/- 5%”
- Don’t use very large ranges “… +/- 90%” or “… 10 +/- 8 seconds”… are not good ranges!
- A number is always better than other quantifiers: “some”, “most”, “a few”….
- A number is also better than some adverbs. For example “… in less than 5 seconds” always better than “…rapidly”
- Avoid expressions such as “100% reliable” unless you’re sure that this “100%” is achievable and verifiable
- Some verbal structures (reduce, increase…) can sometimes be further qualified with a number: e.g. “When the temperature is greater than 90ºC, it must be reduced rapidly” is not a good requirements “… it must be reduced until 65ºC +/- 5% in less than 10 seconds” or “When the temperature reaches 90ºC the freezing system shall operate for 10 seconds”
- If some magnitudes (e.g. speed) are referred in two different measurement systems (e.g. miles per hour and kilometers per hour), you must do it consistently and concisely. That is, if your company/project agrees on this way of dealing with speed “The ABS system shall be disabled when the speed of the car is below 5 mph (8 km/h)”, check that:
- You don’t miss the “km/h” reference in other requirements
- You’re not too verbose on that; avoid rambling like in “… 5 mph (what according to the conversion rate is around 8 km/h)”
- You always write these two units in the same order, avoid “… 8 km/h (5 mph)” if you use “… 5 mph (8 km/h)” in the rest of the document/project
- You use a calculator, avoid wrong calculus as in “… 5 mph (52 km/h)”
The Requirements Quality Suite (RQS) includes a number of out-of-the-box metrics to deal with the proper use of numbers in your specification. RQS metrics can also be complemented with a number to parameterized or pattern-based metrics that can even extend the capabilities for checking numbers in your requirements documents and requirements specifications.