A successful software development project can translate into groundbreaking improvements and financial rewards. But if the project fails – or doesn’t deliver what’s been promised – it can turn into a digital nightmare. 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, the development needs to be untangled and set back on the right path.
Nick Thompson, managing director of DCSL Software suggests how to best rescue a failed software development project.
Five steps to software rescue
There are many different approaches when it comes to rescuing a software project, depending on the type of software and what the issues are. But when software development runs into trouble, take a moment to think outside of the box. Look towards companies with clearly defined philosophies and tested methodologies and see if they can be applied to the current situation. One great example of a company with a transferrable set of principles is Toyota Motor Corporation, with The Toyota Way.
When analysing the challenges and the purpose of any software development project, taking a systematic but simple approach loosely based on The Toyota Way principles can bring a fresh perspective, and help solve a development disaster.
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, it sometimes happens that 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.
Control the costs
Once a software project has gone defunct, it’s 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. A good development partner should also be able to give a clear expectation of what the end result should look like and what it will cost.
If your software project hasn’t quite hit the mark, the first step is to analyse where and why it went wrong, and then look at how those mistakes can help you form a better process for next time. When starting again, or beginning to repair a project, clear and honest communication is crucial for success. This will help generate a fair balance of workload between team members, and rebuild trust between developers, project managers and senior managers.
All stakeholders need to be free to express their thoughts and expectations, but once the decisions have been made the collective expectations and targets should be outlined to help avoid any dissatisfaction or confusion once the implementation is in progress.
A failed or broken software project can at first seem like a waste of funding and time, but it will prove beneficial in the long run. Learning from mistakes has long been advocated by some of the greatest business minds, and this is something to remember if you’ve had some negative outcomes from a project.
Put into practice an improved process based around what you’ve learnt from your pitfalls, and you’ll soon see that when it’s designed and implemented correctly software brings financial gains and positive improvements to a business, making that extra time and effort all worth it.