In practicing within the Scrum framework, we hear that teams are to spend no more than 10% of their time on refinement activities. Refinement is meant to be an ongoing process of adding detail, estimates and order to items within the Product Backlog. If you are not working within the Scrum framework, you can consider refinement as a type of requirements gathering process. Regardless of your processes and practices, refinement helps teams to better understand upcoming work items and I have learned some useful strategies to help teams make the most of this activity.
First, the let’s cover the Definition of Ready. One of my previous blog articles covered both the Definition of Done (DoD) and Definition of Ready (DoR). The DoR is like a gate; work is not considered ready to be worked on until the conditions of the DoR have been met. The DoR may state that a work item must be small enough to be completed in a Sprint, have an assigned effort, and acceptance criteria that is understood by all.
Let’s dig into estimation further. I’ve worked with teams that have used effort points or hours to estimate the work. Effort points take into account risk, complexity, and time, while hours are sticking true to time to complete the work. I prefer effort points over hours because it tends to be more accurate and teams waste less time debating the exact number of hours they expect to spend on a work time and then relating that back to their capacity, in hours. Hours have a tendency of being an unrealistic estimation; there’s a need to be precise in this practice. With effort points, a modified Fibonacci sequence is a common practice in which each item is relatively sized to some baseline using the numbers 1,2,3,5,8, and 13. One way I explain how to effort work items is with a sandwich example, because food is yummy and easy to relate to. If you walk into a sandwich shop and ask for a turkey and cheese on wheat, that’s rather simple and not time consuming; we’ll call this our baseline of a 1 effort. Another day, you walk in and order three turkey and cheese with all the vegetable fixings; this will take longer and is more complex because now there may be additional slicing or finding your requested toppings in the back refrigerator, so perhaps this is a 5 effort. Another time you request a catering order for several colleagues to be wrapped individually with pickles and chips on the side. Again, a little more complex and time consuming in the assembly of this order and relative to the first two options is maybe a 13. It’s all a comparison and it’s all relative.
If you decide to use effort points, remember to avoid anchoring decisions; having all teammates vote at the same time helps avoid influence and peer pressure. The important part of the estimation assignment process is the conversation to understand each person’s point of view. If your team is co-located, you can make planning poker cards or purchase them online. Otherwise, for distributed teams, I like tools like PlanITPoker, so everyone can participate regardless of location.
Of course, I also hear about #NoEstimates in which the focus is on incremental and iterative delivery of customer value rather than on planning and forecasting with effort points that don’t correlate to the actual value delivered. This is a separate debate and still valuable to understand the options as you work with teams that use refinement. Whether you chose to pursue effort estimation or #NoEstimates, refinement activities provide valuable information to the team; refinement is built into the Scrum framework and, when used properly, takes away “exploration” or “research” Product Backlog items and additional meetings to gather data.