Estimations

The first rule of estimations: Know thyself

Understand your dice bias before rolling it.

If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle.

― Sun Tzu, The Art of War

Photo by Naser Tamimi on Unsplash

Estimation is not forecasting

Let me start by saying this: Your estimation is wrong. Probably.

Here is the deal: Things will take as long as they need to get done. Estimating is an effort of trying to predict how things will happen. You won’t see all the risks, you don’t know what changes will happen, and you don’t know how long something will take (or how much it will cost). You are trying to guess.

If you had a time machine, you could go to the future, see how long it’s going to take, come back, and write it down.

Whenever communicating an estimate, explain this to whoever is receiving it. Be clear. It will save you from a lot of problems.

Voice of the client X voice of the process

Process control chart

When someone, may it be a client, your manager, or another area of the company, ask you (or your team) for estimation, they have expectations and constraints around it.

Look at the chart above and assume the y-axis reports the productivity of each one of those projects on any productivity (size divided by time) measure. Let’s say, for instance, it is story points per sprint (a.k.a. velocity — and also why story points should never be mapped to time).

Let’s assume that taking 10 months to complete the project is a deal-breaker. You look at your productivity, and you see that in a 2-weeks sprint, you deliver between 47 and 65 story points. In a month it will be between 94 to 130. In 10 months, it would be unlikely to deliver more than 1300 points as that was the peak productivity, and it’s doubtful you would keep that up over 10 months. The project is estimated to be over 1500 in size, so you will NOT get it done in time. You know that. If the project was somewhere around 1100 points, well, that’s very doable.

Knowing yourself allows you to have these discussions and understand where you stand. You don’t have to roll the dice and fail projects miss deadlines. In this post, I’ll talk about your alternatives to make things work in your favor.

Improve process X making pressure and working overtime

I’ve seen “managers” putting pressure on their teams and asking them to work overtime many times because either they don’t understand estimations might be wrong or because they committed to something beyond the team’s capacity (or both).

Projects don’t get delayed. Your initial estimation was wrong.

IMHO, the two most important tools to manage challenging deadlines are estimation refining and process improvement.

Refining the estimation

Photo by Diana Polekhina on Unsplash

Of course, understanding what estimation is and the need to refine it is paramount. As the project evolves, the things that happened are no longer subject to uncertainty, and we have more knowledge about what needs to be done based on what was completed.

Re-estimating the remainder of the project might bring significant value. One of the advantages of refining it is renegotiating deadlines, scope, commitments in general, resources, or augmenting the team. This is one of the things that can be done to allow projects to be completed satisfactorily without blaming delays on the people executing them.

Process improvement

Control charts: improvements to the mean are improvements in results, improvements in variance/stability are improvements in predictability and support better estimations

I’ve used an example above where the team’s productivity was a limiting factor to the success of an upcoming project. But what if you could change the team’s performance? Well, you can. :-) Just not by asking them to “do better.”

You need to identify the activities your team executes and how they perform these activities. In other words, make the process explicit. By doing so, you will be able to analyze with them and identify bottlenecks or activities that are not yielding good results. You can try removing these activities, change how they are performed, provide training, etc. Sometimes, just by switching the sequence of activities, you might already have a better overall performance. You need to measure the results and compare them to see if you achieved the goals.

Suppose you have a control chart like the one in the beginning. In that case, I’ll tell you that improving that while improving the mean represents better performance in the colloquial sense, while improving the variance represents improving the accuracy of your estimates.

If you like this story, hit the clapping hands at the end so I know what you want to read about.

I don’t make a dime with the blog. If you want to support the creation of more content, share the blog with your coworkers and follow it to be notified of new stories!

If you want to know more about charts like these and the use of statistical techniques to measure your team’s performance, I have examples in 2 older posts, and I will also share two excellent books about this:

Examples:

Books:

--

--

--

Many management blogs focus on soft skills. This blog is about hard skills! Measurement, indicators, approaches, etc., for Software Engineering Management.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

My Best Ideas Never Occurred To Me When Sitting In Front Of A Desk…

How To Create A Lifetime Account With Temporary Email

At Last, a Way to Free Myself from Email Tyranny

Free Access To My Entire Personal Development Online Course Collection

How to Change Your Life in 21 Days: Top Five Tips for Increased Productivity

How sharing my goals and progress with an awesome community increases my motivation, productivity…

How To Achieve Your Goals: The 6 Simple Tips To Success

“Busy is the new stupid” — Is the culture of productivity affecting your leadership?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Peter P. Lupo

Peter P. Lupo

Many management blogs focus on soft skills. This blog is about hard skills! Measurement, indicators, approaches, etc., for Software Engineering Management.

More from Medium

Seven Estimation Techniques for Software Engineers

Managing the software development team

I’ve used 5 methods for dealing with technical debt. Which was the best?

What’s Wrong With Measuring Developer Performance (+ 10 Best Metrics)