The software industry continues to grow exponentially, but does it guarantee project success if you jump on the bandwagon? What makes software projects fail, and what makes them successful?
Software has become an essential instrument for every modern business. Most companies nowadays rely on software applications to manage and leverage nearly every aspect of business operations, such as production, distribution, and customer support. Each business requires different and unique needs, so software applications are often developed specifically for the organization, either by in-house staff or external software vendors.
The process of developing a software can be long and arduous. Managing a software project presents a specific challenge that you might not encounter in other fields. Let’s say developing a software is like building up a rocket for a trip to the moon. It will be amazing once the rocket gets to the moon safely and it is worthy of a festive celebration. But, there’s going to be some incredibly challenging moments along the development as well.
If software plays an integral part in your business, then software project failure is the last thing you need. Given the time, effort, and money that your organisation pours into software development, it is frightening to think that many software projects are destined to fail from the start.
There is no one-size-fits-all budget when it comes to software development, but we all could agree that this project doesn’t come cheap. Typically, software costing ranges from just $5,000 to $500,000 in a time frame of 1 to 9+ months. Such significant pricing discrepancies are due to plenty of factors, such as app type, feature set, UX and UI uniqueness, marketing, QA, location of the IT-vendor etc.
Unfortunately, despite all the efforts put in software projects, failure is a lot more common than you might think. According to Standish Group’s Annual CHAOS report, 66% of technology projects (based on the analysis of 50,000 projects globally) end in partial or total failure. Only one in three software projects are considered truly successful, with large projects most at risk of failure.
Software project failure is a serious issue that managers need to be aware of. A Gartner survey revealed that among IT projects, failure rate corresponds heavily to project size. An IT project with a budget over $1M is 50% more likely to fail than one with a budget below $350,000. For such large IT projects, functionality issues and schedule overruns are the top two causes of failure (at 22% and 28% respectively).
The cost of project failure
Failed or poor-quality software could cost a business a fortune. A PwC study of over 10,640 projects found that a tiny, tiny portion of companies – 2.5% – completed 100% of their projects successfully. The rest either failed to meet some of their original targets or missed the original budget or deadlines. These failures extract a heavy cost – failed IT projects alone cost the United States $50-$150B in lost revenue and productivity.
Even worse, a Gallup survey found that 17% of IT projects can go so bad that they can threaten the very existence of the company.
The Ariane 5 launch is widely acknowledged as one of the biggest and most expensive software failures in history. On June 4th, 1996, the very first Ariane 5 rocket ignited its engines and began speeding away from the coast of French Guiana. 37 seconds later, the rocket flipped 90 degrees in the wrong direction, and less than two seconds later, aerodynamic forces ripped the boosters apart from the main stage at a height of 4km. This caused the self-destruct mechanism to trigger, and the spacecraft was consumed in a gigantic fireball of liquid hydrogen.
The major cause of this catastrophe was that when the guidance system shut down, it passed control to the identical backup system that had failed in the exact same way some milliseconds earlier since it was running an identical software. In reality, the algorithm containing the bug that caused this disaster had no purpose once the rocket was in the air since its sole function was to align the system before launch. It should have been turned off, but due to a decision made previously by engineers in previous versions of the Ariane, they left it on for the first 40 seconds of the flight to allow an easy restart of the system in the event of a brief break in the countdown system. As a result, the rocket exploded, burst into a million pieces, and crashed into the open field.
The disastrous launch cost approximately $370m, led to a public inquiry, and through the destruction of the rocket’s payload, delayed scientific research into workings of the Earth’s magnetosphere for almost 4 years.
Key reasons why software projects fail
As organizations undertake major digital transformations, software-based innovation and development rapidly expands. Tech teams put in high hopes when developing a software application, making it more frustrating when the project goes off the rails. That being said, managers need to be aware of potential project pitfalls ahead of time to give the business a better chance of success.
Below, Tech Grid Asia shares a compilation of some key reasons why software projects fail, and what you can do to prevent it.
Fail to set goals and priorities
Any kind of project is doomed to failure when stakeholders/clients and project teams are not clearly aligned on top priorities and goals. Software applications must be developed with some sense of need, but such need has to be clearly clarified or quantified in order to create goals and priorities. If software projects lack clarity on its urgency or priority, they will be the first to get cut or abandoned when circumstances change and resources become limited.
What to do: define the endgame and how to get there. At many points during a project development stages, change of plan is inevitable but setting a finish line will help the team to stay on the right track. When it comes to making priorities, make an agreement on which one should fall into the ‘must-haves’, ‘should-haves’, and ‘could-haves’ category, so the team can provide a solid framework for the iteration and delivery of particular features.
Too many people assigned
To deal with a lagging schedule, project managers tend to add more team members, hoping to speed up the project and meet deadlines. However, having too many hands on the pot is problematic. Not only will it be more costly, there might be compromised quality as well.
What to do: determine and limit who should be involved in the project from day one, whether you’re building in-house or using vendors. Avoid working in silo and embrace openness, so both team members and stakeholders can work collectively.
Poor time scale estimation
Clear understanding of the company’s budget and time frame is crucial in a software development project. Clients or stakeholders are eager to have their projects rolled out on time and even before the stipulated deadline so they could cut prices. This is why some software developers or vendors are often tempted to underestimate the work required to deliver these projects, thus over-promising on time frame and budget.
What to do: understand the desired outcome first. Clarify the definition of the project scope, the features, the quality required to come up with measurable benchmarks of time and cost.
Laser-like focus on the task at hand is good, but it does not mean project managers can ignore suggestions, criticism, or even new ideas that might help make the software development more efficient. In most cases, inflexibility in planning will lead to dead ends and lack of innovation within team members.
What to do: be adaptable to change. Sticking to goals is vital but as the proverb says, all roads lead to Rome. It is important to foster an environment where anyone can make recommendations so problems can find solutions quickly without sacrificing final deliverables.
Poor preparation including lack of precise project requirements often leads to project failure.
What to do: what will be necessary to complete the project on time and on budget? There needs to be clarity in order to identify the right project manager, programmers, designers, and other resources needed to get this project over the line.
Poor communication skills will do harm in most projects. Failure to set up effective communication channels will lead to failure because ideas or process flows tend to get adrift. At times, this may lead to understanding that might hamper the project development.
What to do: to keep everyone on the same page, there needs to be an open, transparent communication. Software project managers should encourage open communication and leverage participatory group decision-making to solve challenges.
No end-user involvement
The main purpose of building software is to solve problems that users encounter. So, failure to find and engage the right users to participate in the software development stages is disastrous. It will be such a waste to find the software that your team has been working on is not the problem the customers need to be solved.
What to do: do the hard work of deeply understanding current and potential users, dig into what they need and what they’re willing to pay for. This will keep project performance and can help refocus a team when things derail. A thorough user acceptance testing (UAT) phase is critical to ensure the software has no bugs, broken features, or a tendency to crash.
Choose the wrong team
Picking the right team is essential for a successful project completion. Likewise, the wrong team makeup can doom a project from the start.
What to do: pay attention to the most critical aspects of team composition, such as team size, expertise and experience in delivery of similar projects. Managers need to make sure that each team member possesses adequate and required skills to do their job.
It might be easy for a software project to fail, but it takes hard work, persistence and thoughtful planning to succeed. Be sure to determine the project scope and assign competent leadership to achieve desired outcome. If you want to meet quality talents in software project development, contact us today!
Read also: UX vs CX: More than Just Buzzwords