Story Points, So Many Questions
@tonfrazi54 likes to push my buttons sometimes. He knows what my opinion is about how and why teams should estimate stories. So I get a text from him today, asking me what I think about Do Story Points Relate to Complexity or Time?. I'm compelled to bite. I can help it, but meh, it's easy to post things to the internets.
I field many questions from people (I had someone asking me today) about what story points represent and the criteria that defines them. When there's a lack of guidance on a team to help with the planning session and estimating level of effort (LOE) for stories, individuals almost always resort to using time as a criteria for estimating [just based on my experience].
I Understand Why (I think)
Time is easy to visualize and grok. And people estimate things all the time, no pun intended. If I say a story is 8 hours, I can set my watch to it, literally. It's easy to fall into this trap, and it IS a trap. Because it leads to bad behaviors, specifically, it enables people who are not part of the team to set expectations about timelines with external stake holders who don't routinely participate in the team's daily stand ups or other meetings. And that creates opportunities for misalignment, which is almost always the problem. IMHO, misalignment is always the problem.
Story Points Represent Level of Effort
Regarding the Do Story Points Relate to Complexity or Time article, I feel the same about the gist of what the author is trying to convey. Story points represent effort. But that's easy the say. So much so that I say it all the time. And yet I still field questions about what story points represent.
Whhhhhhhhhyyyyyyyyyyy Is It So Hard?
I think it's because "effort" is ambiguous in the context of estimating work. To add to it, it's relative and subjective to the person doing it. The level of effort for a 20 year veteran developer to build a new web app is low, especially compared to the level of effort for a 1 year developer to build one. And what's the LOE if they pair on it? Is it low or high? See how things can quickly change the LOE?
The point I want to make is that it's ok that people have questions about what represents a story point. Since a story point is ambiguous, it forces collaboration amongst the team.
It Forces Collaboration (forcing function)
Gonna say it again. It provides a forum for collaboration. A mechanism for us to talk about the work. We talk about work. How to build software. What dependencies we have. How we're going to test it. What the value of the work is. It does all this because it's ambiguous, relative. And all that stuff creates an environment where teams can create good products. And at the end of all that discussion, when the team has finally reached alignment, it provides a number with which the team can use to prioritize it. BAM! That's the power of it. That's why you see lots of teams doing it. Because it creates an environment where value just magically appears!
Story Points Represent Level of Effort
So while I agree with the general sentiment of that post, that story points represent effort; I feel like we can't just stop there. People need more than just "it's not time based" or "it represents effort + risk + complexity". Yes, yes, yes, to all those things. You should talk about how much time you think developing that story will take. You should talk about the complexity, the risk, dependencies. That's WHY we practice the Level of Effort discussion when planning. So that we can root out, as a team, in public, with everyone, the complexity, the risk, dependencies, and yes, even the amount of time that it might take. I guess in summary, I'm saying that story points represent ALL of those things and anything else that the team discovers when they are discussing Level of Effort. And that is it's purpose.