My friends and family are under attack in Ukraine. Donate to protect them directly or help international organizations.

If We Asked Athletes the Questions That We Ask Developers

July 11th, 2019

We all heard the question "how long will it take you to do this project?" Now imagine we were talking to an athlete:

Manager: How long will it take to score the first goal in the next match?

Athlete: I don't know.

M: I thought you were an expert.

A: This has nothing to do with expertise. It's not something that can be estimated with any reasonable certainty.

M: You can just decompose the job into smaller tasks and estimate them individually. You should know what the tasks are and how long it takes for each.

A: It's not that simple. We don't know who we're going to be dealing with. They can make it easy for us or they can be real blockers. We don't have a strategy. Also, we can't know in advance everything that will happen.

M: But you've been doing this for years. Surely you have an idea what to expect.

A: Even if we can guess and adapt to the usual cases, we don't know which ones will occur. That could significantly change the estimate. Also, there are other things that can happen that we can't even imagine at this point. It's going to be a very dynamic situation, with unexpected problems thrown at us.

M: If you add a buffer for the unknowns, perhaps you can give me a ballpark number?

A: Somewhere between the first and last minute of the match.

Previous: Null Hell and How to Get Out of It Next: The Fate of the Legacy PHP Documentation