Our first question of the week was more of a statement “I hate estimates, help!”
Lucky for you, there is a lot of help in this area.
let’s start by understanding why you are being asked for estimates, and then move on to some quick types of estimation you can try within your team.
Why estimates?
short answer, decision making.
long answer estimates help the company make decisions by understanding the possible return on investment for any given work.
Estimates answer questions such as
- should we take on the work? We might not be getting our money’s worth
- when can other work start? There is only so much you can do
- can we meet the promise sales already made? – we all love this one
- should we hire? There is a lot of work to be done, promises made, targets to reach… estimating is a visual input into determining if hiring is needed.
- when will it be done? Mainly because people just want to know, it feels good to know.
now that you understand the importance, let’s move on to how you can go about simplifying your estimation process
What is your unit of measure?
When asked for an estimate, you are not being asked for story points, or a number of tickets, or engineer hours… You are being asked for a date for your changes to show up in production.
While your answer is a date, how you get to that date is another matter, and it will most likely vary based on your process
Knowing your velocity
The first step is knowing your velocity. Velocity measures the rate at which things make it to production. These “things” can be measured in different ways such as
- The number of tickets, where all tickets look roughly the same and you count how many tickets you complete on a given period
- Story points, usually following the Fibonacci sequence to denote relative effort and you count points for a given period
- Ideal hours, where you are asked to throw a number of hours for development work, then measure how many of those you get through on a given period
- T-shirt size is another relative estimation technique, where a t-shirt size directly maps to a set number of days you believe it will take to complete
Just pick one that works for you and stick to it. For the rest of this story, I’ll use the the number of tickets just to keep things simple.
Your first estimate
Following with the ticket example, let’s say you get through 10 tickets in one month, this is your velocity (Great work by the way)
You are then asked to estimate a project and after going back and forth on the details, you believe you can break it down into about 20 tickets, so you blurt out “two months”
Is that it? could it be this simple? possibly, all estimates need to have a confidence level. It might be OK to have low confidence in your estimate to begin with.
Confidence levels in estimating
Now that you said two months, are you willing to put two months from today on a contract with monetary contingencies if the date is not met?
Probably not, and the reason is that the confidence level on the estimate is low.
To increase the confidence level on the estimate, you can work your way through questions such as
- Do I know the start date? most work is not of a “drop everything and do it now” nature. Figure out how much longer before you can start on the new project and adjust your estimate.
- Do you know your velocity fluctuations? December is usually slow, the summer sees a lot of vacation time, there might be a seasonality to your business to account for. Use this information to update your estimate
- Was it 20 tickets? take some time and do a Work Breakdown Structure exercise. You will probably end up with more tickets than you started with.
For more ideas on increasing the fidelity of your estimate, take a look at Software Estimation: Demystifying the Black Art (Developer Best Practices)
As a rule of thumb, when providing your estimate, be clear about the current fidelity of it.
Always ask if you should spend any time getting a better fidelity estimate.
Your time is valuable, besides, you can always point your boss to this article and have them help you out 🙂
Go for extra points
Project Software such as TeamGantt allows you to easily visualize project plans.
Go ahead plug in your start and end dates for your tickets and surprise your boss with a beautiful graph
Icons made by Eucalyp from www.flaticon.com