During the course of a sprint there is a Product Backlog Refinement meeting. This meeting should be held on at least a weekly or bi-weekly cadence, usually about 10% of time during your sprint. The scrum team and Product Owner should discuss how much refinement is needed to ensure the backlog is about 1-2 sprints refined out and the team has enough work to pull into sprint if they needed to.
The entire Scrum team should attend refinement meetings. This should be a collaborative session where team members are all participating and getting aligned on the details of the upcoming backlog items. The product owner will facilitate the meeting and communicate what the priorities are for the upcoming sprints. The scrum master will keep the meeting moving toward its intended goal. The team will define and estimate the work necessary to fulfill the backlog item to the definition of done. The entire team will review or add to the acceptance criteria and get to a point where the backlog item could be pulled in to begin work. Sometimes it might make sense to task a backlog item out in refinement so it is able to be pulled in or ready for the next sprint planning.
Refinement should total about 10% of time during your sprint. There may be sprints where you need more or less depending on what’s coming up in the backlog. If backlog items are unclear, speak up and let the team know. This is a chance for everyone to ask questions and brainstorm the implementation together.
The product owner and stakeholders should be working together prior to refinement in order to establish the order of priority and vision of the product. There are many techniques to help with prioritization if that is a challenge for the group. If the priorities are not clear, ask! Alignment as a team on the priorities for the upcoming sprints will give understanding as to what goal the team is working towards.
This is an indication that there is not enough refinement during the sprint cadence. Talk as a team, especially to the product owner and scrum master, and schedule additional refinements to get into the details of the feature. By doing so, there will be less back and forth, churn and frustration during the sprint when the work is being done.
Similar to the previous pitfall, only involving a subset of the team can cause details to get missed and lack of understanding of the goal for the backlog item. It’s important to have everyone who is working on the feature to be present during the meetings. It will draw out risks, clarify additional requirements and fill in gaps so the entire team can be as efficient as possible once the backlog item is pulled into the sprint to begin work. Additionally, it is important to incorporate stakeholders and feedback when it makes sense. For example, if there is a large feature coming up that is a high priority by the stakeholder(s), it would be beneficial to get everyone in a room and refine the feature together.
If nothing else, remember that refinement is a collaborative effort for the entire team building the software. The goal is to make improvements to the backlog and decompose the highest priority items so that the team can begin work.