The Seeds of Project Failure
In Volume 47, Number 11 of the Communications of the ACM, Amrit Tiwana and Mark Keil reported on some results from a study of the relative importance of 6 project risk drivers. They were surprised that the most critical risk driver was actually the choice of methodology rather than a seemingly more common complaint such as constantly changing requirements.
1. Inappropriate Project Methodology
The key take-away here is that there is no one methodology that fits all projects. It's up to the project manager to determine the appropriate approach given the circumstances surrounding the project.
2. Lack of Customer Involvement
It may be hard to believe that projects are worked on without direct input from customers, but that is the reality. Often the problem stems from not being able to explain the proposed system to a customer to elicit feedback. This situation is also complicated by customers that know what they need, but can't articulate it.
3. Lack of Formal Project Management Practices
Anyone not on the project management side of things, but involved with software or web development, likes to complain about the processes they must adhere to throughout the project lifecycle. The trick is finding the appropriate level of process to keep things moving forward. Strangely, I recently found myself actually not providing enough process. It's hard to win sometimes.
4. Unlike Previous Projects
Common sense says that the more like a new software project is to a previously completed project, the more likely it is to be successfully completed. Put another way, the more a new project differs, both from a technical and conceptual perspective, the greater its exposure to risk.
5. Project Complexity
Surprisingly, the complexity of the project actually rated near the bottom of risk drivers. This complexity comes in two forms, with the more obvious of the two being technical complexity. The second is organizational complexity which can raise coordination challenges and introduce unexpected obstacles to project success.
6. Changing Requirements
Finally, at the bottom of the list is requirements volatility. This one, in my experience, is the cause of a lot of frustration from project team members. People just don't seem to be comfortable not having every last detail worked out ahead of time. However, like me, the project managers involved in this study may have already accepted the inevitability of requirements changes and are prepared to respond appropriately as needed hence the low relative ranking.
There are more details about the study along with what the authors are calling the one-minute assessment tool.