The Software Dilemma: Build It or Buy It?

Every business today runs on software. Whether it’s industry specific or not, every business uses software to track productivity, plan future events and release dates, load customer information for communication, etc. When you run a business and find that if you had a certain piece of software then life would be so much easier, you have a choice to make. Do you build that software or buy it?

When you think, or know, that your business needs a new piece of software, BUY IT. Especially as a startup, but even big businesses, should find it an important philosophy to learn. Developers, IT professionals and company CEO’s should adhere to this philosophy regardless of business size.

Think about it this way. If you walk into a room with someone and tell them that you are going to spend anywhere from $2-$500 million of time and money to build a word processing document editor, or a spreadsheet editor, and your business is a law firm, the person with you will want to check you into a medical facility. They will think you are day drunk in the office and have no idea what you are talking about. Those products already exist, right?

That is really intrinsically easy for us to understand. As examples of things that we need to do in the software arena get more complex and become products we are not accustomed to buying off the shelf, we have this instinct to build it. However, the truth of the matter is that, generally speaking, building is more costly than buying. That may not be true in every case, but most of the time it will work that way. If what you are trying to do is not core to your line of business, you should always look to buy the necessary software.

Even though it is likely cheaper to buy the software you need, there is a con to doing it: The software may not do everything you want or need it to do. So, you need to ask yourself, and potentially other people who will be using the software, can you live with those shortcomings? Or, can you find two pieces of software that will work together to accomplish your goal?

The biggest con to buying software is that you have to configure it. You have to customize it to your needs and make sure it is integrating and working with your other software systems. You likely have different pipelines of systems and information needs to be shared between them. If that process becomes complex and you discover that you will have to invest considerable time into configuring, expanding and extending software, combining it to get data to flow between programs, you should then evaluate the building process.

With building, you should evaluate whether you can build an orchestration layer where you can make different components talk to each other, or whether you can build or extend the software that you are given. And evaluate whether those approaches will take more time than what you would spend to build it from scratch. As you go through the evaluation process, keep in mind that if you are paying for a lot of features that you will never use when buying and you only need a minority of the features the software offers and you will spend a lot of time customizing those features, you should build.

So the question really boils down to a balance of cost, which is really important for any business. And the end result of that cost is important, too. Does A cost more than B? Will buying versus building be able to handle what I want to do two years from now? Will buying versus building still be cost effective, at scale, two years from now? You have to really consider the answers to these questions when making this type of a decision. Your business needs this software, it will make your workflow more efficient which will result in higher productivity and profit margins. You’re going to spend money regardless, so you need to make sure that you’re being as cost effective as possible.

Now, if the piece of software you need is the prime line of your business – it what you do – you should definitely be building it. If it’s directly in the line of your business and you are essentially using a software kit (platform, SDK, SaaS), you should still be hiring an expert to customize it because it is core to your business’ lifeblood. This is your bread and butter, and you cannot take software off the shelf and run your moneymaker on it. Generally, it doesn’t turn out well.

There are consequences to making the wrong decision. If you decide to buy a piece of software because you think it’s what you should use and it’s related to your line of business or you need to spend months configuring it and months getting systems connected, and then it doesn’t do everything you need it to do so you have to build around it anyway, you’re making the wrong decision.

What happens when you make the wrong decision? Fragility.

At the end of the day, you have to weigh the cost versus the time. A custom-built system that does everything you need and can be expanded, it’s built correctly and stabilized for you company, is going to be less fragile than something you buy. However, if you need a system that’s going to take credit cards and run transactions, building it is a bad idea. There are plenty of experts out there who have invested millions and billions of dollars into building robust systems that already do this, similar to the word processing example above.

So, the short answer is you should buy the software you need in the majority of cases. But if you’re unsure, you need to really sit down and evaluate the numbers to figure out the best course of action. And, like anything else, if you are unsure or question anything, consult an expert!

About the Author

PWV Consultants is a boutique group of industry leaders and influencers from the digital tech, security and design industries that acts as trusted technical partners for many Fortune 500 companies, high-visibility startups, universities, defense agencies, and NGOs. Founded by 20-year software engineering veterans, who have founded or co-founder several companies. PWV experts act as a trusted advisors and mentors to numerous early stage startups, and have held the titles of software and software security executive, consultant and professor. PWV's expert consulting and advisory work spans several high impact industries in finance, media, medical tech, and defense contracting. PWV's founding experts also authored the highly influential precursor HAZL (jADE) programming language.

Contact us

Contact Us About Anything

Need Project Savers, Tech Debt Wranglers, Bleeding Edge Pushers?

Please drop us a note let us know how we can help. If you need help in a crunch make sure to mark your note as Urgent. If we can't help you solve your tech problem, we will help you find someone who can.

1350 Avenue of the Americas, New York City, NY