When defining a digital strategy for transformation, one of the most significant decision points is whether to build or buy the software for deployment. However, determining the correct answer and understanding the pros and cons of each option can be challenging. In this article, I will address these questions and shed light on the topic.
When guiding clients through their digital strategies and transformation journeys, one of the initial questions that arises is whether to build or buy software. Before delving into the discussion, I would like to acknowledge that most individuals hold strong opinions on this matter, particularly those with extensive industry experience. For instance, those working for software vendors tend to lean towards the buy option, while individuals employed by custom development shops or developers themselves often favor the build option due to their areas of expertise. However, it is important to transcend these biases and objectively examine the two distinct paths available in the digital transformation journey.
The first option we will discuss is the build option. By "build," I mean developing software tailored to meet the specific needs of your business instead of using off-the-shelf software. While this may sound unconventional to some and appealing to others, let's delve into the reasons why building your own software might be advantageous.
One reason to consider building your software is the ability to customize it to your exact requirements. This is particularly valuable if your business operates in a unique industry or possesses a distinctive competitive differentiator that cannot be adequately addressed by off-the-shelf software. Even if there are off-the-shelf options available that partially align with your needs, building the software allows for greater customization to fully meet your business requirements.
Building software can also offer competitive advantages. Frequently, organizations dilute their competitive edge by adopting off-the-shelf software solutions that are commonly used by their peers, competitors, or even players in unrelated industries. If your competitive advantage is solely derived from off-the-shelf software, it loses its uniqueness and becomes commonplace. In an environment where organizations strive to outperform each other and differentiate themselves, having a custom solution that builds and safeguards your competitive advantages can be the right choice.
Furthermore, building software provides a level of flexibility. Since you have complete control over the development process, you can make changes to the software as needed. This flexibility is particularly evident when comparing modern cloud solutions to traditional on-premise solutions. Cloud solutions, generally speaking, offer less flexibility due to their commercial off-the-shelf nature. Making substantial modifications to such software risks compromising its integrity or might not be feasible due to the limited customization options inherent in multi-tenant cloud solutions. By building your software, you maximize flexibility and have the freedom to modify it according to your evolving needs.
These are just three reasons why the build option should be considered over the buy option: customization to meet unique needs, the ability to maintain and enhance competitive advantages, and the flexibility to adapt and modify the software as required.
In addition to the software build option, another alternative is to purchase software, which we'll refer to as the "buy" option for simplicity. When we choose to buy software, it means acquiring commercial off-the-shelf software from established and reputable vendors. These vendors typically offer mature software solutions that have been proven and tested. The primary benefit of buying software is that you gain access to established technology. This is quite different from the build option, where you create something from scratch that lacks a track record of success or failure.
Regardless of whether the off-the-shelf technology is a perfect fit for your organization, at the very least, you know it has been used successfully by other organizations. You are not acting as a guinea pig for unproven technology. Additionally, buying software allows you to benefit from the research and development (R&D) and innovation efforts of big tech companies. Companies like Microsoft, Oracle, and SAP invest billions of dollars annually to improve and enhance their off-the-shelf software. By purchasing their software, you can leverage the R&D and innovation they have invested in.
Another reason why buying software is often favored and accepted by organizations is its ability to integrate well with other technologies. If you are deploying multiple systems or technologies, it is essential to ensure that they can be easily integrated. Off-the-shelf software is typically equipped with APIs and integration tools that facilitate seamless integration between multiple systems, making it easier compared to the build option.
A final advantage of the buy option is flexibility. Here, I am referring to a different kind of flexibility than what was mentioned earlier. When you buy software, you don't necessarily have to rewrite code completely to modify a business process, workflow, or specific capability. You can make more significant changes to the software because it is your software, but this increased flexibility comes with a higher level of difficulty. On the other hand, in the buy scenario, you may have slightly less flexibility, but it is easier to make changes. Both options offer flexibility, but they differ in nature.
So far, you may be examining this comparison and noticing a clear advantage of one option over the other. It's possible that one option makes more sense for your organization while the other doesn't. However, there might be aspects you appreciate about each option, creating a gray area of uncertainty regarding whether to buy or build. The good news is that there are other options available, allowing you to leverage the strengths of both approaches. Let's refer to these as hybrid options for now.
Let's discuss these hybrid options in detail. The first one is low code/no code, a buzzword that many vendors are currently using. It is an attempt by software vendors providing commercial off-the-shelf (COTS) software to incorporate some of the advantages of custom development or, at the very least, offer alternatives to customizing the source code. In the past, when customizing COTS software, significant modifications often led to breaking the software or making it incompatible with future upgrades. With low code/no code options, you can utilize off-the-shelf software while gaining tools that provide some of the benefits of building. While it may not offer the same level of flexibility as building, it provides more flexibility compared to traditional buying options.
Another option is to focus on a software platform instead of solely relying on a single COTS software. Although it may sound similar, a software platform differs from low code/no code options and is crucial to understand. A software platform involves investing in a platform that has a core software at its foundation but also allows third-party developers and applications to build software and extensions using the same platform. Essentially, you create a comprehensive platform around the core software, enabling other developers to create software that fits within the platform's ecosystem. Salesforce serves as an example in today's context. Salesforce is a CRM system, but it has also established the Force platform. The Force platform is utilized by third-party developers to create Salesforce extensions and variations, providing additional capabilities, flexibility, and features. This option allows you to gain some benefits without completely shifting to custom development.
Finally, another long-standing option is to combine both buying and building. Instead of referring to it as buying and building, let's call it customizing COTS software. In this approach, you purchase off-the-shelf software as a core solution but then proceed to customize it by modifying the code and conducting custom development to better align with your specific needs. It involves less risk and starting from scratch compared to building an entirely new platform.
These are three often overlooked options that you might want to consider, as they offer more than the seemingly binary decision of buying or building software.
To determine the best option for your organization, we need guidance on when to choose between building and buying. Let's explore some factors to consider.
The build option is suitable for organizations that are truly unique, operating in distinct industries or with exceptional competitive differentiators. Additionally, having a mature IT department internally, equipped with the necessary resources and competencies to support a build model, is an advantage. If flexibility is crucial to your business, then the build option may be the right fit.
On the other hand, the buy option is favored by most clients. It is the preferred choice when there is a need for established technology. Instead of reinventing the wheel, leveraging someone else's technology becomes the sensible approach. If your business processes are standard or you aim to standardize them, off-the-shelf software can be highly beneficial. Moreover, if you desire flexibility without the cost and complexity associated with the build model, the buy option is worth considering. Although the benefits may seem similar, they manifest differently in these two models.
If you find yourself somewhere in the middle, there are hybrid options that allow you to leverage the strengths of both approaches. For certain parts of your business, you can adopt a buy strategy, while for others, a build strategy may be more appropriate. This approach is common for different business processes. Standard and less critical processes such as Finance (GL, accounts payable, accounts receivable) or order processing can rely on off-the-shelf software without compromising competitive advantages. However, for customer-facing processes, building custom software may be necessary to maintain core competitive differentiators. By combining off-the-shelf systems as a foundation with custom-built apps and capabilities, you can have the best of both worlds.
Keep in mind that you don't have to limit yourself to just one option or a single hybrid model. Depending on the specific requirements of different parts of your business, you can mix and match strategies accordingly.
I would enjoy brainstorming ideas with you if you are looking to strategize an upcoming transformation or are looking at selecting an ERP system, so please feel free to contact me at email@example.com. I am happy to be a sounding board as you continue your digital transformation journey.