Top three reasons Custom Software projects fail.
Anywhere from 60-70% of software projects fail, but why does this happen?
This is not a problem any business wants to face when developing a project and why it’s absolutely imperative to avoid these three reasons custom software projects fail.
Reason #1: Solving the wrong problems
Any time a developer sets out to solve a problem, it is crucial that there is a concrete understanding of the problem at hand.
This sounds straight forward right? Not exactly.
One of the most important steps in providing solutions to any problem is understanding what exactly is causing the problem to begin with. Most problems can be a result of more than just one root cause, therefore making the problem a symptom of a deeper, more complex issue.
Therefore, it is important to not only look for a solution to the problem but to completely understand all the root causes.
Ask yourself "What are all the contributing factors?"
By following this simple tip, you can achieve a complete understanding of the problem at hand and discover if the problem is being solved the right way.
Reason #2: Too many re-writes
It is common for developers to be excited when beginning a new project. Software start-ups are fun and enticing; but as the project continues you may begin questioning the initial scaffolding of the project.
You may also find yourself asking:
- “Can this project scale?”
- “Did we approach the project from the right angle?”
- “Is there a bunch of unnecessary code?”
Slowly but surely you begin considering a rewrite.
There are many reasons we consider re-writes, but this is often a slippery slope.
It will almost always take just as long to rewrite a project as it did the first time, if not longer.
As you spend time rewriting the project, additional features may be requested.
The issues listed above can create pressure on a project because as you are spending time on rewrites, the client may become impatient or lose trust in your ability to produce a quality project in a reasonable amount of time.
However, sometimes a re-write is your best option.
Changes in scope
We had a client who came to us with a very simple issue they wanted to have solved.
About 2 months into the project the client re-directed the project and the problem they wanted solved.
In this case the issue became a much more complex problem to solve so a complete re-write was our best option.
Reason #3: Creating a solution that's worse than the original problem
Sometimes as a software developer it may seem appealing to take short cuts towards a solution to create a “quick fix.”
For example: Why would you want to go through the trouble of creating an in depth automated test script for filling out an application form for a web app whenever you can just take a couple minutes to fill it out yourself?
So obviously, you decide to fill it out yourself because it’s less of a hassle.
As your project continues and evolves, you continuously find the need to fill out the application’s forms, each taking a couple of minutes at a time.
After a few months of development and filling out 100+ of these application forms, you realize that if you would have just created an automated test script in the beginning you would have saved a ton of time in the long run.
Situations like these arise all the time in software development and can consume a lot of a developer’s time.
All three of the reasons projects fail listed above have one thing in common: wasting time. Time is very important when trying to provide a client with a high-quality product while staying within the original project schedule.
These are the most common reasons custom software projects fail. What problems have you faced?