What is Agile Backlog Grooming?
Backlog grooming is an agile product team event to make sure that the backlog is sufficient. In essence, the product team ensures that there are enough user stories in the product backlog which are prepared for spring planning. Backlog grooming is also known as backlog refinement, or backlog management, or story grooming, or story time. These events, or sessions, are recurring in nature.
Having backlog grooming sessions regularly helps to make sure that the team prioritizes the right stories. This way, the team has a good grasp over the complete product backlog. In these backlog refinement sessions, the product owners or managers explain the purpose of the prioritized stories to the team. The team is then in a position to be better aligned about the project purpose.
The things that the backlog grooming session tries to achieve are as follows:
- Refining the leftover user stories and removing the ones which are no longer relevant.
- Adding new stories based on the needs that are newly discovered.
- Breaking bigger items into smaller, easier tasks, or splitting user stories.
- Prioritizing the ones which are to be tackled first.
- Discuss the user stories with the team and answer any questions which arise so that there are no doubts
- Add contextual info and acceptance criteria to the upcoming user stories
- Occasionally, the scrum master estimates the user stories and assigns story points in these sessions.
- Corrections to the existing estimates based on the new info available.
All these items together work in shaping up the tasks and objectives for the next session. The key team stakeholders attend these backlog grooming sessions. To keep the sessions running well, too many people aren't a part of the meetings. However, all the important stakeholders are supposed to be a part of it. These include the core team representatives, product managers, owners, and QA, among others.
Origins of Story Grooming
Now that you know what Story grooming is, let's understand how the practice came into being.
The earliest known use of the term, 'backlog grooming' was on a Yahoo group in 2005. In that year, Mike Cohn, one of the well-known contributors of the scrum world, spoke of it on Yahoo. Specifically, this happened in the Yahoo Group, Scrum Development Mailing List. However, at this time the term wasn't well-defined and didn't come into use.
A few years later, in 2008, Kane Mar, a scrum trainer, gave one of the first formal descriptions of the term. He called it 'story time' and recommended that these should be implemented as regular meetings in Scrum teams.
Three years after this, in 2011, Backlog grooming became a part of the Scrum guide. Since then, it's been recognized as an official element of the agile scrum framework.
Who is a part of the Story Grooming sessions?
We've already mentioned in passing who is a part of these sessions above. However, let's understand the details here.
Who leads Backlog Grooming sessions?
Usually, the product owner or product manager facilitates the backlog refinement events. It's not limited to them, though, and the Scrum master, a project manager or another member from the team also occasionally leads the events.
Whoever leads the sessions has to assume the following responsibilities:
- Schedule the meeting and invite the right people, also make sure that they attend.
- Ensure that the team doesn't go off topic and is focused on the objectives.
- In case the team is stuck too long on a particular topic, then moving the conversation forward.
- Communicating to the team after the session is over about the necessary things.
Generally, these sessions take about 45 minutes to an hour. So, the lead has to also try to ensure that the meetings don't take too much time. They have to try to keep it short and efficient.
Who attends the Backlog Refinement sessions?
The story grooming sessions are collaborative discussions. For this, it is necessary to get inputs from various team members and to look at things from all viewpoints. At the same time, it's necessary to not overcrowd the meeting and invite only the critical members.
So, on a broad scale, these are the roles that attend the backlog grooming sessions:
- The facilitator or the lead as mentioned in the earlier section.
- The product owner and/ or other representatives of the product team.
- The entire delivery team or key representatives if it's too large.
- QA reps.
Preparation for efficient Story Grooming
The following is an idea on how to prepare for the agile story grooming sessions and what to include in them:
1. Keep the strategic objectives of the project in mind
At any point of the project, the ones working on it should keep in mind what the main goals of the project are. So, even when preparing for the grooming sessions, the high-level objectives of the project should be kept in mind. Everything should then be aligned accordingly.
2. Involve the right people in the process
We've mentioned above who the ideal people in the story grooming process are. You need to decide who are the best people to invite if you're the one conducting the meeting.
3. Sync up with stakeholders
Talk to internal and external stakeholders at regular intervals to get feedback. You do not need to invite them to the grooming sessions, but make sure to keep them updated.
4. Review work done and metrics
Since your team's working style could evolve over time, it's good to get an idea of what to keep and what to discard. Tracking and reviewing performance metrics helps with this.
Best practices for Story Grooming
The story grooming sessions aim to have a prioritized set of user stories for the team to work on. Agile practitioners usually try to obtain a 'DEEP' product backlog as a result of these sessions. This is what DEEP stands for:
D - Detailed Appropriately - Items should be stated in very clear terms so that the team and everyone involved have no issues in understanding.
E - Estimated - Teams should draw a good estimate of the work needed to deliver backlog items which are at the top.
E - Emergent - The agenda isn't concrete and changes over time. So, it should be easy to accommodate these changes.
P - Prioritized - Items are ranked according to their value and then taken up in order.