How to prioritize requirements

As a Business Analyst, one of your main tasks would be eliciting requirements.

Requirements elicitation is the defined as the gathering of information from the stakeholders to identify the solution’s requirements.

Once the solution’s requirements have been gathered, they would need to be analyzed, documented, verified and validated.

Once these tasks have been completed, then the requirements are ready for the development team to use in the solution’s design.

But how do you prioritize the requirements to ensure that you chose the right ones first ?

Requirements are prioritized to rank them in the order of their importance.

Requirements have to be ranked to determine their level of importance to both the solution and the stakeholders.

The Requirements can be ranked based on their relative value or the order in which they are to be implemented.

So how do you rank the requirements ?

There are some tips that can help you with requirements prioritization and they include the following:

  • Identify the basis for prioritization: to help would the requirements prioritization, the stakeholders would need to identify those basic requirements that the solution absolutely needs to have.

Some factors which can be used as the basis for prioritization include the following:

a. Benefit: would the requirement fulfill a specific functionality, quality, goal or business ?

b. Penalty: what are the consequences of not fulfilling the requirement. Examples of such consequence include not meeting regulatory obligations and policy demands.

c. Cost: what are the resources and effort required to implement the requirements ?

d. Risk: what is the chance of not being able to fulfill the requirement ?

One factor which can increase the requirement’s risk include the level difficulty associated with the requirement’s implementation.

e. Dependencies: Is there a relationship between the requirements, where one requirement cannot be implemented without the other.

If there is, then these requirements might have to be implemented together to make the process more efficient.

f. Time sensitivity: are there some requirements that have to be implemented by a certain date to fulfill the business need ?

If so, then those requirements might have to be implemented first to meet the deadline.

Some of the reasons why a requirement might be time sensitive can include time-to-market to beat your competitors and regulatory obligations.

g. Regulatory or policy compliance: do the requirements have to be implemented in a certain order to meet with the regulatory obligations of the organization ?

If so then these requirements would have a higher priority than the other requirements.

h. Stability: would the requirement need to be changed during the life cycle of the solution ?

If so, then that requirement is considered less stable and it might have a lower priority than a more stable requirement.

How easy is it to prioritize requirements ?

While prioritizing requirements is important for the solution’s success, it is not always an easy process especially if you have numerous stakeholders involved in the project.

That is why in the Agile Methodology, the Product Owner is responsible for requirements prioritization.

The Product Owner would have the list of validated requirements saved in the product backlog and would continuously prioritize these requirements during the backlog refinements activities.

These prioritized requirements would be assigned to the right development team member to be implemented in the solution.