Buy vs. Build: Making the Right Decision for Your Enterprise Software Needs

Dan Hughes
August 28, 2024
Comic of two employees deciding how to make a decision using rock paper scissors or eeney meeny miny moe by flipping a coin.

In today's rapidly evolving business environment, organizations face the critical decision of whether to buy an off-the-shelf software product or build a custom solution (aka. “buy vs. build”) any time they seek to solve a business problem with a technology solution. This decision is particularly relevant for large enterprises offering products that have a high reliance on technology. In this article, we will explore the key factors influencing the buy versus build decision, the advantages and disadvantages of each approach, and practical guidance for enterprises navigating this complex decision.

Setting the Scope

Before diving into the details, it's important to clarify the scope of this discussion. The focus here is on large enterprises that need to enhance their technology and business capabilities, rather than product companies whose core business is the development of software products. For product companies, the decision to buy or build is not merely a technical choice but a strategic one that can significantly impact their ability to innovate, scale, and compete in the market.

The scope also assumes that you have already take the important first step of determining if you already own something that can solve this new business problem.

Boxes on a palate

The Case for Buying Software

When I refer to buying software, I am speaking of pre-built solutions available in the marketplace (Commercial Off-the-Shelf or "COTS").

Lower Operational Overhead

One of the most significant advantages of purchasing an off-the-shelf software product is that the maintenance burden is largely shifted to the vendor. Enterprises do not have to worry about ongoing updates, patches, or fixing bugs. This is particularly beneficial for organizations that lack the resources or expertise to manage a complex software system.

Pre-Built Industry Best Practices

When you buy a software product, especially one that is mature and widely adopted, you are likely getting a solution that aligns with industry best practices. These products are often designed to meet the needs of a broad user base, ensuring that they are robust, reliable, and compliant with relevant regulations and standards. By using products based in industry standard processes, you become more able, and likely, to encourage industry standard procedure within your organization. This form of streamlining allows for more efficient business practice within your enterprise, increases the likelihood of new hires already understanding your processes, and actually makes it easier to buy your next off-the-shelf product without disrupting your current procedures.

Legal Recourse

Commercial software products typically come with clear legal agreements and support contracts. This provides enterprises with the assurance that they have recourse in case of issues and that they can rely on the vendor for assistance. This is particularly important for mission-critical applications where downtime or malfunctions can have severe consequences.

Old school comic image of a software engineer

Access to Skilled Talent

Another advantage of buying is that you can often find professionals who are already familiar with the product. This reduces the learning curve and allows for quicker onboarding, which can be crucial in fast-paced business environments. In contrast, when you build a custom solution, you need to invest in training or hire specialized talent, which can be time-consuming and expensive. You can hire people who are expert in the tools used to build a custom solution, but no one could immediately understand a solution you have built.

Innovation and Market Relevance

Vendors of commercial software products are continuously innovating to stay competitive in the marketplace. This means that when you buy, you benefit from ongoing improvements, new features, and enhancements without having to invest in R&D yourself. This allows your organization to stay relevant in the market and leverage the latest technological advancements.

It's worth noting that a mature open-source product can sometimes offer a viable alternative to commercial software. However, it's important to understand that while open-source solutions may reduce licensing costs, they come with their own set of challenges, particularly around support, maintenance, and legal considerations.

Robots building a Lego building

The Case for Building Software

Unique Functional Requirements

The most compelling reason to build a custom solution is when there is no existing product in the market that meets your specific needs. This is often the case when an enterprise requires highly specialized functionality or when the software needs to integrate deeply with proprietary systems1. However, you must apply appropriate rigor to confirming that you do, in fact, require specialized functionality. Often times, organizations perform activities in a unique way not because they need to, but because that is how they have always done it.

Competitive Differentiation

If your organization's competitive advantage relies on unique business processes or customer experiences, building a custom solution may be the best way to ensure that your software supports and enhances these differentiators. Custom software can be tailored to fit precisely with your business strategy, giving you an edge over competitors who rely on generic solutions. This is an instance where your unique functional requirements are necessary.

Flexibility

One of the key challenges with purchased software is the limitation on customization. Even if a product allows for extensive configuration, there is often a point where you hit the limit of what can be achieved without altering the core codebase. Building a custom solution means you can customize every aspect of the software to your exact specifications, ensuring it fits seamlessly into your business processes.

