Project failure is not only common, it's predictable. The root causes of Project Failure are well documented and corrective and preventive actions are also well known.
Let's start with the four primary root causes of project failure. ‡
- Unrealistic Performance Expectations, with missing Measures of Effectiveness (MOE) and Measures of Performance (MOP).
- Unrealistic Cost and Schedule estimates, based on inadequate risk adjusted growth models.
- Inadequate assessment of risk and unmitigated exposure to these risks without proper handling plans.
- Unanticipated technical issues without alternative plans and solutions to maintain effectiveness of the product or service.
Unrealistic Performance Expectations
Performance expectations are just that - expectations of performance. Not a guarantee of performance.
Expectations need to answer the question:
What performance should the system be capable of providing to fulfill the mission or business strategy?
Since the system under development is not developed yet, we must estimate the answer to this question to some level of precision and accuracy to determine if it is possible to deliver the needed performance.
This is an engineering problem that must make use of engineering processes:
- What's the model of the system's functions?
- How do those elements interact?
- There are simple ways to do this.
- There are tools used for more complex systems.
- Mathematics for Dynamic Modeling is the start for complex projects.
Unrealistic Cost and Schedule Estimates
There's always whining and gnashing of teeth about estimates. Blaming the process of estimating as the problem that caused the project to fail. This is the classic #NoEstimates argument and behaviour. Where they confuse symptoms with cause . Let's have some facts here:
- Unrealistic means the precision and accuracy of the estimate is not sufficient to make a credible and informed decision.
- Unrealistic Cost and Schedule estimates are very common, but rarely are the root causes sought. Without the Root Cause they cannot be improved
- Any business, that's going to stay in business, needs to know something about the cost to develop its products and when that cost will turn into revenue.
- This is the very core of business decision making. Poor estimating is a Root Cause of many project failures.
There is NO principle of Managerial Finance, Probabilistic Decision-Making, or Microeconomics of Project Management, where in the presence of uncertainty - both reducible and irreducible that creates risk - a credible decision can be made using scarce resources, while spending other people's money, without Estimating the outcomes of that decision on the probability of success of the project.
Inadequate Assessment of Risk and Unmitigated Exposures to Risks Without Proper Handling Plans
- Inadequate means the risk handling strategies are not adequate to reduce or provide needed margin
- Inadequate risk assessment many times means ZERO risk assessment.
- What could possibly go wrong, let's just get started.
- Agile is billed as a risk management process.
- It is Not.
- It provides information to the risk management process, but it alone is not risk management.
- Start with “Continuous Risk Management Guidebook”, Carnegie Mellon, Software Engineering Institute, or your agency’s or customer's equivalent guidance.
Unanticipated Technical Issues Without Alternative Plans And Solutions
- Unanticipated means the Risk Management process failed to identify reducible or irreducible uncertainties that create risk
- Unanticipated technical issues are part of all projects.
- Managing in the presence of uncertainty deals with both programmatic and technical uncertainty.
- Both are present in the Top 4 Root Causes.
- As a result of risk management, these technical issues may or may not be revealed.
- The uncertainties found on projects are reducible and irreducible.
- For reducible uncertainty we need to spend money to buy down the resulting risk.
- For irreducible uncertainty we need margin.
- Both these require we make estimates because they are both about outcomes in the future.
Ten More Reasons Projects Fail †
- Unmanaged scope creep - not scoop creep, but unmanaged scope creep
- Overall local technical and managerial resources
- Poor communication between participants
- Poor stakeholder management
- Unreliable estimates
- Poor risk management
- Unsupportive project culture
- An accidental project manager
- Poor monitoring and control of performance
Six More Project Failure Modes in the Agile Domain
1. Expecting Agile Project Management to be Easy
- Starting the Agile journey after reading a book or airline magazine article.
- No Plan for the deployment of Agile processes
- No Plan for the transformation of the Culture needed to support the Agile processes
- Real Agile Project Management exposes existing corporate and cultural problems that must be dealt with
- Communications
- Accountability
- Distrust
2. Expecting Agile methods to solve problems that are endemic to the organizational behaviors
- Organizations are about people, their interactions, and culture.
- Agile methods is based on people and their interactions.
- For Agile to succeed, the organizational processes need to become Agile.
- Failure to decentralize control of the deployment and execution of Agile methods
- This starts with the lack of executive sponsorship
3. Starting with Practices without first establishing Principles
- Practices are easy.
- Agile practices meetings (Scrum, DSDM, XP, SAFe)
- Agile roles (Product Owner, Scrum Master)
- Scrum artifacts
- Agile principles are what make the practices work and sustainable.
- Principles are much harder to incorporate into practice.
- This is the primary failure mode of an Agile deployment
- Agile is about the People, their interactions, and the culture ‒ not the processes, practices, and tools.
4. Leading the Agile Team Like a Traditional Project Manager
- Agile Project Management is not the same as Traditional Project Management.
- Agile Project Management is a Team-based development process
- Product Owner
- Scrum Master – a facilitator not a Project Manager
- The TEAM ‒ self-organizing and empowered to make decisions in conjunction with the Product Owner about the direction of the work that matches the Product Roadmap and Release Plan
5. Failure to manage the Team
- People matrixed across multiple teams
Low coupling between teams for the shared outcome
Teams with many external dependencies
Without visibility to those dependencies, low cohesion results for the shared outcome
Teams with missing subject matter expertise
The notion of a generalist is useful but difficult to scale on software intensive system of systems
Software Development is a systems engineering paradigm. Specialties are a natural part of this paradigm
6. Failure to actively manage risk created by reducible (Epistemic) and irreducible (Aleatory) uncertainties
- Risk is created by uncertainty, that comes in two forms:
- Reducible (Epistemic) that is handled with risk buy down work activities
- Irreducible (Aleatory) that is handled with cost, schedule, and technical margin
- Risk Management is the Critical Success Factor of all project work
- Applying Agile does not remove the need to manage risk
To Make the Needed Changes To Identify, Correct and Prevent the Root Causes of Project Failure We Need to Start with the Organization
There are Five Components Needed for Any Change to Succeed. All Five Plus an Action Plan Needed ‡
†“Top 10 Reasons Why Projects Fail,” Jim Stewart, https://project-management.com/top-10-reasons-why-projects-fail/, October 3, 2018
‡ Research at Performance Assessment and Root Cause Analyses, Office of Assistant Secretary of Defense for Acquisition, Technology, and Logistics (AT&L), Mr. Gary Bliss Diector