Requirements come in all forms.
These can include:
- Functional requirements
- Language requirements (you may need a system that has multi-lingual options)
- Performance requirements
- Accessibility requirements
- Usability requirements, and so on
There’s an entire discipline and multiple techniques for requirements elaboration but that’s outside the scope of this training.
For this, we’ll stick with more of a brute-force method: just listing what we require.
As you might expect, we do have some guidelines for writing requirements.
You don’t, for example, want to write a requirement that says:
“The system shall be easy to use.”
Your idea of “easy” is likely quite different from the person you’re sitting next to.
And you likely have a variety of user types and roles – how would this requirement relate to each of those?
Writing requirements is both an art and a science.
The ‘art’ is considering everything that needs to be considered.
The ‘science’ is crafting a proper requirement.
Here are some requirements quality attributes that, if you can meet, you have a pretty sound requirements base:
Is the requirement correct for your needs, all your users’ needs, etc.?
Can your requirement be interpreted differently, are they unambiguous?
Have you forgotten something important? Are your requirements complete?
Are the requirements consistent – both within an individual requirement and across all requirements?
Do the requirements paint a cohesive picture?
Can you demonstrate that the requirement has been met are they verifiable?