Updated 03/03/2021
Sometimes the greatest meals on vacations are the ones you find when Plan A falls through
– Anthony Bourdain
How long will it take?
One of the most common questions I receive that I always try to avoid answering (generally, I flat-out refuse) is, “How long will it take?”. It may seem like a straightforward question, and in many industries, this may be entirely possible, but how often do you hear about project overruns? In software development, I would argue that it is impossible to answer. Why? Well, many factors will get in the way of an accurate answer. The main issue for software development and any creative industry is what you are asking me to do has never been done before. If you are an entrepreneur, with an entirely new product or service, this is likely to be the same as well. If you have never done something before, then you won’t even have a feel for how long something will take. You don’t have another project that is the same, for which you can say we did that in 2 months last time. Note I said, ‘the same’, not similar. Similar means that there are differences and those difference could mean a week, a month, or a year of extra work.Making an estimate
A basic option here is to apply a multiplier, that allows for extra time for unforeseen issues. Inflate your time, then you can under promise and over deliver! You finish early, and you win, you finish late you still lose, but at least you added extra time as a cushion, right? Another method, (which I used to use), is to break down the project into chunks and try to work out how long each part would take. Taking it a stage further, I would put it into a Gantt chart, and factor in work streams that were dependent on others to be completed. We even used to get each team member to estimate it, and then take an average, or even the longest estimate for each task, to make use of the wisdom of crowds. You must be thinking, surely this works:- Break it down task by task
- Assign the longest time from a crowd
- Build into Gantt chart, to take account of dependencies
- Double it and add 10%