One of the main reasons why many organisations choose Agile for developing their projects is because Agile principles focus upon quick delivery of shippable product features. Of all Scrum artefacts, the product backlog is the most important since the entire business value in the project is captured in it, in the form of user stories. It is, therefore, important to keep it updated and groomed at all times so it can reflect a true picture regarding what features are going to be included in the release and how long the release will take. New features in the form of stories may be added from time to time as new end user requirements come to light. And details need to be updated in the product backlog from time to time as the scope and acceptance criteria of stories become more clear and precise. The product backlog refinement process, also known as backlog grooming, should be therefore carried out regularly by the team and the product owner.
Here are a few recommendations for managing your product backlog.
1. The product vision should always be kept in mind whenever new stories are added to the product backlog or existing stories are updated with acceptance criteria and/or other details.
2. As far as possible prioritise the backlog on the basis of value, priority, dependencies, and risks i.e. all important parameters rather than a couple of important ones like priority and business value.
3. Even though the product owner is primarily responsible for the creation and upkeep of the product backlog, the entire team should contribute in the refinement activity and help the product owner in maintaining the backlog.
4. Each team member should be able to access the product backlog at all times and have sufficient user rights - in case a Scrum tool is used - to update it as per need.
5. Based upon the organisations work processes and HR policies, the product backlog should be ideally shared with stakeholders and end users to avail their feedback.
6. Try to limit the product backlog in size so it can be easily groomed and managed. Do not keep on adding stories to it, or let the stakeholders add them if you are sure that the stories have no business value or dependencies.
7. If you are using a computerised
Scrum tool make sure it supports proper features to add new stories, manage existing ones, and effortlessly maintain the product backlog. Preferably, the features should include drag-and-drop functionality which can aid in the refinement activity.
8. Use the DEEP method - detailed, emergent, estimated, and prioritized - to manage the product backlog.
9. Stories should be groomed as per the INVEST principle - independent, negotiable, valuable, estimable, small, and testable - to ensure they are of high quality.
10. Keep sufficient number of stories properly groomed so not much work is needed to take them up for the upcoming sprint planning sessions. Ideally there should be enough stories to accommodate two sprints.
Typically, large sized projects include numerous stories, and if the bulk of those stories are not properly grained or detailed, the refinement activity could consume substantial amounts of time. In actual practise, the product owner and the team often don’t have access to, or cannot avail all relevant details to state the acceptance criteria and the DoD for some of the stories when
they’re added in the product backlog. In such cases, stories have to be updated at a subsequent time when the details are made available to the team. This can create issues and time constraints since the team remain dedicated in its efforts to achieve the sprint goal, and therefore cannot spend enough time grooming the stories. Consequently, the stories cannot be made “ready” in time for the sprint planning sessions and a lot of important time is wasted grooming the stories during sprint sessions. This can reduce efficiency levels and affect the team velocity since team members are forced to spend time in preparing the stories for the sprint rather than developing them.
A possible way to overcome such issues is to make use of
tried and trusted Scrum tools
which can help to speed up the Scrum process. Prioritizing the product backlog as per business value is one
of the most important responsibilities of the product owner and the tool should offer dynamic backlog management features which can let you
create new user stories and tasks "on the fly". Using drag-and-drop features, user stories should be easily manageable and the
product backlog refined without spending excessive amounts of time. A good quality scrum tool should support some common features:
• Create new and update existing user stories
• Define acceptance criteria in stories
• Set priority of stories
• Break down
stories into tasks
• Manage large stories or epics
• Prioritise the product backlog using drag-and-drop features
• Sort stories
• Search stories based upon unique criteria
• Allocate resources to tasks
Attach documents, images, or files to stories
• Remove user stories