Lately I see it a lot. Scrum teams who plan a session to look at the product backlog and the items in it. It is named a Product Backlog Refinement. It is always a great idea for a team to look ahead at what’s coming next and to be prepared. It the past it was knows as product backlog grooming, but for obvious reasons it was renamed. But often two things happen at a refinement.
The refinement is just to be prepared for the next sprint(s) and to get more insight for the PO so he or she can determine if the userstories are well defined and clear for the team. But do you need a refinement session? In a well organized and running team, every member should be up to date with the product backlog. There should be time to look at it during the sprint. And there should be a kind of ownership for every team member that ensures that everybody knows what is going on.
Often I see a refinement and the team is discussing on how they are going to build stuff. And I have even seen sessions where the team provides estimates. Sure it makes the planning session go a little bit smoother, but it is again a new meeting and it can be a tedious session.
Teams should communicate all the time about items in the current sprint and stay up to date with what is coming. Also the planning session is for new items based on insights provides by the review. The product owner can change the items in the product backlog bases upon information coming from the review. So a refinement session is a bit unnecessary. After all, thing may change so why look at things that are not sure.
Often a Refinement session is a great indicator that a team is doing Waterscrum. Dividing all the set work over various sprints and not take into account that things will change over time and keep the option to adapt to these changes.
Does that mean that it is not needed to look ahead together? No, it is mandatory that the team should know what coming up next. But it is not a planning session. It is not a how are we going to build it. And it is not to please the business. The idea that you can estimate all the future work is interesting but it is not Scrum. It is so management can keep deadlines and customers happy they way they did in the old days.
You can try to make it work, but if you really want to be agile and work with the flexibility that Scrum provides. And you work with delivering actual value. Solve problems as they popup. And build what is needed and not what is demanded. Then you don’t need it. But it demands from a team that they are all involved and look ahead together and own the product they build.
So refine, please do. But don’t make it about predicting the future. It is just to clarify things, nothing more. If a team needs this extra meeting, then there is something wrong with the communication, knowledge sharing and ownership. Refinement is to make user stories smaller by providing insight and knowledge, and nothing more.