DEV Community

Cover image for Negating Build versus Buy Trade-Offs When Choosing Internal Tools
Appsmith for Appsmith

Posted on • Originally published at bit.ly

Negating Build versus Buy Trade-Offs When Choosing Internal Tools

Businesses rely on internal tools like CRMs, CMSs, and other data entry and retrieval tools to perform their daily tasks quickly and efficiently. Disrupting their workflows unnecessarily could have catastrophic consequences for an operating business, so any changes to and investment in them must be justified to stakeholders. The decision to adopt a new tool must factor in its longevity, flexibility, and ability to reliably handle your use cases.

The prevailing view today is that off-the-shelf SaaS products are almost always the best solution for internal tools as in-house development is simply too costly in terms of time and resources. However, this build versus buy question is becoming increasingly irrelevant as a new class of tools is popping up to sidestep many of these trade-offs.

These new tools – internal app platforms – allow teams to get the best of both worlds by building their own customized solutions without having to bear the full cost of in-house development.

The need for quality internal tools

Many industry- and business-specific processes are not optimized for efficiency. These inefficiencies could come up when employees manually update databases, rely on information in spreadsheets, or rely on information spread across multiple systems.

For example, suppose a customer support rep needs to solve a customer issue by working across multiple systems: a ticketing system, an internal database of customer transactions, and a CRM filled with customer data. The rep might spend a lot of time digging through these different sources of data and entering (sometimes duplicate) information into them. The time when support reps are trying to work with these clunky tools and processes is time when they aren’t serving customers.

All of these inefficiencies are pain points that need a solution. Quality internal tools can act as that solution by providing simple, streamlined interfaces to enter data with error-checking and intuitive dashboards to consolidate data from multiple sources into one source of truth. Your teams can use these tools to partially or entirely automate certain processes and get more done in less time with fewer mistakes and headaches.

Should you build or buy your internal tools?

The question of whether to build or buy is prevalent for the software tools involved in any business process. Most, if not all, businesses have bespoke internal processes that have evolved over years of operations to deliver their required results in the best way possible. These processes are often a competitive differentiator for the business and have been adapted to deal with regulatory, regional, physical, or other factors specific to a given use case.

Off-the-shelf tools with rigid features may require changing these processes, which is costly. Conversely, fully bespoke solutions require additional resources to develop, test, and maintain. It’s worth sitting down and thinking about which of these trade-offs are worth it.

The advantages of buying off-the-shelf software to manage your internal processes

This is essentially outsourcing the building and maintenance of your internal tools. The main reason to outsource anything is to avoid paying the opportunity cost of doing it yourself. With this strategy, you don’t have to dedicate knowledge, time, energy, and money toward becoming an expert on solving a problem.

Instead, you can just trust another provider who has prior experience in handling the problem, freeing up your resources to be used elsewhere. You trust that they have the necessary expertise to build a solution that will provide an optimal (or near-optimal) process based on industry best practices.

Buying is particularly beneficial when you’re trying to solve a well-defined problem that will be the same across most companies and there’s no advantage to differentiating your company by doing things differently than everyone else. Examples include using Slack for communication or Shopify to manage an e-commerce business.

When an off-the-shelf tool does things exactly the same way that you do, buying that tool is entirely appropriate — and recommended. It’s when your process diverges from the norm that you can run into issues.

The difficulties of buying off-the-shelf software to run your business

The biggest issues with buying off the shelf are that the tools may not be flexible or affordable enough.

Flexibility

Commercial tools must cater to the widest audience possible, meaning that they won’t always be a good fit for your use case. This pitfall is often encountered when a tool seems like a good fit but lacks one key piece of functionality that is either missing initially or emerges as a requirement later.

For example, a business selling digital goods may choose an online sales tool that does not support stock control. Later, it starts selling physical items as well, but because its chosen platform caters only to digital sellers, the platform has no interest in adding this particular feature. Now, the business must manually manage stock and disable products when they run out rather than it happening automatically. Alternatively, it must start all over again with a different provider.

It’s generally difficult to extend off-the-shelf solutions without hacks and manual intervention, which then require maintenance or tweaking to work with future updates, defeating the entire purpose of buying a ready-made solution. The only clean ways to get around these issues are to either align your processes exactly to these available tools or buy tools with well-defined APIs that can be built on or smoothly integrated with other tools, as discussed later.

Lock-in

Another downside of buying tools is the vendor lock-in. When you outsource critical business processes and data to other companies, you must trust that they won't change the terms of the agreement in the future. Plans may start out affordable, but they aren’t guaranteed to stay that way. If you want to change providers down the line, you might face a tough decision, especially if you are heavily dependent on a particular tool for your data and workflows.

Additionally, every new tool that you use will have its own back end, which means another data silo. Each additional data silo can create process gaps or inefficiencies if they don’t expose their data through well-defined APIs that can be easily consolidated into a single source of truth. Each additional process gap can drive a need for yet more tools to address it. While many individual SaaS products are affordable, this overall cost can get out of hand as teams add more and more tool subscriptions across the company. SaaS bloat can be expensive.

The advantages of building your own internal business tools

Longevity and flexibility are the biggest advantages of building your own internal tools. Owning your infrastructure allows you to avoid the hazards of rigid tools and unpredictable future costs.

You don’t need to manipulate your processes or data to make them compatible with off-the-shelf software or factor in third-party dependencies to be performant. You can instead prioritize what you need — not what your provider thinks will make them the most money.

You also can use APIs so that your internal tools have a single source of truth by sharing the same back-end datasources. This can dramatically reduce the data siloing that is all too common in most organizations.

