Getting Custom Software Projects Right

Clock icon 1 year agoFolder icon Oleksandr Kravets

As you’re aware, software failures can be disastrous for both business and users alike. Let’s look at some examples:

  • German pro basketball team got transferred to a lower division due to Windows update
  • Hundreds of LAX flights got delayed/cancelled due to insufficient computer memory
  • Ariane 5 rocket exploded due to a bug in the algorithm
  • Pennsylvania State sued IBM for the incomplete unemployment compensation system.

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.

The Crucial Process for Implementing Custom Software

1. Custom Software Projects - Processes for implementing custom softwareKey Statistics

  • 75% of the IT professionals expect software projects will fail.
  • As per PWC’s 2017 Annual Digital IQ survey including business and IT executes from 53 countries, 58% claim inflexible/ slow processes affect digital transformation, lack of integration of old and new technologies (41%), outdated technologies (38%), unskilled teams ( 37%).
  • According to Project Management Institute’s  2017, Pulse of the Profession report:
    • 28% of the strategic initiatives were complete failures.
    • 37% of the respondents cited lack of clearly defined goals as a reason for failure, followed by poor communication, lack of communication, employee resistance and insufficient funding.

 

2. Custom Software Projects - Success and Failure Rates

 

 

3. Custom Software Projects - Failure Rates - Agile versus Waterfall

Massive IT Project Failures and Why They Failed

1. FoxMeyer

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:

  •   Aggressive and over-ambitious time line of merely 18 months
  •   Lack of co-operation by the end users.
  •   Poor planning
  •   The new system wasn’t capable enough to replace the old system. For example, the old system could process 420,000 orders while the new one could only process 10,000 orders.
  •   Insufficient testing
  •   Poor management

 

2. Queensland Health Payroll System

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:

  •   The business requirements were not clearly defined.
  •   The system was supposed to be fully automated however it required significant manual operations.
  •   Overall, the project had faults at every stage – procurement, planning, management etc.

 

3. Apple’s Copland Operating System

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:

  •   Feature creep
  •   The managers went overboard in pushing their own products to be integrated in the System 8. Although one developers’ release was launched, it was unstable.

 

4. NHS Connecting for Health

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:

  • Ballooning costs : The initial cost was to be £2.3 billion over three years, but it increased to £12.4bn over 10 years
  • It didn’t deliver clinical functionality
  • The tool wasn’t designed to protect the privacy and security of its users.

 

5. Myers Online Shopping Website

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:

  •   A programming error affected the site’s communication with servers.

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.

How to Ensure Success in your Custom Software Project

4. Custom Software Projects - Front End Development
1. Communication is the key

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.

 

2. Proper planning

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.

 

3. Setting realistic expectations

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.

 

4. Use project management 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.

 

5. Feedback from the customers

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