← Return

Underpromise, overdeliver

When you decide to build a family, one of the first things you will notice is that some things need to change. One of the biggest necessities that tends to change is the need for shelter. Not only do you need more space, but you need more tools in order to keep that space in order and to keep your family in good health.

This change happened to my family after the birth of my son. Suddenly, using a shared laundry and not having proper air conditioning became a problem. In order to solve this problem, my family moved.

Humans are notoriously bad estimators

One of the first things that my wife and I had to do as we prepared for our imminent move was to survey our belongings and decide how much there was to move. We threw out old furniture to lighten the load and decided all we would need is a 16-foot moving truck. We decided that it was possible to move everything ourselves and to save money in the process.

We scheduled our move-in date in the new apartment for a Saturday and our move-out date in the old apartment for a Sunday and my wife encouraged me to take a few days off to recuperate. This turned out to be a godsend as we realized our mistakes:

  • The truck was too small
  • We didn't have the energy to move everything ourselves
  • Moving the smaller, more awkward items took much longer than expected
This tendency to underestimate tasks is called the planning fallacy and was coined in 1977 by Daniel Kahneman and Amos Tversky. Kahneman explained that we fail to consider how long similar tasks took us in the past
Unexpected delays will happen

Kahneman also believes that we assume we won't run into any delays in performing our tasks and that this also leads to issues with estimating time. This is called optimism bias, which can be affected by your desires and your mood.

Any project of reasonable complexity will include some delays. Some causes for delays can include:

  • Approvals and decision making
  • Expected or unexpected time out of the office
  • Mistakes or misunderstandings
  • Poorly written documentation or requirements specifications
  • Incorrect estimation due to an insufficient understanding of a feature
Clients base their expectations on our estimates

Not only do these issues affect our ability to estimate how quickly or easily we can accomplish a task, they also affect a customers' ability to adjust their expectations. Customers often don't have the insight into possible delays that we may have and therefore estimates are taken at face value. When delays occur, it can often also be difficult for a customer to understand why the delay occured or why something that seems simple to them can be more complex in the background.

Customers also use our estimates to plan for other things:

  • A software release might require training to be planned.
  • Building construction implies that the building will be habitable after the deadline.
  • The project may be the basis for work that the customer will sell to their customers and affect those deadlines.

Therefore, it is always best to pad your estimates out a little. The customer will be less upset over a padded estimate than they will be over a missed deadline. Any extra time left over can be used to polish up the project or provide functionality that was originally listed as optional.