“When will the stuff be done?” A letter to the manager.
“When will the stuff be done?” A letter to the manager.
It is time to dismantle the myth of estimating and predicting the future.
First, please, answer these questions:
- Can you give me the exact date when will your wife deliver the baby?
- Can you give me the date when will the builders finish constructing your house?
- Can you give me the date when your kid will complete the research project?
- Can you give me the date for when will you have recovered from the injury/ illness?
- Can you give me the date when will Damien Hirst finish his next painting?
- Can you give me the exact date when will the city council finish summer renovations?
- Can you give me the date when will Stephen King finish his next book?
- Can you give me the date when will you know how to play Beethoven on the piano?
- Can you give me the date on which you will have lost 10 kilos?
- Can you give me the date when will the roses start blossoming in the neighbour’s garden?
- Can you give me the date when will you find the next job?
- Can you give me the date when will you be able to run a marathon under 3.5 hours?
- Can you give me the date when will the couple next door conceive a child?
- Can you give me the date when will a friend of yours overcome alcohol addiction?
- Can you give me the date when will you be able to freely converse in Spanish?
All of the above events are not unique. People have done these things before us and will do in future. Many of the above-mentioned events have hundreds, thousands, or even millions of repetitions in the past — a very rich data set from which we could “predict” the next occurrence of the event. However, one thing is common for all of the above — it is very, very, VERY difficult to predict the exact date of these happenings.
For many of the events above — one could set a deadline — a date by which the event must happen (e.g. building works completed, book is written, painting is done, research project submitted), however, setting a deadline does not mean that things will be done by that date. Forcing the deadline definitely will not guarantee that things are done without impacting quality, relationships, and future productivity.
Another approach could be to try to predict — guess the date when things will be done. Based on the data we have — it should be possible to guess when will some of the events happen. For example, a baby should be born between the dates X and Y, the roses should blossom between the dates A and B. However, everybody understands that this is just a guess and not a promise for the baby to be born or roses to blossom. Guess about the future cannot be treated as a promise or a deadline.
Why is it so difficult to set the exact dates of the events above? We all understand that there are so many variables involved, so many unpredictable factors and happenings that will move the date. These events don’t happen in a sterile, controlled and mechanised environment, it would be foolish to set a fixed date because almost certainly it will be wrong.
Now, dear manager, why do you think that your software development project is any different? Why do you think that it is possible to give you a date when the work on a complex engineering problem is completed? And just like Damien Hirst will not finish the painting if you throw at him 10 extra painters, and the baby will not be delivered in 1 month by 9 women, your development team will not deliver the product quicker with “extra resources”.
If you look at the original 15 questions — it is reasonable to talk about weeks, months, quarters or in some cases — longer time frames — for when the event will happen. Please, apply the same logic next time you ask about when will the software product be done.
P.S. To be fair to products that are standardised and mass-produced on a production line — yes, it can be predicted when a certain number of units will be produced as long as supply lines are stable and machinery — operational.