There is a growing need to successfully implement the Scrum practices in a distributed environment. Product Backlog refinement is an ongoing activity owned by the Product Owner. In a collocated environment, it is easy to improvise daily activities. When everyone is remote, however, it becomes difficult to do so and teams must be more methodical. The following techniques can help you conduct a successful product backlog refinement within a distributed team:
1. Hold a recurring refinement session via remote desktop sharing. I recommend holding it at least once a week at the same day and time to create cadence. Make the working session one to two hours long, depending on how many product backlog items you have ready.
2. Have a draft of the Product Backlog Items. The purpose of the session is to refine the product backlog items to a state of ready. This implies that a draft of the items already exists and that this time will be used to polish them. It is ok if the PO does not have all the answers, or the Development Team has questions, but the PO should try their best to have them as close to ready as possible.
Product backlog items that are ready for development usually include:
A clear description
An articulated value
An acceptance criteria
Priority order
An estimate of the effort involved (only the development team should estimate)
3. Socialize the Product Backlog Items with the Scrum Team ahead of the session. The team should already have access to the Product Backlog, so alert them as to which items you will be focusing on during the next session. I like tagging the items to easily identify them. This allows the team to familiarize themselves better with the items and make the most out of the refinement session.
4. Share and work from the Artifact during the remote refinement session. Some POs prefer the simplicity of an excel sheet during the session. I prefer to work off the actual Product Backlog artifact so that the teams become familiar with the actual items. Small things such as ticket numbers, position of the text, or even finding reference material can get in the way of productivity. Besides, it will save you the extra step of copying the changes to the PB.
5. Don’t forget to play, even if you’re in a remote session. "Planning poker" is a great activity to reach estimating consensus while considering everyone’s view. It is also a great way to have a little fun and build some social capital, which is needed now more than ever. There are many tools that allow you to facilitate team online estimates. I like pointingpoker.com because it doesn’t require a login. Simply send the participants a session number and you’re ready to get started. You may also use your instant messaging tool of preference, such as Slack, to simply have everyone vote. Just be sure to display the Fibonacci series and to count to three so that everyone submits their vote at the same time. This prevents the attendees from influencing each other’s votes.
6. Timebox each item refinement. It is easy to spend the entire session on a single product backlog item. In fact, it is likely to be the case in an online session since the body language queues are easy to miss. So, share a desktop clock for all to see and adhere to. How much time you allocate per product backlog items depends on you. Just be sure to allocate time to work through multiple items.
We are always looking for ways for our teams to improve, so please share additional tips that might help others execute an effective product backlog refinement. What other techniques do you use?
In addition, the Scrum Guide suggest that the development team should spend a maximum of 10% of their time assisting with product backlog refinement. By holding a two hour meeting per week to refine on cadence, the team still has another four hours left for ongoing refinement activities.