Talk

Stop asking me how long it will take

Friday, May 29

11:40 - 12:25
RoomPassatelli
LanguageEnglish
Audience levelAdvanced
Elevator pitch

Software estimation has turned into ritualized guessing. We are pushed to estimate , but nobody is teaching us how to do it. Our estimates are deemed crucial, but the project’s specs keep changing mid-work. It’s time we abandoned long-term estimates and focus instead on managing project risks.

Abstract

It has been known since the 70s that developers tend to give very optimistic estimations. We prefer to have exact numbers, even if that means they are wrong most of the time. But maybe it isn’t really accuracy people are looking for. Maybe it is all about risk aversion.

“It doesn’t have to be correct”, I was told, but I do have to give a number.

Searching for a good effort estimation method is too often compared to searching for a law of nature, for the natural relationship between software building and time, which is independent of the organization or the customer that the project is built for or by.

However, the best mathematical models for software estimations are those that are highly calibrated to the team they are measuring.

In research, developers admitted that they believe their managers will see them as less competent if they provide estimates with huge margins. But mathematically speaking providing a wider min -max interval means you will be right more often.

But maybe it isn’t really accuracy that businesses and people are looking for. Maybe estimates are needed for the sole purpose of risk aversion. People want to know what the risks of starting this project are.

Risk can be measured in other ways.

Maybe it is time we stop estimating tasks left and right and instead start managing the project’s risk and customer’s expectations.

TagsOther
Participant

Ines Panker

I’m a software engineer and consultant with close to twenty years of experience, working mostly with Python over the last decade. I help teams design and evolve systems that are easier to understand, maintain, and change.

I’m interested in how software holds up over time, how teams make decisions, and how we can make systems easier to live with. In my work, I focus on turning overly complex systems into simpler, more reliable ones.

Software reflects the people who build it, those who use it, and the society it exists in. I try to explore how technical decisions and human dynamics influence each other.