Most IT Projects Fail. Will Yours?
Gartner studies suggest that 75% of all US IT projects are considered to be failures by those responsible for initiating them.
But what do they mean by failure?
They mean the solutions fundamentally did not do what was agreed. Or they missed deadlines. And/or came in over budget. Indeed half of the projects exceeded budget by 200%!
A Standish Group study, again in the US IT industry, found that 31% of projects were cancelled outright and that the performance of 53% of the all projects was so worrying that they were challenged.
Some questions that need to be answered in assessing whether a project is fundamentally a success or failure?
- Has the project satisfied the business requirements of the primary stakeholders?
- Were the deliverables produced on time and within budget (or as amended by agreed change control)?
- Do the business owners *perceive* the project to be successful?
- Has the project delivered the business value promised in the original case for doing it?
I’ve scanned the Internet and read all sorts of articles and research on project failure, and consolidated them into a long list of reasons why IT projects most commonly fail. I've managed to eliminate all the duplicate reasons and boil it all down to these common areas, although it's still quite a long list, unfortunately for IT and project managers!
Project Initiation & Planning Issues
- Unclear or unconvincing business case
- Insufficient or non-existent approval process
- Poor definition of project scope and objectives
- Insufficient time or money given to project
- Lack of business ownership and accountability
- Insufficient and/or over-optimistic planning
- Poor estimating
- Long or unrealistic timescales; forcing project end dates despite best estimates
- Lack of thoroughness and diligence in the project startup phases
Technical & Requirements Issues
- Lack of user involvement (resulting in expectation issues)
- Product owner unclear or consistently not available
- Scope creep; lack of adequate change control
- Poor or no requirements definition; incomplete or changing requirements
- Wrong or inappropriate technology choices
- Unfamiliar or changing technologies; lack of required technical skills
- Integration problems during implementation
- Poor or insufficient testing before go-live
- Lack of QA for key deliverables
- Long and unpredictable bug fixing phase at end of project
Stakeholder Management & Team Issues
- Insufficient attention to stakeholders and their needs; failure to manage expectations
- Lack of senior management/executive support; project sponsors not 100% committed to the objectives; lack understanding of the project and not actively involved
- Inadequate visibility of project status
- Denial adopted in preference to hard truths
- People not dedicated to project; trying to balance too many different priorities
- Project team members lack experience and do not have the required skills
- Team lacks authority or decision making ability
- Poor collaboration, communication and teamwork
Project Management Issues
- No project management best practices
- Weak ongoing management; inadequately trained or inexperienced project managers
- Inadequate tracking and reporting; not reviewing progress regularly or diligently enough
- Ineffective time and cost management
- Lack of leadership and/or communication skills
I'm sure we've all seen projects with all or some of these issues. You know, those projects *other people* run :-)
In reality, probably ALL projects have many of these issues. But somewhere there is a threshold. An undefined point where the issues are material to a project's chance of success, or its likelihood to fail. If only we knew where that point was!
A few things struck me when compiling this list:
Not one article or piece of research I read (and I read quite a few!) mentioned risk management. Not one. Lack of proactive risk management. Inability to identify or mitigate risks. Lack of focus on risks. Not one article or piece of research that I found. So that got me thinking. If we don't seem to acknowledge risk management, and we certainly don't seem to see it as a cause of failure, are we to believe that we as an IT industry have got risk management cracked? And if so, why do so many of our projects fail?
Secondly I was thinking about how agile principles help to mitigate these risks? I have a strong view that agile methods help with some of these areas a lot, although I'm not sure all. And it also got me thinking that I don't recall reading about any formal mechanism or process for risk management within agile methods - unless I've missed or forgotten it. There's quite a bit of risk management inherently built into agile principles and practices, but there doesn't seem to be any explicit risk management discipline.
Thirdly, I started thinking about risk management in more formal project management methodologies such as PRINCE2. Risk management is certainly a key discipline there. But one of the key things I was taught as a PRINCE2-based Project Manager (once upon a time I was one), was to only highlight risks unique to the project, because there's no need to highlight the *usual* risks. We all know software development projects might run late, for instance. So we don't need to articulate it on a formal project proposal, or in the risk log, etc. But if we don't articulate and mitigate the *usual* risks, aren't we ignoring the risks most likely to cause our project to fail?
See also:
Reduce your risk of failure
How agile principles help with these issues
DIY Guide for Fixing a Failing Project - by Mike Cohn
10 Key Principles of Agile Software Development
10 Good Reasons to do Agile Software Development
7 August 2007 07:38
I'm reminded of something that I think I've read in "Agile Software Development Ecosystems": A petrol survey team (?) that found new petrol in 80% of their test-boreholes would be considered to not take enough risks, and would be unlikely to find that new, groundbreaking oilfield.
The studies you quoted sound like it would be considered best to have a "100% success rate" of IT projects. I'm not at all convinced that that's true.
7 August 2007 07:43
The studies you quoted sound like they would suggest it to be best if we had a "100% success rate" for IT projects.
I'm reminded of something I think I've read in "Agile Software Development Ecosystems": a petrol survey team (?) that found new oil for 80% of their test drills would be considered to not take enough risks, and deemed unlikely to find that new, big oilfield that will be groundbraking for the company.
I wonder whether there is something to learn from this...
10 August 2007 12:43
Very nice description of the causes of IT project failure. I've discussed this post over at ZDNet:
http://blogs.zdnet.com/projectfailures/?p=329
Michael Krigsman
http://projectfailures.com
13 August 2007 20:46
It is interesting that research shows such a high failure percentage. However, as you state, you have to consider what a failure is. Is it *really* a failure when the project goes in a day or two late, or if there is a bug in the software?
It fascinates me that some people do think that this is a true failure for non-mission-critical projects. This is even the case when no real harm is done.
Consider an analogy: If I buy a brand new Mercedes and find it has a bulb broken, would I complain and say that this car is a failure? No, because the car is fine and just has a problem that can be easily fixed at no real cost to me.
Actually, the problem appears not to be a failure of a project but rather a failure of the IT industry to allow its customers to understand our business. More importantly to let them understand that we are not perfect and mistakes happen.
I work in manufacturing industries often. If a new production line is opened and the line of widgets is incorrectly painted, they are binned, the machines recalibrated and the system continues. Nobody complains about this 'failure'!
16 August 2007 06:15
Michael,
I believe the CHAOS report categorises failures and good enough separately.
I recall they use the term catastrophic failure where the project outcome is essentially unuseable.