Should you estimate tasks with story points or using time units? Here are my thoughts.

When working in agile teams, typically with scrum, I am use to estimating stories. I commit to a sprint and I am confident my team will complete the stories based on those estimations and our velocity. The teams velocity is measured, not each individual within the team.

So far so good, but my experience is that there are 2 different opinions on how to do this.

Story points

When using story points:

  • The complexity of stories is estimated.
  • Velocity is measured as average story points completed per sprint.

I often experience that we don't agree on what we mean with complexity. I would argue that this only works if you assume everyone has all the knowledge needed. It is just as complex regardless of who will work on it and what knowledge they might have.

Time units

When using time units:

  • The amount of time needed to complete stories is estimated.
  • Velocity is measured as average estimated time units completed per sprint.

Each member guesses how long time they would need and we take the average of that as an estimate.

I often experience that we optimize the sprint by talking about who will implement what stories during the sprint. And the time units are lowered as we estimate how much time those individuals will need. The "team" becomes more a of a "group of people", not a team. Knowledge is not spread within the team.

Conclusions

No matter which alternative you pick, you can never tell how long time it will take for one member of the team to complete one story. We are all different with different knowledge and specialities. We don't measure velocity per member of the team, we measure per team.

I prefer story points because:

  • It is clear that we only talk about time units on a team level, not on member level. We don't know how much time will be needed for one individual to complete it.
  • The time needed to complete an individual story will always depend on who is doing it, the complexity will not!
  • Stories can be estimated and later moved to another team, without need of re-estimating it.