The Scrum aims at delivering maximum business value in a minimum time span. One of the most effective tools for delivering maximum value in the short duration of time is prioritization. Scrum, uses Value-based Prioritization as one of the core principles that drives the structure and functionality of the entire Scrum framework-it helps projects benefit through adaptability and iterative development of the product or service. More significantly, Scrum aims at delivering a valuable product or service to the customer on an early and continuous basis.
While prioritizing, following three factors are considered:
- Value
- Risk or uncertainty
- Dependencies
Thus prioritization results in deliverables that satisfies the requirements of the customer with the objective of delivering the maximum business value in the least amount of time. During prioritization risks and various performance issues will be closely analyzed, giving an early visibility regarding various problem areas which would surface later in the project.
The Product Owner is responsible for getting the Product Backlog ready and prioritizing the items in the Product Backlog. Once the Product Owner has received the business requirements from the customer and written these down in the form of workable User Stories, he needs to work with the customer to understand which all requirements are of maximum business value and needs to be accomplished first. Such user stories would take the top spot(in terms of priority) in the product backlog. The Product Backlog items should be ordered in such a way that the requirements with maximum business value would be completed first.
Sometimes, a customer may insist all User Stories to be of high priority. While this might be true, even a list of high-priority User Stories needs to be prioritized within the list itself. The Scrum Master and the development team will use the Product Backlog as the basis for planning the Sprints based on the priority of the items listed. The Scrum Team also informs the Product Owner about any dependencies that arise out of implementation. These dependencies must be taken into account during prioritization. Dependencies limit the freedom to prioritize the product backlog and therefore dependencies should be sorted out wherever possible.