Today, virtually every company needs software. So every leader faces this question at some point. While there’s no universally right answer, since it depends on your precise needs, the best answer is often “both.”
Because here’s the thing: The right software doesn’t always exist, and there are pros and cons to building what you need from scratch.
This is a common problem in industries that were late to embrace digital. Available software will do some of what you need it to—but it doesn’t do everything that you want it to. In these cases, we typically refer to the 80/20 rule, which states that if available software does at least 80% of what you need it to, then it’s worth purchasing and using.
But a lot of people will find that the best software available does less than 80% of what they need it to. And not everyone who falls into that category should set out to build their own software from the ground up.
Because sometimes, the best option is both purchasing and developing your own software—in other words, buying customizable software and going from there.
Customizable software provides a foundation.
With that foundation in place, you can then either alter the software yourself (without even needing to know how to code), or you can hire the right partner to help develop and build out the rest of the functions and tools you need.
Most of the time, though, you’ll want to engage a software development partner (often called an SI). Just because you can customize something yourself doesn’t mean you’re the best person to do it. Given your knowledge of your industry, you’re the best person to decide, “Here’s exactly what the software needs to do.” But an SI will be better at providing the, “Here’s how we do it, how much time it will take, things we need to avoid, and how we’ll control cost.” Having someone with a deep product development background in your corner can be invaluable.
It’s critical that you choose the right partner—one that can work with you to create a realistic project plan, budget, and timeline. Without this, you could be pouring hundreds of thousands of unnecessary dollars into development and face tremendous frustration.
Building software from the ground-up can entail a slew of unexpected pitfalls.
- It consumes more time than expected. A lot of the time, someone sets out to build software as a side project, and before they know it, they’re focusing on managing the software full time. Developing software is a massive undertaking—not a side project.
- It takes too long. Another problem with developing your own software: It takes a long time and requires frequent maintenance and updates in order to keep it from getting stale. I’ve seen so many big companies decide to build software from scratch over a few years. By the time they finish, the software is already outdated.
- It costs more than expected. Building software is never a one-time development cost. You have ongoing upgrade and maintenance costs for as long as you continue using it. So when you decide to build your own software at your company, you become, at least in part, a software company.
- It can be hard to communicate your precise vision to a software developer if you have little or no technical experience. The challenge isn’t just determining what outcome you want—it’s also designing a solution to reach that outcome. If communication isn’t 100% clear, you may end up with software that doesn’t look quite look like, or do, what you thought it would.
But buying and customizing existing software comes with its own risks and drawbacks as well.
- Functionality is limited. When you buy software off the rack, you have to compromise on what it can do. How many times have you been using software and thought, “Why can’t it just do this one simple thing? It’d make my life infinitely easier.” The “perfect” software doesn’t exist—even with customization.
- It’s easy to be swayed by cool features and lose sight of what you actually need your software to do. Don’t approach a software salesperson without knowing exactly what you need your software to do—otherwise they’ll sell you what they think you need. In other words, if you don’t ask the right questions, you won’t get the right answers—or product.
Still, purchasing and customizing existing software is much simpler, and thus a better option much of the time. This route is almost always cheaper. You’re paying for development, implementation, and ongoing licensing, but that’s about it.
To decide which method makes more sense for your company, ask yourself these questions:
- What problem(s) are you trying to solve? Make sure to ask yourself this question before you even start the conversation with a vendor. Don’t go out and purchase new software just because it has cool new features you may not even need. Purchase software because it solves a pressing issue.
- What ROI are you looking for? Do you expect the software to directly result in more sales or profit? Or should it simply make your life easier, giving you more time and peace of mind?
- How will you define success? So many companies go into the software purchase or development process without doing this. Set measurable benchmarks so you can determine progress and ROI, and, ultimately, success or failure.
The point is this: There are some situations where building your own software from scratch is a wise undertaking. But it’s not the best option every time software doesn’t do 100%, or even 80%, of what we need it to.
When faced with the question of, “Build or buy?” don’t consider it an ultimatum. Instead, look into customizable software, and whether you can create the functions and tools you need with it. And even then, remember that developers are often necessary to provide the “know-how” to your “know-what.”