Practically speaking, it makes sense to buy the tools that are already an exact fit for your business and for processes that are unlikely to change. On the other hand, there is growing weight behind the argument that you should build the more unique and dynamic internal tools your company relies on to stay efficient and competitive. However, there are challenges to doing this.

The difficulties of building from scratch

There are two different ways to build your internal tools: using a platform with prebuilt foundations and components or building everything from scratch.

When building your own internal tools from scratch, you do have to pay the opportunity cost incurred by not buying. You have to assign resources — time, money, and energy — into building your tools instead of focusing on the job your customers hired you to do.

This investment is easy to underestimate. Therefore, it’s important to know exactly what ongoing development, deployment, and maintenance tasks you’re committing to when building your own apps from scratch:

  • Create a development environment your team can access
  • Install your framework (React, Django, etc.), making sure to avoid running into dependency and environment issues
  • Start building a UI from scratch, including code for boxes, labels, navigation bars, etc.
  • Write logic for access control and authorization from scratch or by leveraging third-party libraries
  • Configure your back-end data sources from scratch for each tool separately
  • Spend a minimum of three months building and refining the tool (we’ve heard this so much, even when leaning on third-party libraries)
  • Configure your production servers
  • Build CI/CD pipelines to test and deploy code to production
  • Release the tool to users within your company
  • Gather feedback and handle feature requests, and then loop through the later stages of this process again for every feature request

This is a resource-intensive process that comes with the additional risk of building a subpar user interface that requires constant ongoing maintenance, diverting resources from more profitable endeavors.

Tools built from scratch may also face neglect due to the fact that there are usually bigger strategic priorities and customer-facing issues to address. Without proper maintenance, a tool’s usefulness can be compromised over time, wasting most of the upfront work.

Internal app platforms bridge the gap between build and buy

To address the problems inherent with buying off the shelf or building your own software, a new category of developer-first low-code software platforms has emerged. These app platforms solve the problems of buying off-the-shelf software because you can build the exact tools you need and don’t have to pay the (sometimes exorbitant) costs to maintain them. You are still building your own tools, and you therefore own them.

Alongside this, they solve the challenges of building your own software from scratch by drastically minimizing the time and energy required to build your own tools. These platforms automate many of the repetitive steps involved with developing a new application, allowing you to focus on your core business logic. You are still building, just not from scratch.

Building on a flexible app platform also allows you to take a hybrid approach where you build certain tools and buy others. As long as the tools you buy have well-defined APIs (through REST or GraphQL, for example), you can easily integrate them into your bespoke applications.

An example of this hybrid approach is integrating Zendesk for customer support, internal databases for holding customer data, and Jira for issue tracking. Support representatives could receive customer inquiries (logged via Zendesk), look up relevant information, implement minor service requests like adjusting account settings, and log issues in Jira for things that need engineering attention — all within a single, custom interface.

This is an example of a high-value, custom internal tool, which would usually only be provided by a costly third-party platform or require an extended period of development if built from scratch. Because situations like this happen fairly regularly in any company, it is worth streamlining and automating them with internal app platforms.

App platforms also facilitate rapid iteration and improvement of your internal processes. You can quickly demonstrate prototypes, gather feedback, iterate, ship, and deploy updates to your applications. This is all because they’re just more efficient on the back end. Standardizing your internal tools on a single platform will ensure your teams can work smoothly together while also cutting down SaaS bloat across the company.

Build vs. Buy
Building with an internal app platform is a great compromise between buying and building from scratch as long as you trust the provider of your internal app platform.

Appsmith solves the biggest pain points of building from scratch

While internal app platforms solve most of the problems of building from scratch, they do not solve all of them and sometimes come with their own baggage — the biggest being poor transparency and high costs.

Appsmith — an open-source internal app platform

At Appsmith, we’re addressing these problems by open-sourcing the core of our codebase. We have built a future-proof, reliable, open-source platform that can scale with your business. Since we open-sourced our platform, a thriving community has grown around Appsmith, further contributing to the project and providing support to our users.

With our Git functionality, you can export and import your applications to and from GitHub, Bitbucket, or any other hosting provider. In other words, you truly own your code and could spin your applications up without us at any time, so vendor lock-in is impossible. On top of this, we’ve promised to always implement fair and transparent usage-based pricing for our Business and Enterprise versions.

We’ve prioritized building a number of quality-of-life features that developers appreciate, including:

We also address the maintenance and deployment concerns associated with building your own tools. Our free cloud-hosted version of Appsmith is always up to date on reliable, managed infrastructure. If you want to host on your own infrastructure, you can easily deploy our Docker image. We offer clustering for Kubernetes out of the box and support auto scaling across all major cloud services, like AWS, Azure, and Google Cloud Platform.

Many commercial application platforms roll out updates and force you to update your apps to remain compatible. If you’re self-hosting Appsmith, we stay hands off, so you can run any version for as long as you want. By using our Git functionality, you can develop and test your apps on a newer version of Appsmith in a different branch and only update your production instances when you’re ready.

Appsmith drives business results

Companies have highly effective internal tools with Appsmith to streamline and improve their operations. The team at HIFI was able to build a custom CRM to process customer applications 50% faster, saving hours of manual work per week. Instawork developed a 360-degree customer dashboard that combined data from internal and external sources, allowing them to resolve support issues 37% faster. You can see other companies we’ve worked with on our case studies page.

Our open-source community and internal team is always available on our Discord channel. However, if you require support for your mission-critical internal tools, you can chat with a team member today to see if our Enterprise plan is right for your own use cases. And if you want to start building on Appsmith for free, you could try our free cloud-hosted community version.

Top comments (0)