Software development is the cornerstone of the advancement of technology. Whether it be mobile apps, onsite applications, SaaS or web development the result of a failed software project can be devastating and costly.
Research by the Standish Group Chaos Report provides a fascinating insight into why software development projects fail. The Chaos report which has been published since 1994 is a snapshot of the state of the global software development industry. The 2015 report studied 50,000 projects from tiny enhancements to major global IT projects.
The latest research shows that only 29% of projects were successful, 52% were challenged and 19% were outright failures.
The research shows that the larger a company is, the more likely it will be that the software development project will fail. According to the report, only 9% of projects in large companies were successful.
Looking deeper into why software projects fail we come across many repeating factors. Keeping on top of these factors will strongly increase the chances of a successful outcome.
1) Lack of budgeting controls
Software development projects are very difficult for developers to assign a fixed price. The customer obviously desires a fixed price so they can budget accordingly. However flexibility has to be taken into consideration as hurdles are often reached by the developer along the way and the customer usually requests changes mid-way through projects.
While tendering for a software development project, it is imperative that the customer provides as much information as possible about the internal processes and systems currently in place. The deeper the developer understands the project from the outset, the more likely it will be on budget and a success.
A final point to take into consideration with fixed price bids is that the goals of the developer and the customer are not usually aligned. The developer wants to get the project done in the quickest possible time while the customer expects a fully featured final product.
2) Unrealistic time and budget expectations
According to the research most software development projects overrun in terms of time and cost. The average overrun cost across all companies is 189% of the original cost estimate. In terms of time, the average overrun is 222% of the original time estimate.
In order to alleviate the effect of overrun of time and cost, expectations need to be carefully managed by the developer. From the outset, the developer must be honest and transparent with the customer to avoid disappointment later in the project.
3) Poor communication
Bespoke software development projects require clear and transparent communication between the customer and the developer. This clear communication channel needs to be in place from the outset and include every phase of the project from planning, development, testing and final deployment. A breakdown in communication is one of the most common reasons cited for the failure of software development projects.
For the best chances of a successful project, the customer should be involved every step of the way. This allows for the customers’ expectations to be managed and can provide early indicators if the project is going to fail.
4) No feasibility analysis
Before undertaking a large scale software development project, it is vital for the customer to undertake a feasibility analysis to ensure that the project makes sense, is needed by the organisation and will actually work if it is implemented.
5) Absent or poor legal agreements
Ensuring that you have a clear legal framework that outlines the development project including the expectations of both parties are critical for a successful outcome. The last thing that you want in the middle of a software development project is a bitter legal dispute.
Before commencing a software development project, it is highly advisable to have a strong and binding agreement in place to protect both the developer and the customer.
The contract should include:
- The software design
- Development process and timeline
- Testing – both at the developers site and the customer site
- Software deployment and integration into customer operating environment
- Support, maintenance and service level agreement
- Schedule for updates and major releases
- Change control
- Managing variations
- Intellectual property rights
- Source code escrow
- Penalties for delays
- Termination clauses
- Dispute resolution
It is also a good idea to use a project escrow service for the source code. A project escrow service ensures that a copy of the source code is deposited on at least a monthly basis during the project. This provides protection to the customer if a dispute arises midway through a project. Although a difficult decision and only likely to be used as a last resort, it provides the customer the option to change developer midway through the project without relying on the goodwill of the previous developer to transfer over the code.
Project Success Factors.
There are obviously many reasons for the failure of software development projects. From the customer perspective, the following 3 reasons are most attributed to a successful software development project.
- User involvement from the customer
- Senior management support
- Clear statement of requirements from the outset
Contact Escrow London today www.escrowlondon.co.uk : +44 (0) 20 3862 0380