No one in the industry likes to talk about it. Frankly, it makes us all look bad. And even though the numbers are getting better instead of worse, they are still far from ideal.
According to a recent study by the Project Management Institute, a full 15% of IT projects were deemed failures in 2017.
Failures. Not partially successful. Not on time, but over budget. Complete and utter failures.
Custom software isn’t cheap, and it’s depressing to know that you can invest $100,000 or more and still have a 15% chance of failure.
There’s no doubt that this is an industry-wide problem, growing from the sudden intense need for custom software in so many industries. For the past decade, software companies have fought to keep up with demand.
If you’re thinking about paying for custom software, take a careful look at the company you choose. If you want one that is serious about completing successful projects, here are three things to look for:
We’ve heard it again and again: “I was all ready to have you write my custom software, but then my neighbor told me he has a cousin that can do it for a tenth of the cost. So I feel like I should go that route.”
Of course you do. If I could buy a candy bar for $1 or $10, it’s no secret which one I’m choosing. But we aren’t comparing candy bars to candy bars here.
You might think there are several obvious reasons why the price is that much cheaper: no office space, no overhead, a one-person shop, etc. That’s why you’re getting a good deal.
Some of that is true. But there’s another huge factor.
Even assuming that the nephew’s programming skills are up to snuff (which is definitely something to look into—every kid with a laptop thinks they can program these days), there’s one HUGE difference between George working out of his bedroom and what you get at EduSource: Process.
Here’s an enlightening finding from a study completed by IBM: the best software companies are 10 times more successful than the worst organizations. Ten times! What separates them? Process.
Process is what makes sure that you get the same results after doing something over and over and over again.
Writing software is an incredibly complex process. And if you are just sitting at your computer with a vague idea of where you’re going, you’re simply never going to get there. There are so many pieces to a good software process. Our software-writing process is long and complex (and will be a whole blog post at some point), but here are some of the steps:
There’s so much more to our process, but those are some of the high points. If you are having custom software written, ask about the company’s process. If it’s not well developed, keep looking. Strong process is the only way you know the company will be able to repeat past successes.
One easy way to have a project fail: don’t have a defined goal you’re aiming for.
Here’s the problem: you know that you need custom software. You know the problem that needs to be solved. You even think you know HOW it should be solved. But when the software is complete, it really doesn’t fix the pain. It doesn’t solve the right problem in the right way.
How do you fix this? Lots of time up front, for both the client and the software company.
That’s why we require a Discovery Session for any company that hasn’t already gone through one with someone else. Here’s what it is:
We spend 2-3 days meeting on-site with your team. Our team spends one whole day observing how your team does work and taking relevant notes. We’ll spend the next day brainstorming with your team, narrowing the ideas down to find your specific pain and identifying the best solution. Then our team goes to work, creating user experience (UX) mockups, architecture overviews, a budget estimation, and a list of User Stories to get your project started. Finally, we spend time with your team again, presenting our plan. We want to make darn sure that the money you’re investing will solve your problem.
The whole process takes 1-2 weeks to complete. And at the end of it, we feel really confident that we are building software that will change how you do business.
If someone offers to build you software without spending a significant amount of time with your company, know that the chances of success aren’t good.
Before you commit to a software company, ask how they keep on track with timelines and budgets. There are many good ways to stay on top of these things. At EduSource, we use a method we call Daily Layered Accountability (DLA).
In addition to being able to make a computer sing, software engineers are also pretty good at math and statistics.
We’ve put those skills to good use with our sophisticated DLA metrics. Let’s see if we can explain this in a way that’s easy to understand…
First, we use something called Agile Kanban as a software methodology. We track the Kanban progress of our User Stories using Jira, a project management software. Using Jira and Kylo (a data lake management software), we are able to automatically figure metrics for each of our projects each morning. (If you’re really curious about how all of this works, give us a call. You can come in and observe our morning meetings. We’ll tell you all about it.)
When our teams get in each morning, they are looking at how well they are doing on:
Each and every day, these metrics are calculated automatically. In morning meetings, teams look at these metrics so that they know early in the process if we are running tight on cost or if we are trending later than we should be for our delivery date. If there’s a problem, it gets escalated to company directors.
The really neat thing about these metrics? Several of them are predictive, meaning that even though a User Story isn’t late yet, we can predict that it’s likely going to be late by how much work has been done on it so far. Sometimes a team can work late one evening and get back on track before they’re ever really late.
This level of attention to detail is extremely unusual in our field. In fact, we’ve never talked to another software company that uses something similar.
Paired with our Discovery Session, DLA metrics ensure that we actually get things finished when we say we will for the price our clients expect.
Finding a software company that is set up to succeed is only half the battle. Here are a few things you can do to keep your software from failing: