Agile Estimations (How to Ship On Time by Dave Todaro)

4 Sherpas took an adventure to Toronto for the Full Stack Toronto Conference 2015, these are some of the things they learned...

 

 

As with most irritations in life, certain ones never change: “When is dinner going to be ready?”, “When are you going to get here?”, and my least favourite, “How long will completing this task/project take you?”

The easy answer – “I DON’T KNOW.” There are too many variables involved to give you a straight answer, and only when you are an old, tired developer will you be able to look at something and say, “2 days, less if I don’t eat lunch.”

We all know that “idk” is not an acceptable response for anyone who pays your salary so you have to give them a number. And this number you give them is a promise that you will try to uphold when it comes to completion.

So how do you get that number?

Cohn scale estimations and the cone of uncertainty to better represent time estimations.

People are inherently bad at judging quantity and measurements. Guessing the volume of a glass is nearly impossible; however, judging relative size is much simpler. A small glass holds less than a medium glass, and a medium glass holds less than a large glass, and so on and so on and so on.

The Cohn Scale is a method of applying relative size values to tasks or user stories instead of assigning time to them. Therefore, something is no longer 3 hours to complete, it’s an 8 or a 5.

 

/_uploads/images/contenthub-posts/08-2017/graph.png

 

The scale ranges from 0.5 to 100 and encompasses upwards of 50% “forgiveness” in either direction. This means that a 5 could be a 3 or it could be an 8 in actuality. But in the grand scheme of things, this is an allowable level of “failure” since Laws of Average dictate balance throughout project sprints (that 5 was actually an 8? no big deal, all those 3’s were actually 0.5’s – Saul Goodman!).

Democratically these points can be assigned to user stories. There is a method called “Planning Poker” that works as a table meeting where (almost) everyone involved selects the value they believe the story should take, and discuss why they believe this – then if there are any differences, they do it again until a single value is selected for the story.

However, if you are a lone wolf, give it your best guess based on previous experience with the story, have you done anything like it before? Have you already developed something that you can steal from? Is it a trivial item that will easily get done while you eat lunch or will it be something that you will have to research first?

Once you have all your stories or tasks assigned with story points, you can now continue.

 

 /_uploads/images/contenthub-posts/08-2017/cone.jpg

 

The cone of uncertainty is nothing like the cone of shame, and unless you are a Gypsy Fortuneteller, you have no real clue how things are going to pan out for anyone. The only true certainty is that nothing is certain. And if anything, Murphy’s Law is going to present itself in your project scope somewhere.

 

/_uploads/images/contenthub-posts/08-2017/cohn-cone.jpg

 

The cone was developed back in the 80’s and it shows how closely you can estimate given the current stage of development. This has been altered slightly to adapt to Agile management procedures since it was originally designed with Waterfall management in mind and now uses sprints as markers instead of stages.
Early sprints will have the widest range of uncertainty whereas later sprints will be more accurate. It’s pretty simple really. At the beginning, you know nothing – later on, you gather all that time + XP and you know when you are done.

 

/_uploads/images/contenthub-posts/08-2017/formula.png

 

Let’s get to that number already. This is the formula, by substituting the uncertainty value with both sides of the cone you get your lower and upper values. Put together how many story points you can do within your sprint length, tally up the remaining story points for your velocity, and start calculating.

And that’s pretty much it. Report back with the range of time it will take you, and this is the best estimate you can give. The only way to get any narrower is to start working on it.

Related Posts