Commissioning a new software project is an exciting prospect. You start to imagine all your problems disappearing. You can imagine how much time you’re going to save or how much more money you’ll make.
You do your research and hire an agency that has experience in your field. Six months later your project is complete and you look forward to the added revenue.
Except for the new revenue doesn’t reach your expectations. Once you add in the cost of the new marketing campaign you won’t break even for at least 2 years. You look back and wonder if this project was the right choice after all.
Build vs Buy vs Do Nothing
This is one of those classic questions in software development. Should you build your system, buy something off the shelf, or do nothing at all.
Building your own has some definite advantages. You can control every aspect and make sure you get something that exactly meets your needs. You won’t have to make compromises on functionality or design.
Buying something that already exists has it’s advantages too. You can save a lot of money over designing and developing your system. You also don’t have to worry about maintaining the app.
Yet, sometimes doing nothing at all is the right choice. How big is the pain you’re experiencing today? Do you know for sure that your customers want the thing that you’re considering building?
The most expensive mistake you can make is building something nobody wants. Not building something you desperately need can cause a lot of lost time or revenue. How do you decide if you should proceed with your project?
Buying a Solution
What would you do if someone came to you and said: “We need an email client.” Your first reaction wouldn’t be to go hire someone to build you a custom version. You would use Gmail, or Outlook, or one of the hundreds of other existing applications
Building your custom version of something is going to be expensive. Before you leap you should take the time and look around for an existing solution. Many times people will assume their needs are so unique that nothing could exist already.
Is there a desktop or SaaS application that handles 95% of your needs? Great then your search might be over! Before you declare victory there are a few more things to consider.
How much will it cost you to integrate the application into your business? Bigger companies usually need some customizations to integrate the application into your business.
Are you still going to have to hire a consultant to help with the integration? How much will that cost?
Does the application do more than you need? This can be both good and bad. You might be paying a premium for a bunch of features you don’t want. Those extra features will also make the application harder to learn and use.
Maybe those features are something you will eventually want. You want to focus on what you need today while keeping an eye open to the future.
You don’t own the code
What happens someday if you find a bug in the application you bought? Bugs are bound to occur in anything you use. If you’ve bought the software you’re at the mercy of the company to fix it.
You will put an issue in their bug tracker. You can then expect it to be fixed sometime between now and never. If that bug is a security issue are you putting your company into jeopardy?
If you’ve purchased a SaaS offering your data most likely lives on their servers. How much do you trust the company that you’re using? Do you know if they’re following all the best security practices? What kind of impact would it have on your company if that data was released on the internet?
Building Your Own
Custom software projects always have the risk of being a complete failure. The freelancer you hire might disappear. The expert agency might give you an estimate of 6 months that turns into 18. Your company needs could change in 8 months and you’ll never recoup your investment.
Is the company you’ve hired to build your project follow the best security practices? What about when new security vulnerabilities are found after your project is finished. You’re now responsible for keeping your applications updated.
You can always pay someone to come in and make the necessary changes. Who is going to be responsible for keeping updated on the latest issues so you know there is a problem?
Slower to Start
If you’re building your project, you’re going to have to wait months or even years before it will be complete. What is the opportunity cost of that decision? Can your business afford to wait that long? What if someone else comes along next month and beats you to market?
You always have the choice of taking a hybrid approach. You can buy an existing solution now while you work on your custom solution. This approach is going to cost more, but if you have an urgent problem it might be just what you need.
Your business has a set of core values that differentiates you from everyone else. You want to build the software that differentiates your business.
If you’re building a mobile app for your customers, you’ll want to have that custom-built. You will want to have complete control over the functionality and design.
Yet, you don’t need to build the HR system for your company yourself. You will do fine using an off the shelf solution.
The decision to build is not an exact science. You have to weigh the cost and risk of the problem you’re trying to solve. Identifying your core business differentiator is vital to your decision. In the end, there are a few questions you need to answer.
- What is the true cost of ownership for building and buying over the next 5 or 10 years
- What will it cost your business if you do nothing
- How do the risks for building and buying impact your business?