How to Prevent Estimate Inflation
I spoke with a Scrum Master recently who told me his team had nearly doubled their velocity in only two months. Rather than be happy about this, though, he was concerned.
He knew the team had not suddenly become twice as productive. In fact, he doubted they'd actually sped up at all. Yet their velocity showed they had.
The cause of this sudden and dramatic increase was story point inflation. Or, more generally, estimate inflation, because the problem can happen with estimating units other than just story points.
Estimate inflation is when the estimate assigned to a product backlog item (usually a user story) increases over time. For example, today the team estimates something will take five points but previously they would have called it three points.
Why Does Estimate Inflation Happen?
There are a few possible causes of estimate inflation. One of the most common, though, is excessive pressure on the team to improve or deliver more points per sprint. This often comes from bosses or possibly stakeholders outside the team who are pushing the team.
Velocity becomes a really tempting (but bad) metric in these cases and teams are pushed to demonstrate that they’re going faster by increasing velocity.
When a team is under pressure to increase velocity, team members will often start to round estimates up during story point estimate meetings (often done with Planning Poker). For example, consider a team that is debating whether a particular story is three or five points. They’re having a legitimate debate about this.
At some time during that discussion, one or more people will remember the team is under pressure to increase velocity. And some might shift in favor of calling the story five points instead of three.
I want to be clear this isn’t lying. It’s not blatant padding. The team was truly debating three versus five. And when someone remembers the team is under pressure, that person switches to favor five.
And so that story is called a five.
Now consider another story being estimated perhaps a week or two later. In considering the new story, someone compares it to the five-point story and thinks, “Well, this new one is a little bigger than that five,” and proceeds to estimate it as perhaps an eight.
And this is how estimate inflation happens.
How to Prevent Estimate Inflation
I’ve found the best way to prevent estimate inflation from occurring is to always compare the item being estimated against two (or more) previously estimated product backlog items. In my “Agile Estimating and Planning” book, I referred to this as triangulation, borrowing the old nautical term for fixing a ship’s location.
So, when a team thinks about estimating a story as five points, they would first compare that story to two other stories--ideally one smaller and one larger. In deciding if a story should be estimated as five points, they would compare the story to a three-point story and think, Will the effort to do this new story be a little more than this three-pointer?
They would next compare that story against an eight- or 13-point story. And they’d want to see if the story felt appropriately sized as five in comparison to one of those. These comparisons are shown in Figure 1.
Triangulating a 5-point story by comparing it with 3-point and 13-point stories.
When an item being estimated is compared to two or more previously estimated items, it helps ensure the internal consistency of the estimates.
Ideally we’d love to consider each estimate in comparison to all previous estimates. But that would be way too much work. Triangulating a story by comparing it to two others is generally sufficient.
If we think about the stories as nodes in a graph, triangulating can be visualized by drawing lines between each of the nodes the team explicitly compared while estimating. This can be seen in Figure 2.
Each story, A-F, has been compared with two or three other stories.
Here we see that product backlog items A and B have been compared to three other items each. Backlog items C through F have each been compared twice.
Triangulating Stops Estimate Inflation
Triangulating prevents estimate inflation because the use of two comparisons helps point out when estimates are beginning to inflate.
To see this, consider the team that is trying to decide between estimating a story as either three or five. Remembering they are under pressure to increase velocity, they decide to call it a five. And it may legitimately seem just a bit bigger than some other three-point stories.
But, when the team triangulates that story against another five or an eight, they’ll most likely realize that the story is not really a five.
There’s One More Good Way to Prevent Estimate Inflation
There’s at least one more very good way to prevent estimate inflation. But, since this post is already long, I’ll save that for the weekly tip I share each Thursday by email. If you’re not already subscribed, consider signing up now if you’re interested in learning more.
What Do You Think?
Has estimate inflation been a problem on your team? How do you handle it? Please visit my blog where this post was originally published to join the conversation (currently 35 comments as of today), here.
Organizational Peace Specialist | Interpersonal Communication Dynamics | Speaker | Trainer | Coach
8 年Fascinating conversation.
Product Leader
8 年Great thought process Mike but the accuracy of estimates in my opinion is an ultimate oxymoron. Estimation is only a internal instrumentation for developers to measure their velocity. It should never be a management tool to measure the efficacy of developers. Emphasis on estimation will only lead to wrong behavior, rather the focus should be on value creation and effectiveness of the Scrum team.
Agile Transformation Consultant
8 年Sorry Mike, but your Triangulation solution for 'estimation escalation' is like taking a gun to a knife fight. If story points are being padded due to "excessive pressure on the team to improve or deliver more points per sprint....from bosses or possibly stakeholders", then the solution involves educating your stakeholders, who need to understand that velocity cannot be compared between teams or sprints. If you're not taking on the proper servant leadership role of removing impediments then your team will cease to collaborate and continue to look for workarounds.
Lean Consultant/Trainer/Coach/Occasional boat builder
8 年I've seen estimation inflation many times in teams... Especially where velocity is measured and teams are perceived to be judged by it... Where I have faced inflation I've often tried to tackle it by splitting stories smaller and smaller or suggesting rules such as any story bigger than 8 is too big and needs to be broken into smaller stories...... I've been meaning to write my own blog article on the subject!!