I'm currently very interested in people's experiences with 'estimation-blowout'. I posted the following to the Drupal Consultants mailing list and considerable discussion resulted.
For those interested here are links to the discussion thread as it developed in February and March, 2009
===
In my experience, and discussions with Project Managers, Developers and Clients I find that quite often the number of hours to actually complete a Drupal project or task, is considerably more than the number of hours estimated beforehand. This creates problems (budgetary and otherwise) and stress and even resentments to all involved whether the work is being performed on a fixed-price-quotation, estimated or actual-hours basis.
I note the comment from the team who recently updated drupal.org from 5 to 6, "So while we crafted a fine plan for the upgrade, it took a few more hours then originally planned." http://drupal.org/node/376454.
I'm understanding that the preparation and planning for the upgrade was a mammoth task, when I read the report of the upgrade sprint, at http://drupal.org/node/366562. Those at the sprint, and other contributors, worked hard doing all that was humanly possible to prepare and plan for the upgrade so that least downtime as possible would be entailed. One outcome of the sprint would have been an estimation of how many hours would be required for the final push, the working time that would necessarily entail site downtime. And now I see that the actual upgrade was more intricate and time-consuming than that prediction.
My thinking is that these guys are some of the most experienced Drupal engineers around; and most familiar with the entire drupal.org infrastructure. If they are unable to predict the hours beforehand, even after going into 'fine planning' .... well.... who could have?
What does it take to accurately estimate a significant Drupal project? Experience obviously, but it seems that is not always enough in itself. Are there just always too many unknowns, too many variables, too many 'what ifs' to be overlooked, in any more-than-basic Drupal work? Is accurate estimation for anything other than highly-repetitive tasks.... verging on the impossible?
I'm interested in hearing views and experiences about this.
And also I'm interested to know if the upgrade team has a record of hours predicted against actual hours taken, for the upgrade.
John