Building your software gives you complete control over its features, architecture, and roadmap. This can be particularly valuable if you need to rapidly adapt to changes in the market or if your business model is evolving. With a custom-built solution, you are not constrained by the limitations of a third-party product and can innovate at your own pace.

That having been said, with Great Power Comes Great Responsibility. Correctly building software is a complex endeavor and may distract attention and funding from your core organizational mission.

Avoiding Vendor Lock-In

Cartoon of man stealing a safe

When you buy a commercial product, you become dependent on the vendor for updates, support, and potentially even data access. This can lead to vendor lock-in, where switching to another solution becomes prohibitively expensive or complex. By building your solution, you retain full ownership and control, allowing for greater flexibility in the future.

Buy vs. Build Decision: Key Considerations

Two robots on a scale illustrating a buy vs. build decision

When deciding whether to buy or build, it's important to conduct a thorough analysis of your organization's needs, resources, and strategic goals. We highly recommend having the buy vs. build discussion up front and defining guardrails for when you will buy and when you will build. You can always choose to take a different path based on your more detailed analysis, but it is good to have a perspective before you are faced with the decision. Determining your guardrail and making a specific buy vs. build decision should always be structured using a formal solution options analysis.

Here are some key considerations that should influence how you approach a buy vs. build, whether you are establishing a guardrail or making a heat of the moment decision.

Resource Availability

Alien looking software engineer with multiple arms

While this applies to either option, it is more impactful for a custom build. Does your organization have the technical expertise, time, and budget to build and maintain a custom solution?

Keep in mind the future risks you will face if critical resources are no longer available. If you are highly reliant on "your genius" for a custom build, remember that they might be someone else's genius in the future. I also hear this described as "what if they get hit by a bus" or its happier alternative "what if they win the lottery." This can be offset to a degree by a best-practice and well-managed development process along with appropriate solution documentation.

Time-to-Market

How quickly do you need the software? Buying a product typically allows for faster deployment, which can be crucial in competitive markets.

Scalability and Future-Proofing

Consider how your needs might evolve over time. Will the purchased product scale with your business, or will you outgrow it? Conversely, can a custom-built solution be designed to accommodate future growth and changes in technology?

Future proofing also means considering the future prospects of the vendor product selected. If the vendor or the product exits the marketplace, you could be left holding the bag. The same can be said of custom builds, because even they are built on underlying technologies and if any of the underlying technologies become "legacy," the impact is the same.

Cost

Man climbing out of a dollar sign shaped hole

Evaluating cost can be difficult for these types of decisions. It is important to consider the long-term total cost of ownership. Cost is usually better evaluated in the specific instance when making a more generic up-front determination of your organization's posture. I recommend looking at a 5-year outlook and be sure to include the cost to build & implement, support, license, and enhance in response to future business changes.

Risk

Building a custom solution comes with higher risks, particularly around project management, technical implementation, and long-term maintenance, than COTS implementations. It's essential to have strong capabilities in these three areas along with a solid risk management strategy in place if you choose to build.

Conclusion

The decision to buy or build software is not one-size-fits-all. It requires a careful evaluation of your organization's unique needs, the available solutions, and the strategic importance of the software to your business. While buying offers convenience, lower risk, and access to industry best practices, building can provide the customization, control, and competitive advantage that off-the-shelf products cannot. Ultimately, the right choice will depend on your organization's goals, resources, and appetite for risk.

By thoroughly analyzing the benefits, impacts, and risks of each approach and considering the long-term implications, your enterprise can make a decision that supports both its immediate needs and future aspirations.

  1. For the integration concern, often the problem can be solved with custom built integrations while still leveraging a COTS solution. ↩︎
Dan is the founder of Wittij Consulting. Prior to founding Wittij, he spent a decade in software development before moving into IT architecture, where he created an Open Group recognized architecture method and led delivery of all services for a company specializing in enterprise and solution architecture for 15 years. He is an energetic, thoughtful leader with an ability to engage and motivate people, and has been called a “force multiplier” for his ability to not only deliver great value, but also increase the value and capability of the people around him. Dan is a strong facilitator, able to understand and resolve complex disagreements with diplomacy. He comprehends and communicates clearly both at the detail level and the boardroom summary level to both business and technical audiences. His knowledge of enterprise techniques and technologies is broad and deep, and includes industry expertise in manufacturing, financial services, banking, health care, insurance, regulatory compliance, and NGOs.
Copyright © 2024 Wittij Inc.
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram