There are many factors that can lead to project failure... Here they are, in order of importance:
- Lack of Communication/ No Good Communication: Project management is 90% communication, every project manager knows this. If you don't communicate with the client, you'll end up with scope creep, if you don't communicate properly with your team members, you will often have to redo the work, if you don't communicate with your stakeholders, you will later hear this sentence when you make a demo of your project near the end "This is not what we wanted" or "This is the complete opposite of what we wanted", or "This whole project needs to be redone". Communicate, communicate, communicate!
- Lack of stakeholder support: Indifferent stakeholders can definitely cause a project to fail. A project manager needs constant guidance and help from his project sponsor to be able to finish the project, after all, the project manager is never the owner of the project, and if the owner of the project doesn't care, then there is no way that the project will succeed.
- Lack of relevant team expertise: Let's say you have a team of PHP developers and you have decided to develop a Java Application. Although your team is excellent in PHP, he lacks the expertise in Java. Choose your projects and your teams wisely.
- Depletion of money to fund the project: This can be caused by austerity measures imposed in the company, and there's nothing you can do about this.
- Prioritization of other projects: All of a sudden, you may be requested to stop working on your current project and work on another one, because the other one is more important and provides a better ROI. Of course, everyone tells you that you will get back to the previous project after you finish the new one, but you know you never will, and you know that that project is now shelved.
- Bad project management: Using the wrong methodology, using the wrong templates, not being controlled by a PMO, often leads to a disarray in the project that will eventually lead to project failure.
- A "Yes" Project Manager: "Yes" Project Managers say yes to all change requests, whether formal or informal, without assessing the impact of these change requests on the project schedule, cost, and quality (not to mention their potential conflicts with the current features already developed in the project). "Yes" Project Managers drive the project slowly but surely to failure, and then they try to blame (always unsuccessfully) the failure on the client and the other stakeholders.
There are many other reasons that can lead to project failure, but all of them they fall somewhere in the above list. Such reasons include: Gold plating, missing requirements, not having a full understanding of the client's business, not enough resources to do the work (resources quitting, getting sick, etc...), project no longer aligned with the business objectives of the organization...