DEV Community

Maximilian Koch
Maximilian Koch

Posted on

To reestimate, or to not reestimate, that is the question!

In agile processes, like scrum, we tend to estimate our work. Not by time, but by complexity.

What does complexity mean to me?

Complexity is something, that consists out of a variety of factors:

  • The clarity on what needs to be done.
  • The agreement of the team on how to tackle the task.
  • The knowledge of the team that is required to get the task done.
  • Third party dependency, which can't be solved by the team itself.
  • Time also plays a roll, as a very simple task can also be rather time consuming.

I'm sure that there are also other aspects on complexity.

Sometimes, we estimate a bunch of stories, but not all of them will make it any of the next iterations.

Here are two cases I stumble occasionally over:

Case 1:

Imagine that a story has been estimated with the complexity of 8, but still sits in the backlog for some time. A few iterations later, this story will finally make it in the next iteration. Since then, the team has learned a more about the previously estimated story and it seems like it is more/less work than anticipated.

Has the complexity of this story changed? Should it be reestimated or just left at the previous estimated complexity of 8?

Case 2:

Imagine that you have a story that needs to be repeated on regular bases. Something like: Release the kraken!πŸ¦‘ Before the releasing the kraken first, the story was estimated as a 3. After some time, the team has gotten more and more comfortable with releasing the kraken.

Has the complexity of releasing the kraken decreased? Should it be reestimated every time it needs to be done again or should it always stick to its initial complexity of 3?

Top comments (3)

Collapse
 
ccunnin297 profile image
Cole Cunningham • Edited

Estimates are just as much about unknown complexity as well as known complexity. As more information is discovered, estimates should change accordingly.

In Case 1, the actual task has not changed, but the known complexity has changed. This means that an updated estimate will be more accurate. In Case 2, the complexity has decreased because there are less unknowns and the task is much more predictable.

Collapse
 
avalander profile image
Avalander

What are you estimating for? If you want a prediction of when new features will be delivered, then using estimates that don't represent the effort that it will take for the team in its current state is not that useful, is it?