I’ve been reading the excellent book Thinking, Fast and Slow by Daniel Kahneman and came across a strategy for dealing with a common human behaviour problem that has direct impact on software development: overconfidence.

According to Kahneman’s research,

“overconfidence is a direct consequence of [how we think] that can be tamed — but not vanquished.”

In other words, our brains are wired to make overconfident predictions and forecasts. In software development, this overconfidence usually presents itself in estimates of the importance of projects to the business, the success rate of new projects, and in development timelines. We all seem to have an intuition that these biases exist, but what can we do to counteract them? One idea presented by Kahneman’s colleague Gary Klein is the premortem.

The Premortem

The premortem is a simple idea to help an organization overcome optimistic biases.

The procedure is simple: when the organization has almost come to an important decision but has not formally committed itself, Klein proposes gathering for a brief session a group of individuals who are knowledgeable about the decision. The premise of the session is a short speech: “Imagine that we are a year in the future. We implemented the plan as it now exists. The outcome was a disaster. Please take 5 to 10 minutes to write a brief history of that disaster”.

The premortem helps with two problems common to overconfidence: it unleashes creative thinking in a purposefully pessimistic direction, and it overcomes group-think by allowing everyone to formulate their own version of what could go wrong. This may not completely eliminate the natural tendency to be overconfident, but it may put the project on a more realistic footing before any final decisions are made.