1 year ago Oleksandr Kravets
As you’re aware, software failures can be disastrous for both business and users alike. Let’s look at some examples:
There are multiple reasons for software projects to fail. Poor management, scope creeps, decision latency, insufficient training, coding mistakes, unexpected costs and complications are the major reasons behind the big software failures. And they keep happening over and over again.
Key Statistics
FoxMeyer was the largest distributor of pharmaceuticals in the U.S in 1993. In 19994, the company had purchased SAP system and warehouse automation system and the two systems were to be integrated. The project was awarded to Andersen Consulting for $35 million. FoxMeyer eventually filed for bankruptcy in 1998.
Reasons for failure:
Queensland Health contracted IBM to replace its payroll system and develop a new payroll system. It was to be launched in 2010 however it was a massive waste of $1.2 billion.
Reasons for failure:
During the 1990s, Microsoft was successful with its launch of Windows 95. Apple was desperate to develop their in-house operating system – Copland and launch it as System 8 in 1996. It was cancelled eventually and Apple purchased NeXT to develop their own OS.
Reasons for failure:
The project was developed to maintain the NHS National IT infrastructure through a single and secured electronic care record for patients. The tool had to connect 30,000 GPs to 300 hospitals.
Reasons for failure:
Myers, a department store invested heavily in launching a website to boost their sales. The website crashed during the Boxing Day sales when over 7,000 customers accessed the site.
The customers were unable to complete their orders and the site was taken down. Not only did the site remain down for a few days, David Jones managed to increase their online sales by 100%.
Reasons for failure:
The definition of project failures has changed over the years – time, scope and cost are no longer the only metrics. The software should be able to deliver the functionality as expected.
The new software development methodologies like Agile is crucial in mitigating the project failures. With agile, the code is written in parts, it is tested and verified before the next build is started. The errors are checked frequently and the overall project is of a better quality leading to low failure points.
However, agile also has its drawback. The smaller code is built and tested but when the overall application is deployed, it doesn’t work.
Effective communication in the workplace to create a positive work environment and great relationship with the clients. The companies focussing on developing strong relationship have a better chance on achieving great results.
Moreover, it is essential to meet everyone involved in the project – the developers, testers, SMEs, architects, project managers etc.
Your team should be on the same page with respect to understanding the purpose of the project, the budget, and the timeline.
Many projects have failed only because of improper planning and lack of clarity on the project’s purpose. Hence, it is important to understand the functionality, budget and the timeline of the project.
Many software projects have failed due to aggressive timelines, underestimating the software complexity and unrealistic expectations. By having a proper understanding of the complexity the quality of the software can be improved.
Poor software quality, defects and revenue loss is due to inattention to the requirements and complexity. This results in bugs leading to missed requirements and quick code fixes which leads to an unstable software.
Use project management software like Jira to track the software development, keeping the teams organized and on schedule.
This way the team knows about the important milestones and deadlines. And the team is much more productive.
The software is developed for the end users and their feedback is crucial for the success of the project. The end users can test the software and provide feedback.
The testing process if started from the beginning ensures continuous feedback of the various modules of the software. It leads to quick defect resolution and a great end product.
Building software is a complex task. But it can be made easy by putting a plan together, effective communication