Written by: Jacqui Sealy – The Pro Forum Community of Practice
It is often a misconception that requirements can only be derived from client or stakeholder information, and that terms such as ‘business requirements’ and ‘user requirements’ are just terms that can be used interchangeably. Business analysts are often confused by the different types of requirements, particularly with functional requirements and non-functional requirements, and they do not understand what the requirements relate to and how they can be used effectively.
Fundamentally, a set of requirements is a list of what we need, or want, from the output of a solution. When we break down a set of requirements, we can often relate the requirements to a user requirement, business requirement, or a system requirement. That is, the requirement should be about how someone should use something, what an organisation would want it to do, or what we expect the system to perform that will determine the type of requirement it is describing.
It is important to note that the requirement should not be based around a specific application or brand-named product that will be delivered, but it should describe its features, performance, visual aspects of the solution, the quantity, or the quality of the product or service that will be delivered. People will often jump into brand names when describing a solution, such as ‘The system should PDF the report’, when it can easily be described as ‘The system should produce an uneditable report’. As soon as the brand or a specific product is described in the requirements, either explicitly or implicitly, the solution will be limited to the specified brand and will not provide alternate options that can achieve the same results. By describing what your expectations are of the output, will open more possibilities to other options, often cheaper options, that can achieve the same objective.
To fully understand the requirements of the solution, is to first understand why we need the solution, who it is aimed at, and what it will achieve when the project is complete.