Once requirements are gathered through different elicitation techniques, further it need to be prioritized so that the Development team can start working on it based on the queuing of the requirements and start development process.
Prioritization is nothing but setting the priority of the requirement provided by the client on their inputs. Once the priority is set after discussion with the stakeholders and client it helps developers to work on the most important requirement first and then move to the next requirement for development based on the prioritization. Prioritization of requirement helps in setting the roadmap for the development process. It helps the developers to plan the future development based on the requirement priority of stakeholders and client.
Factors that influence requirement prioritization are:
- Importance: What importance the requirement plays in the entire requirement gathered.
- Risk factor: What are the risk factors involved for developing the requirement, if risk is there what level of risk is there, and what are the ways to manage the risk factors.
- Cost of development: It also play very important part in requirement prioritization; stakeholders will look for how much cost is required to develop the functionality.
- Benefits: Stakeholders will consider what types of benefit it will produce to the end users. If it is of high benefit, they will consider that functionality on priority.
- Time: Stakeholder will also consider the time taken to develop that functionality
- Strategy: What strategy is required to develop the functionality. Is it highly complicated functionality and required high level of attention or not.
Three main actors who participate in requirement prioritization are:
- Customer
- Developers
- Business owner
Different types of requirement prioritization techniques used in Business analysis are:
- MoSCoW – It is a prioritization technique used in business analysis and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement, it is one of the most used prioritization techniques in the industry
MoSCoW stands for must, should, could and would
M- Must have this requirement to meet business needs
S- Should have this requirement, if possible, but project success does not relay on it.
C- Could have this requirement if it does not affect anything else in the project.
W- Would like to have this requirement latter, but it won’t be delivered this time
- Top 10 Requirement– In this prioritization technique, requirement need to be prioritized from scale of 1-10 where 1 being low priority – 10 being high priority Requirements after discussions with the stakeholders.
- Numerical assignment– Mandatory, very important, rather important, not important, does not matter
- 100 Dollars Test– Under these 100 dollars test each stakeholder are given sum of 100 dollars bills to distribute between the requirement. 100 dollars can be distributed in a way that the stakeholders desire. The highest dollar currency requirement will be queued top in the requirement after the discussion.
As a BA, our main responsibility is to work closely with the stakeholders and once the requirements are gathered it should be prioritized with any of the above prioritization techniques, we need to collaborate with the developers and other stakeholders to come up with priority for the requirement. Once the requirement is prioritized then only we should move to validate the requirements.