A number of years ago, a Masters Degree student sent me an email asking what project methodology was best. Should we use an iterative Agile approach, or was a waterfall better in some cases? What about RUP and all of its variants? I thought that this was a very good question and (like any good question) it required much more thought and deliberation than the questioner probably anticipated (I suspect that the question was simply a homework question for an MIS class).
I thought about all of the projects that I had been involved in over the years, some that were successful and some that were catastrophes. I tried to determine the common thread in the successful projects. I thought about all of the articles that I had read or published over the years on project management, project success, and project failure and the advice contained in those articles.
None of the factors cited in the papers really got to the core of the problem. I have seen successful projects and failures using every project management process under the sun. Even “top management support” (probably the most often cited critical success factor in the literature) does not really predict whether or not a project will be successful.
I tried to think about what made projects successful and I came up with the following: Project management is like leading a troop of Boy Scouts on a long hike (now you know where the “be prepared” part of the title came from). Every few weeks you climb to the top of the tallest tree and look at where you are. You look to see what obstacles are in your path, and you plan the route ahead. Then you climb back down, call the scouts together and explain to them where you are all going next. You keep repeating this process until the project is complete.
As simple minded and silly as the above analogy sounds, this thought process has never been used in any major project failure that I have encountered. The one thing that badly managed projects seem to have in common is the ability to ignore impending doom and just keep pressing forward with no evidence that they are on a path to success.
Consider the following examples from real project failures:
1) Pressing forward with a complex Java EE architecture including lots of moving parts without making sure that it actually works and will scale appropriately.
2) Continuing to work on a project for over a year without ever talking to any users to ensure that the requirements are correct.
3) Working with a team that never delivers what they promise, but continuing to manage them by giving them broad objectives and accepting their unrealistic deadlines as truth.
These kinds of errors are not the result of any complex architectural issues or sophisticated management tools. They are caused by project managers who are not thinking ahead. Good project management starts with making sure that the project is on the road to success. If you are not SURE that you are on a road to success, you are probably headed for disaster.