What I like about agile is that every team, especially the ones that have achieved a good maturity level, has developed their own ways of working—how great is that?!
However, when it comes to report effort required to develop a particular piece of work back to the business, things often get lost in translation. There are all sorts of techniques to estimate development tasks, but what’s the best one?
Let’s start with the assumption there’s no right or wrong, but just what works best for the team.
I’ve worked in an environment where they used to use different dogs breeds to estimate! For example, a user story that was a “Great Dane” did require way more effort than one that was a “Chihuahua,” and so on.
But what if, like me, you’re not a dog expert? In my work experience I’ve used different techniques and I found a few to be really effective and, most importantly, easy to understand even to non-technical people.
This technique provides a high-level view of the effort required to develop backlog items—it’s not 100 percent accurate, but gives a good flavor of how long it is going to take to deliver a story.
As you can probably imagine, teams can use this technique in their planning sessions to estimate if a a story is XS, S, M, L, XL or XXL.
Given the nature of this technique, it becomes quite easy, even for non-technical people, to understand the level of effort required.
Some teams would just use this level of estimate; others would get to a lower level of detail and after the t-shirt sizing exercise they would be more specific and assign story points to those stories.
Story pointing and poker planning
Applying points to user stories is the outcome of the so called “poker planning” exercise.
When the team gets together to estimate efforts against user stories to deliver, they may… play poker!
Each team member is given a set of cards with numbers on them, traditionally ordered from 0 to 21 using the Fibonacci series: 0, 1, 2, 3, 5, 8, 13 and 21.
Once a user story is read, everyone in the team would hold up the card showing the level of effort they believe this story represents. Discrepancies in the estimation may well occur, but after a while the team will get a sense of how much effort they all estimate is associated with a typical type of story.
Through this process, everybody on the team learns more about what’s involved in estimating stories both inside and outside of their specialties, increasing knowledge sharing across the entire team.
It’s easy to understand this technique is more accurate than the t-shirt sizing explained above, but it generally requires more time.
Each team would have different views on estimation.
For one team, one story may be an “S,” for another one the same story may be an “M.”
A team would estimate a user story as “3,” other teams would estimate the same story as “5.”
Teams operate in different ways, so there’s no right or wrong; what matters is consistency across each team and the rationale behind their estimation, so the business can appreciate and understand estimation.