Whenever some one makes a promise, the cost of apologizing begin to grow. Whenever one feels that promise cannot be kept, the cost of recommitment starts to grow. The cost depends on the stage at which recommitment is done. If the apology and the recommitment is done at an early stage, the cost is going to be less. If not, it is going to grow exponentially inflicting economic and emotional damages to the people involved.
Consider a situation where a Project Manager(PM) of a software company promises to deliver a component on a certain date to the customer. During the development, if something breaks down(and the remedy to this problem is beyond the control of the PM) then the PM has two options in front of him/her.
- Option 1: Inform the customer immediately and face the consequence
- Option 2: Don’t inform the customer and try your best to fix the problem over a period of time.
With the option 1 above, customer may or may not become happy to hear about the problem. Some customers are happy to see the PM bringing the problem to their notice at an early stage. This in turn provides them an opportunity to make alternate arrangements in the face of this problem. However, a few customers could get upset as many of them don’t like to hear about the problems.
Option 2 is typically applied when there is sufficient time for delivery. Since the customer is not aware of the problem, the PM could assume that some how he/she would take help from somewhere and would fix the problem before customer notices it. Since customer is not aware of the problem and sufficient time is left, there is no pressure to fix the problem immediately.
Option 2 mentality is typically seen in Waterfall development teams.
As per Fred Kofman, most of the teams who follow Option 2 fail in some way or the other. He continues to say that,
Unfortunately these hopes do not always become realities. The work falls further and further behind, while the creditor is in the dark, unable to hedge against a risk he knows nothing about.
Fred calls the hope of people with Option 2 thinking as Self serving rationalization.
How does this relate to Agile ?
The Agile practices are structured in such a way that, opportunities are provided on a daily basis to bring up the issues upfront. This could be either through the Scrum meetings, reviews, or retrospectives. This is nothing but exercising Option 1 mentioned above. This in turn removes any hopes fulfilling self serving rationalization and in turn reducing the cost of apologizing and recommitment.