As controversial as Donald Trump has been during his race to the White House, his “Make America Great Again” slogan has resonated with millions of people. With that simple slogan as his springboard, he’s managed to capture the sentiment of his supporters – people who are feeling frustrated and upset with their options.
While I certainly don’t want to be the Donald Trump of custom software, we’ve been receiving a higher-than-usual volume of inquiries from companies that are frustrated with their current custom software “situation.” Furthermore, not only did the title of this blog seem like worthy click bait, but it captures the sentiment of FrogSlayer’s more recent prospective clients.
We’ve talked to a number of people in the past few months across a variety of industries – an HR consultant, a food-service CEO, a mortgage lending executive – all experiencing similar issues with their custom-built software tools:
Recurring & Increasing Bugs
“Bugs that we fixed before are now popping up again.”
“It feels like I’m finding another bug every time I log in.”
Lost Opportunities
“If our software was stable then we could have added some enhancements for a new, large account and won their business. Instead, we missed out.”
Communication Problems
“I explain to my team what needs to happen and they implement the wrong behavior.”
Missed Deadlines & Releases
“It’s been weeks since users have gotten a new feature or a bug fix.”
“Our software team never delivers on time. The release date is always being pushed back.”
During each of these calls, you could almost feel the pain and frustration through the phone. I felt so bad for them. However, the unfortunate reality is that this sort of thing happens all of the time.
Luckily, we’ve gotten pretty good at helping people that feel like their current software project is a losing battle. We started to offer prospective clients a free end-to-end system evaluation. A few of our senior engineers take a peek under the hood and conduct a complete code and infrastructure audit.
This is a tedious and time-consuming effort, but here’s what we’re finding:
THE PROJECT HAS CHANGED HANDS MULTIPLE TIMES, LEADING TO:
- Temptation to include a developer’s favorite library or framework to solve their problems
- Lack of code documentation
- Lack of a “coding style” standard. This is likely caused by lots of copying and pasting of code form person to person. Consequently, this results in “un-readable” code that can be difficult to support.
THE CORE TECHNOLOGY/FRAMEWORK BEING USED IS OLD OR OUTDATED, LEADING TO:
- Inability to run on different platforms (ex: Chrome vs. Internet Explorer or Windows 10 vs. Windows 7)
- System is “hard coded” to run in a specific development environment
- Security vulnerabilities
OVERUSE OF THIRD-PARTY LIBRARIES OR TECHNOLOGIES, LEADING TO:
- Increased difficulty and time to debug issues
- Cumbersome code base that is difficult to organize and build
- Lack of a single, cohesive architecture
- Over-engineering to compensate for the architectural issue
- Poor documentation
The crazy thing is that these problems usually persist for months, sometimes years.
In most cases, we are talking about systems and tools that employees and customers rely on every single day, software that is critical to the mission of the business and to an employee’s productivity.
You need this software to just work. Not only today, but for years to come. Your employees, your customers and your bottom-line depend on it.
So far we haven’t encountered a project that isn’t salvageable. Usually a bit of code clean-up and stabilization work is required before new development can start back up. However, that is a small price to pay for reliable, long-lasting software.
If you’re experiencing a combination of the issues we outlined above, then you need to let an experienced and reputable firm evaluate your system. I don’t even care if it’s FrogSlayer, but someone you can trust should give you their professional opinion. Until this year, I never realized how big of a problem this is in our industry. It’s frustrating to even think about how many of our clients have gotten burned by other teams.
To really make your custom software great again, something will have to change. Most likely, you’ll need to replace your current software team. In that event, just take some advice from Donald Trump:
“Usually if I fire somebody who’s bad, I’ll tell them how great they are. Because I don’t want to hurt people’s feelings.”