Enterprise Software: Answering The Build vs. Buy Dilemma

The complexity of the modern business environment is such that large businesses must use enterprise software. These software products provide important functionalities that are crucial for enterprises to effectively manage their core business processes, therefore, businesses invest significantly in these.

However, enterprises also face the build vs buy dilemma vis-à-vis enterprise software. If you are a business leader in an enterprise wondering about your best choice, then this guide is just the one you need!

Contents

A brief introduction to enterprise software
The importance of enterprise software
The market for enterprise software
Should you build enterprise software or buy it?
Building enterprise software for a key business process in your organization?

A brief introduction to enterprise software

Enterprise software, which is also referred to as enterprise application software, is a rather broad term, which can mean any software with a large user-base in large organizations. These organizations could be large businesses or government organizations, and enterprise software products fulfill one or more of their crucial functions, as this definition indicates.

Several attributes characterize enterprise software, e.g.:

  • They support crucial business functions by storing, manipulating, and displaying a vast amount of complex data.
  • Enterprise software products are typically mission-critical, therefore, they need to be robust, reliable, scalable, and performant.
  • Organizations typically manage such software centrally, and they have the complete ownership of it.
  • Enterprise software products have a large user-base, moreover, they are customizable.

Read more about these characteristics in “Enterprise application software defined: how is it different from other software?”.

The importance of enterprise software

Enterprise software addresses key business processes in a large organization, e.g.:

  • CRM (Customer Relationship Management);
  • SCM (Supply Chain Management);
  • ERP (Enterprise Resource Planning);
  • BI (Business Intelligence);
  • Human resource management;
  • Billing;
  • ECM (Enterprise Content Management);
  • ITSM (Information Technology Service Management).

This makes the importance of enterprise software rather self-explanatory, however, you can read more about their importance in “What is enterprise software?”.

Given the importance of these software products, enterprises must look for two key yardsticks when shopping for them. The first one is that enterprise software must go live quickly, and the organization that bought it shouldn‘t have to wait for many months before they can use it.

The second yardstick is that you should be able to use enterprise software even if you grow your business manifold. You can read about these two yardsticks in “Two very important things your enterprise software should be able to do”.

The market for enterprise software

The market for enterprise software is large, and it‘s growing noticeably. Various industry reports attest to this, e.g.:

