Avoiding Software Project Failure: Identifying Common Mistakes and Solutions
In the previous two articles in this series, we discussed the dismal success rates for software development projects and the top causes for these failures. Most IT project failures (whether related to software or not) can be traced to sub-optimal project environment factors, such as:
- Poor support from company leadership
- Low levels of organizational maturity
- Disagreement or poor understanding among the stakeholders regarding the project vision and objectives
- Non-optimized business processes
Before we discuss ways to prevent software project failure, we will discuss some approaches that won’t prevent project failures, such as throwing more money at the project or extending its timelines.
Why Adding Budget or Timeline Doesn’t Work
When it’s clear that a project is headed in the wrong direction, it’s instinctive to blame insufficient budget or unrealistic timelines.
Do these things happen? Yes, on occasion. But it’s rare for an otherwise well-executed project to run out of money or time before completion. In most cases, you must dig deeper and find the root cause. Where did the disconnect lead to a lowball cost estimate or overly aggressive timeline?
Some common causes for poor cost and timeline estimates include:
- Internal political dynamics within the organization, leading to pressure to perform under unrealistic constraints.
- Unrealistic project assumptions
- Poorly defined project scope
- Shifting organizational priorities, leading to scope creep and rework
- Poor project change management
Do you notice something about this list? It looks pretty much like the list at the beginning of this article. The same environmental factors that cause overall project failure also led to the poor cost and time estimates that plague many software development projects.
So, what happens when you add budget or time to the project? If you don’t first address these underlying causes, you will get the same result, with more money down the drain and little or nothing to show for it. It’s the proverbial “throwing good money after bad.”
If there’s a silver lining to be found here, it lies in the fact that many IT and corporate leaders have experienced enough project failures to know a hopeless situation when they see it. They are more inclined to pull the plug on a failed project rather than waste any more time and money on it. Some have more patience than others, but very few will throw more money at the problem.
A Better Way: Discovery
The good news is that there is a better approach to preventing software project failure: A well-executed, thorough, and robust discovery process.
Subsequent articles in this series will explore this idea in more detail. Still, at a high level, discovery is learning and documenting important information about the project. When done right, discovery can uncover gaps and shortcomings in the project environment that can derail a project so that the team can address them before the project starts.
All enterprise software development projects should start with a discovery phase. It’s essential for projects that involve:
- Business-critical applications
- Customer-facing applications
- New-to-market applications
- Applications that target a highly competitive environment
- Applications that are intended to solve a unique business problem (that is, no commercial off-the-shelf solution exists)
- Applications that require integrations with other systems
In the next article, we discuss the distinction between “project discovery” and “product discovery.” We then wrap up the series with a deep dive into the discovery process, who is involved in it, and how to get maximum value from it.
How Solution Machine Can Help
Solution Machine’s consultants have extensive experience with custom development and rescue projects. By staying connected with our clients, we’ve been able to quantify the financial benefits, on both the cost and revenue sides, for projects we have helped execute.
If you are planning a software development project, contact Solution Machine today to learn how we can help you estimate the financial impact of your initiative.