“How long will it take for you to complete this?” — It seems to be a pretty common question that is asked of us. Truth be told, when technical team members are asked this question, our answers are so far from confident because there are so many variables that can derail a time estimate. I’m not sure about you, but I know I have been in a situation where I have given a time estimate that I couldn’t deliver on and it upset people.
What’s worse is that when you do give a time estimate, the receiving person doesn’t understand how that time estimate fits in with the rest of your workload. Just because you say 4 hours time, doesn’t mean it is going to be completed by tomorrow. So how do you estimate how long your work is going to take? Story Points!
What is a Story Point?
A story point is simply a unit of measure to determine how much effort a given task (or story) requires to be completed. The higher the effort, the higher the story point. The lower the effort, the lower the story point. Instead of estimating in absolute value (minutes, hours, days, weeks), we estimate in relative value (1, 2, 3, 5, 8, and so on). Let’s put it into perspective.
Look at these two dogs. Can you tell me exactly how much each dog weighs?
Of course, it would be impossible to tell exactly how much each dog weighs. Therefore, an absolute value (exact weight) is impossible to determine. Now answer this question: Does Dog #1 or Dog #2 weigh more? It is much easier to come up with an answer.
This is called relative estimation. We can use relative estimation to judge how big or complex a task is with respect to all of the tasks. The unit of estimation we can use is called a “Story Point.”
To answer our previous question, we could say Dog #1 weighs more than Dog #2 and we could assign a higher story point to Dog #1 (Lets say 10) and a lower story point to Dog #2 (3, for example).
Using story point estimation allows you to remove any emotional attachment to a task. If you tell someone that you estimate something to take you 4 hours of time, but it actually takes 30 hours of time, then what do you tell that person? They’re going to want to know why you took more time than planned and then it starts feeling like you’re coming up with explanations that are viewed as excuses. It just doesn’t feel great for either party involved.
Story point estimation removes this emotional attachment by removing the link that we have towards time.
Story Point Deep Dive
Because story points estimate the amount of effort for a given task, you have to take into consideration everything that can impact the effort. There are three major considerations that can impact the effort: Amount of work, complexity, and risk/uncertainty. Lets take a look at each one of these and see how each one could impact the task of “Folding a stack of papers”
Amount of Work
Consider the amount of work a task will take. Looking at our task of “Folding a stack of papers,” less work would be a stack of 10 papers. More work would be a stack of 100 papers.
It’s very easy for complexity to start getting out of hand and I have found that if your requirements are not well defined, the complexity will grow over time. It’s important to have your requirements well thought out well in advance and not allow scope creep to take over. Low complexity would be folding the paper in half. High complexity would be folding the paper into an airplane.
If you’re unsure on how to do something, or its your first time doing something on your own you would have more risk/uncertainty to that task. Also consider the person requesting something from you. If someone said, “I need you to fold a stack of papers but I’m not sure how many times they should be folded,” that increases the risk. Unclear expectations or scope will always drive risk and uncertainty up.
The Fibonacci Sequence
The Fibonacci Sequence is a sequence in which each number is the sum of the two preceding ones.
You will notice that any number in the sequence is the sum of the two preceding numbers. The sequence can go on forever, but this sequence is popular in using the values for story point estimating. For the purpose of story point estimating, you can drop the first two numbers because they are redundant. Here is the sequence that I personally like to use:
To determine your story point value, you have to think about everything that can impact the task. I like to start with Uncertainty. Think about how much certainty you have in how to accomplish the task. You need to consider your own abilities and the requirements of the task.
For example, if you are uncertain about all the requirements that are needed to accomplish the task, you would want to rate your uncertainty higher. Likewise, if you are doing something you have never done before, the uncertainty would be higher as well.
Let’s say you’ve been tasked with increasing a product’s dividend rate by 0.500%. This is something you do on average 3-4 times per year so you know exactly what you’re doing. You know the exact requirement of taking the existing rate and adding 0.500% to it. You’re certain you can accomplish the task easily and you’re certain you have all the requirements, so your uncertainty is rated none to low.
It is crucial to understand the complexity of a task. You’ll remember that we had three categories that we need to worry about: Uncertainty, Complexity, and Amount of Work. Personally, I group Complexity and Amount of Work together. The more work there is, the more complex it is. The more complex it is, the more work there is.
Assume you’re estimating the task to Implement the latest version of an application. A lot will go into this, even though the task is just a simple statement of what needs to be done. You don’t just implement the latest version of something; there is a lot of planning, preparing, and work to do to make it happen.
How about estimating our previously mentioned task of increasing a product’s dividend rate by 0.500%? The complexity of that is very simple — you’re just updating a single parameter of a product. It doesn’t even compare to how much work is involved with upgrading an application to the latest version.
Story Point Matrix
As you begin story point estimating, it’s incredibly helpful to have something to help guide you in estimating. Enter the Story Point Matrix.
By estimating Complexity and Uncertainty, you can find a story point value based on the Fibonacci Sequence.
Each estimation (Easy/None, Medium/A Little, Hard/A Lot) has two story point value possibilities. I prefer to do this because you can give an estimation of high or low. For example, Complexity can be rated as “Easy, High” and Uncertainty as “A Little, Low” — that lands you at Story Point value of 5.
You may be wondering about the story point colors. We have Green, Yellow, and Red values and each one has a special meaning. Here is the key to that:
These are things that would be considered a quick win. A lot of your common work, fires, questions coming in, etc… would likely be green. When you’re planning your sprints, these are items that would allow you to fill out a sprint if it is lacking.
These are things that allow you to accomplish things and gain momentum towards a bigger goal. These are typically realistic things that could be completed within a 2 week sprint along with other items as well.
These values are considered Red Flags– If you’ve estimated something as a red value, then it’s a sign that you need to stop to break down your task into smaller pieces of work. Remember, the goal is to complete the item within a 2 week sprint; Anything that is red would likely take longer than the Sprint. Or, if you did finish it in the 2 week sprint, it would be the only thing you’re working on. To maintain progress on multiple things, you should be breaking things down into bite sized pieces so you can keep the momentum going in multiple areas.
*** NOTE: This is my own opinion. It does not reflect the views or represent the voice of my past, current, or future employers. ***
Like This Content? Send me a Tip!
Make a one-time donation
Make a monthly donation
Make a yearly donation
Choose an amount
Or enter a custom amount
Your contribution is appreciated.
Your contribution is appreciated.
Your contribution is appreciated.DonateDonate monthlyDonate yearly