Download Our Project Specification Template

  • Market Research Future estimates that the global market for enterprise software will reach $634 billion by 2023, accompanied by a healthy CAGR of 8% between 2017 and 2023.
  • Grand View Research states that the growing number of small and medium businesses (SMBs) is a key factor that‘s driving the demand for enterprise software, and the demand for SCM and CRM software is high.
  • An IndustryARC report projects that the enterprise software market will grow at a CAGR of 6% between 2019 and 2025. This report also identifies SAP, Oracle, Microsoft, Infor, Kronos, IBM, Adobe, Salesforce, Amazon, and Dell EMC as the key players in the highly competitive enterprise software market.
  • Should you build enterprise software or buy it?

    Large organizations commonly face the dilemma of building vs buying enterprise software. On one hand, IT giants like SAP, Oracle, Microsoft, IBM, Salesforce, etc. sell enterprise software products that have proved their mettle over time. On the other hand, enterprises typically have a sizeable IT department with modern IT infrastructure, therefore, they might feel the temptation to build such software.

    I will now explain the various factors that you as a senior leader in a large organization should consider, to settle the build vs buy question vis-à-vis enterprise software. These factors are as follows:

    1. Requirements

    This factor boils down to an urge that businesses often have, and this urge is to meet all requirements! Once they opt for meeting all requirements, the usual direction is to build an enterprise software instead of buying it.

    Indeed, large organizations can theoretically meet all their requirements when they build, however, the question of practicability remains. Enterprises always balance priorities given their resource availability, therefore, they might ultimately prioritize some requirements over others.

    There is also the question of unknown requirements, and it can be hard to identify them upfront. Enterprises might need to use various tools and techniques to unearth unknown requirements, e.g., application evaluation tools, reverse engineering, etc. You can read more about this in “How to determine when to build or buy enterprise software”.

    If you have thoroughly analyzed your requirements and decided to build your enterprise software, then you need to execute the requirements development phase well. You should use modern requirements development and management techniques, and we at DevTeam.Space have considerable expertise with these.

    2. Gap analysis

    This factor is closely related to the requirements analysis since it typically follows after you have identified your business requirements. It‘s common for enterprises to shop around for commercially available enterprise software after they have zeroed in on their business requirements.

    At this stage, they conduct a comprehensive gap analysis, and this, in turn, requires gathering information directly from the enterprise software providers. You would need to issue a Request for Proposal (RFP) or a Request for Information (RFI), subsequently, enterprise software providers will respond with the necessary information.

    You now need to evaluate these proposals, and for this, you first need to check whether they meet the compliance criteria in the RFP/RFI. Subsequently, you need to evaluate the proposals using various criteria, e.g., functionality, reliability, coverage, etc. Read more about this in “How to evaluate responses to a project request for proposal”.

    RFP evaluation is a complex job! You must engage your best functional, technical, and procurement subject matter experts (SMEs) in this process, moreover, you should allocate sufficient time.

    If you find that a commercially available enterprise software is meeting your requirements fully, then you need to consider the price, support, etc. This will further narrow down your decision making process vis-à-vis the build-vs-buy question.

    On the other hand, if none of them meet your requirements fully, then you would perhaps do well to revisit your requirements! Examine whether your requirements were far too ambitious to start with! Read more about gap analysis in “Decision point for the build vs. buy software sourcing decision”.

    3. Security risk mitigation

    Your enterprise software will address core business functionalities, therefore, it will process confidential data. Depending on the industry, there could be stringent regulations around such data, e.g., Protected Health Information (PHI) is subject to HIPAA regulations.

    Read How We Helped a Marketing Company to Build a Back-Office Custom Ads Dashboard

    Mitigating application security risks will figure prominently in your agenda, therefore, your build-vs-buy decision-making must address this. According to the Open Web Application Security Project (OWASP) top 10 application security risks – 2017 report, the top application security risks are as follows:

    • Injection;
    • Broken authentication;
    • Sensitive data exposure;
    • XML external entities (XXE);
    • Broken access control;
    • Security misconfiguration;
    • Cross-site scripting (XSS);
    • Insecure deserialization;
    • Using components with known vulnerabilities;
    • Insufficient logging & monitoring.

    Typically, market-leading providers of enterprise software do a great job of mitigating these risks in their products, however, you need to evaluate them thoroughly.

    If you find that none of the commercially available enterprise software pertaining to your use case mitigates all of the above risks, then you will need to custom-build an application. Do note that it can be a complex project to build enterprise software from scratch that mitigates top application risks.

    You should work with a development partner that takes a process-based approach to execute such projects. We at DevTeam.Space have a data-driven process, which works well for such complex projects.

    4. Timeline

    How long can you wait for the proposed enterprise software? This is a key question while deciding between build vs buy since large organizations have specific, time-bound requirements for enterprise software. A delay in acquiring or building it can have numerous adverse impacts on the organization, e.g., revenue loss, sub-optimal operations, etc.

    Buying enterprise software typically involves the following:

    • Procurement;
    • Deployment;

    On the other hand, building such software requires much more time since it involves the following:

    • Requirements analysis;
    • Design;
    • Development;
    • Testing;
    • Deployment;
    • Post-deployment support;

    You can opt to build an enterprise software only if your organization can wait for a longer time, otherwise, you will need to buy a commercially available product. Read more about this factor in “Enterprise software: build vs buy”.

    5. The availability of development, maintenance, and support teams

    If you have highly customized requirements and can wait for sufficient time, then you need to consider whether you have a competent development team to build enterprise software. While large organizations typically have a sizeable IT department, such a department is normally busy with day-to-day IT maintenance.

    If you opt to build enterprise software, you need a sufficiently skilled team to do the following:

    • Design and develop the software within schedule and budget, while meeting the baselined requirements;
    • Maintain the software over the long-term, including all upgrades, etc.
    • Support the software in the long-run, which includes resolving all production issues.

    The team should also include highly competent project managers for both design/development and maintenance/support phases. Read more about this in “Should you build or buy enterprise software?”.

    Do you have such a team? If you don‘t, then you will need to hire one. Given the complexity of this project, I recommend that you hire a field expert development team, as I have explained in “Freelance app development team vs. field expert software development teams”.

    Buying is your only option if you don‘t have a competent team and you don‘t plan to hire one.

    6. Budget

    We now discuss an important factor in the build-vs-buy decision-making process, and that‘s your budget. You need to consider various questions in this regards, e.g.:

    • If you are planning to build enterprise software, have you done a Rough Order of Magnitude (ROM) estimate for the project? Have you obtained all the necessary stakeholder approvals for the project based on this ROM estimate? Read “How to develop a Rough Order of Magnitude Estimate (ROM Estimate)” for more insights.
    • Subsequently, have you done a budget and definitive estimates using proven techniques with a progressively narrower range of variance? Did the business stakeholders approve these estimates?
    • Have you created a scope management plan with a baselined scope so that you have the best chance of adhering to a definitive estimate?

    If the answer to any of the above questions is “No”, you have likely not set the right stakeholder expectations vis-à-vis project scope and budget. This exposes your project to high risks, therefore, step back and revisit your plans.

    Budgeting a complex enterprise software development project can be hard. If you see a gap here, then you might need to buy enterprise software instead.

    The process of evaluating commercial proposals from enterprise software vendors and negotiating with them can unlock various benefits for you, e.g.:

    • You can get a better view of how much it might cost to support all your requirements vs supporting a subset of them.
    • Enterprise software providers are typically technology giants, and they have all-round capabilities including maintenance and support. You could negotiate and get a better deal across both the product and its maintenance.
    • Unlike your internal IT department, an enterprise software provider will provide guaranteed service levels and you could hold them accountable.

    Read “Build vs. buy: how to know when you should build custom software over canned solutions” for more insights into these. Consider a commercially available enterprise software from a market-leading provider if you see sub-optimal management of scope, stakeholder, and budget in your in-house team.

    Building enterprise software for a key business process in your organization?

    After consulting this guide, have you decided to take the plunge and build enterprise software for a crucial business function? You need to brace for a complex project, and such projects require a highly competent team with proactive, end-to-end project management.

    Also, making the right architectural decisions is crucial for the success of this project, and you need to get these decisions right the first time! Consider engaging a reputed software development company for such projects, and read our guide “How to find the best software development company?” before finding such a development partner.

    Download Our Project Specification Template

Aran Davies

Blockchain Expert | Developer | Writer | Photographer
I love all things blockchain and related to app development. What time I have when I am not busy writing for the DevTeam.Space blog of over 350 articles, I spend sitting around wondering what the future will look like 50 years from now.
Aran Davies