This includes unique service offerings, deeper system integration, better efficiency and more.
Unfortunately many studies show that the failure rate of custom software projects ranges between 50% – 80%. Meaning that a large portion of custom development projects do not meet their intended goals.
There are many reasons for failures with some of the key reasons and antidotes noted below:
Lack of clear requirements
What are you are building and why are you building it. Ultimately, what is the business value that the new solution will bring to you and your stakeholders.
Act like a product company rolling out a new solution by developing clear business requirements before the first line of code is developed:
- Product objectives – How does it align with business goals? What are the planned outcomes?
- Project scope and key requirements – What do users need and why?
- Key stakeholders – Identify roles including gathering requirements and feedback.
- Schedule – Include timeline, milestones, and dependencies – especially for the top priority new requirement.
- Cost-benefit analysis – Is there a clear ROI?
Not using an agile development methodology
Using an agile, iterative model will dramatically increase the chance of success of your project*.
- Agile is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches.
- Instead of betting everything on a “big bang” launch, an agile team delivers work in small, but consumable, increments.
- Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.
Selecting the wrong tech stack
The choice of which technology to use cross front-end/back-end development and hosting infrastructure has an impact on your success.
- The ramifications of choosing the wrong technology and infrastructure can include issues like security, performance, costs, scalability, supportability and more.
- You also may incur technical debt going forward that will be even more expensive to replace in the future.
Lack of end user input
If users don’t find a solution useful or usable, your custom software development will be a failure.
- Input from the end user should be considered during the planning, designing, development, testing, and rollout process.
- Using agile development methods, you should incorporate end user reviews to test early and test often so you can adjust the next set of priorities to help improve the success rate.
Excluding long-term needs in budget
This includes not considering the maintenance support and enhancements when developing the software budget model.
- Maintenance support – How will end user issues be addressed – from initial support to developing, testing, and deploying fixes.
- Enhancements – You need to include a budget to develop enhancements as the business needs, competitive landscape or regulatory needs evolve.
By not including these considerations in the plans, the solution will become less and less advantageous to the business and useful for the end-users.
As a bonus sixth issue to highlight, project management is critical to the success or failure of a software development initiative. Staff, enable, and support project management like the success of your new solution depends on it – because it does.
A Real-world Example
Let’s look at one recent real-world example – the State of Minnesota Licensing and Registration System (MNLARS). After years of software development, an audit commission concluded that “the system did not adequately meet the needs of Minnesota residents and key stakeholders, despite a decade of work and significant state expenditures.”
In Chapter 3, the MNLARS post-mortem summary included the following key issues with the implementation – project scope issues, lack of clear business requirements, staffing issues, time pressures and more.
Using a proven and agile methodology, Valtira has delivered successful custom software projects for HealthPartners, Edina Realty, AMC and many more – helping them meet their strategic business goals.
Whether you need to deploy a strategic innovative solution, enhance features of an existing system, or deepen integration and data insights, we are here to help.
* Source: The Agile Coach, Atlassian