How to rescue a failed software project

A successful software development project can translate into ground breaking improvements and financial reward for your business. But if the project fails – or doesn’t deliver what’s been promised – it can turn into a digital nightmare. Let’s take a closer look at what can be done to rescue a failed software project!

Rescuing failed software

Here at DCSL, we often get approached by clients who have run into trouble with their software development. Sometimes the project has stalled, perhaps due to technical or organisational issues, and sometimes the development team has simply not been able to address the key challenges the software was meant to solve. Whatever the scenario, we are tasked with untangling the development progress and making a fresh start.

The Toyota Way

There are many different approaches when it comes to software project rescue, depending on the type of software and what the issues are. But in general, we take much of our inspiration from the tried and tested methodologies of the Toyota Way. This philosophy originated, as the name suggests, in the Toyota Motor Corporation. So what does car manufacturing have in common with software development projects? Well, as it turns out – quite a lot.

Five steps to software rescue

We suggest taking a systematic but simple approach, loosely based on the Toyota Way principles, when analysing the challenges and the purpose of any software development project.

  • Step one: Consider the bigger picture
    Take a look at the original scope of the project. Does the software functionality actually serve the long-term plan of the business – or does it just solve a temporary problem?
  • Step two: Look at the process
    Has the original development process been designed to be highly efficient, or are there areas where time, resource and money is being wasted?
    Many software projects need to be continuously streamlined and monitored to ensure that the team focuses on the most efficient activities at any given time.
  • Step three: Balance the workload
    In software projects, we often see how some team members have been pushed to their limits, while others are not as involved as they could be. But to get the best from everyone, it’s vital to find a healthy workload balance. (This also goes for hardware and technology resources!)
  • Step four: Use visual control
    Once a project has failed, there is often a sense of disappointment and lack of trust from senior management level. Apart from getting the development back on track, the project owner is often tasked with reinstating trust in their ability to deliver. This requires transparency, clear communications and demonstrated improvements.
  • Step five: Decide slowly, implement quickly
    When it comes to making key decisions for a new direction or perhaps a complete re-start of the project, it’s important to involve all the key stakeholders and allowing them to bring their influence to the table. Decisions should be born out of a clear understanding of everyone’s expectations. (You may not be able to please everyone, but you should take their views into consideration and help them understand what to expect.)Once the decisions are made, the actual implementation should happen rapidly. This is where an Agile approach is invaluable. An Agile team uses a flexible, incremental process for development, to rapidly produce functioning software that can be tested and refined in cycles.

Control the costs

Once a software project has gone defunct, it’s of course tempting to focus on the costs of the mistakes that have been made – and it may be difficult to secure the budget needed to fix them. However, it’s important to have a clear view of the financial benefit the finalised software would bring to the business, and make any further investments based on that. Your development partner should also be able to give a clear expectation of what the end result should look like and what it will cost.