IT development projects seem to be hit with a curse: the repeated postponement of the delivery date! What explains these systematic delays? How can they be reduced as much as possible?
Every development project manager (especially for software) will tell you the same thing: it is almost inevitable that the schedule will fall behind. This observation is also the subject of an established rule: Hofstadter’s Law. According to this, completing a project “will always take longer than expected, even when taking Hofstadter’s Law into account”. In other words, it is impossible to accurately estimate a project’s duration, even if this rule is taken into account when planning. A not very encouraging vicious circle…
Predicting everything is impossible The more complex a project is, the more likely it is that there will be disruptive events. Equipment failure, failure of a subcontractor, sickness of a team member… It’s an illusion to think that every contingency can be incorporated into the schedule! For highly complex projects that have many interdependencies, there is an exponential risk of longer delays.
Selling room for manoeuvre is difficult An IT development project is often underestimated from the start for another reason: so as not to frighten the client with too long a delay. Because for the client, time is money! It’s complicated then to “sell” a bank of hours reserved for hypothetical problems that will get in the way.
Those who plan are not those who produce Deadlines and milestones are defined by managers, not technical experts. Poor knowledge of the tasks and “on the ground” context is also sometimes responsible for miscalculating the time required for development of software or a system.
Is planning a futile endeavour?Although the quest for an accurate estimate might seem hopeless, planning remains essential to properly identify the issues, impacts and risks, and to have control over the subject. It is essential to have visibility on the project’s overall progress. The whole point is not to become imprisoned by it and to know how to adapt to the unexpected!
Some tips to outwit Hofstadter’s Law
• Avoid accepting deadlines that are impossible to meet;
• Account for schedule deviations in previous projects to apply an additional time coefficient to the project being estimated;
• Provide “buffer zones” between different well-defined tasks, to absorb potential delays;
• Be effective in meetings by carefully controlling their duration!