The Bell Curve is our friend. In a recent post, I argued that in Scrum teams the story point estimates work very well because we will inevitably overestimate effort required for certain stories and underestimate effort for others. The net effect is that the overestimates will cancel out the underestimates in the long run.
But, there is something else that goes on in a Scrum team, that makes our estimates more accurate.
A Scrum team inspects and adapts. One way that happens is that as the team goes through sprint planning sessions over many Sprints, a shared understanding of “What a story point means” starts to emerge. The team develops an intuitive sense of what a typical 1 story pointer looks like; what a typical 2 story pointer looks like, etc. The team members may or may not be able to articulate it precisely, but it’s there.
This sense of worth of a story point is unique to a group. To me that’s exactly the reason why we should never compare the velocities of two Scrum teams.
But the fact that there is a shared understanding among the team members means that the estimates by different team members start to converge over several Sprint planning sessions. As the project progresses, the instances of “this-is-a-3-pointer-not-a-13-pointer” sort of conversation become rare. The team just knows what a 3 pointer means.
The variance of estimates goes down with time. You start getting similar estimates from different team members, which indicates that estimates get better over time.
And that’s another reason why story points work so well in Scrum.
P.S. Special thanks to my good friend Ahmadreza Atighechi for the thought provoking conversations that inspired this post.