More Tips for Writing Requirements
Following on from an earlier post (see Tips for Writing Requirements), here are some more issues to keep in mind when documenting requirements.
Correct
You need to ensure that the captured requirements accurately reflect the true business need. This is an important consideration not only for the content of the requirement but also for the way it has been documented. Sometimes, analysts are guilty of capturing a requirement in such a way that it later causes confusion or misunderstanding. They also sometimes make assumptions about what the requirements need to include. This is simple to remedy though, simply have the user representatives inspect the documented requirements to ensure they really are correct.
Complete
When working on a waterfall project we must endeavour to collect all the requirements in the early stages of the project. We need to ensure that our catalogue is as complete as possible so that requests for changes are minimised during the latter stages of the project. We can use a wide array of analytical tools to expose gaps in the requirements (e.g. business process modelling, user interviews, observation, etc) but as above the most important thing to do is have the user representatives inspect the documented requirements. Spotting missing information is difficult (because it is not there to spot!) but we can help reviewers by arranging the requirements in a structured and hierarchical manner with groups of related requirements listed together. Also ensure that missing information we know about is highlighted (use of TBC or TBD is recommended).
Prioritised
Ensure the stakeholders assign a priority to each requirement. This helps with prioritisation of development, dealing with budget cuts, integrating new requirements, etc. You could prioritise using: with high/medium/low options; with a numbered scale (e.g. Fibonacci); or with MoSCoW (Must have, Should have, Could have, Won’t have).
Consistent
The last thing we need is conflicting requirements. Remember when updating a requirement to double check any related requirements to ensure that they also don’t need to be updated. If you have a large requirements document, conflicting requirements may not become apparent until they are discovered during development.
Granular
Ensure that each documented requirement is in fact a single requirement and not a in fact a narrative containing multiple requirements. Use of conjunctions like “and” and “or” suggest several requirements may have been combined. Ensuring we have this level of granularity will make editing he document much easier (e.g. removing or adding requirements). If we don’t have every requirement stated separately, a likely consequence is that readers may miss some of these requirements when reviewing.