💰Buy or ⛏️Build
How to have software your way
The holiday season is officially in full stride and many would be gift-givers are spending time determining the perfect present for their loved ones. Buying clothes, electronics, or toys from a favorite retailer is the safe choice, but maybe this year you want to channel your inner Etsy and go with something a bit more personal and homegrown. The decision is buy off-the-shelf or create your own? There’s no right or wrong answer, but definitely some real risks to each.
You’ve heard us in the past discuss how to leverage software to build your Business Engine. When evaluating the components of your business engine, just like gift giving, there is a fundamental decision to make. Do you buy off-the-shelf, or do you build it yourself? Luckily we created our gift giving…err software purchasing guide just in time for the holidays.
The software components of your business engine range from hiring to financial planning & analysis to sales and marketing tools. In these earlier posts, we identify off the shelf software-as-a-service (SaaS) that any business can implement and make use of. More often than not, it makes sense to let Silicon Valley be your R&D department. Those companies spend the money and have the talent focused towards building the best solutions. Like buying a gift off the shelf, you can find the best SaaS company for you and purchase it instantly if you like.
Yet, there are some instances where the off-the-shelf solution doesn’t fit. In that case there is a robust ecosystem of individuals, and companies, that build custom software projects for businesses. These two markets compete and drive the “build vs buy” debate.
Notably, there is now a third option starting to emerge which is often described as “no-code” or “low-code” tools. These tools present a new way to think about software. It’s now possible for anyone to build their own applications — no coding experience required! This presents a new twist to the “build vs buy” decision. One where you buy the tools to build the solution yourself.
If you follow software news, it may seem like every day there’s a new SaaS startup. That’s not an accident. The global SaaS market is expected to be over $180B this year, and the industry is only projected to grow further. SaaS’s popularity is largely driven by greater speed and flexibility when compared to purchasing software up front. All of this means there has never been a better time to be shopping for SaaS.
The best software is constantly evolving. That’s another reason the SaaS business model has been successful. Before SaaS, you were waiting a long time for features and upgrades. And probably paying extra for it too. Thanks to cloud computing, SaaS customers are constantly getting the latest and greatest software. The SaaS company’s recurring revenue stream keeps it focused on software related tasks such has hiring software engineers and keeping the software running. Your company doesn't have to worry about software updates, instead you can focus on what you do well.
There are seemingly endless choices of SaaS companies to evaluate. It may be tempting to go with the most economical solution that does the job. That strategy may work for toothpaste, but with software you might be leaving out important criteria.
First, there are some “table stakes” features that should be included with any SaaS vendor you choose. The availability of these features are good signals that there is thoughtful design and strong technology underpinning the solution. We break down table stakes into three core areas: Data, API, and Updates.
Previous blogs, and our e-book, explain the power and value in data. Any good SaaS vendor should offer you complete, flexible, and unfettered access to export your data. This data should include the information you put into the system as well as any outcomes or transformations the software made to the input. This data represents the record of work done in that software.
Being able to export this data means you can do anything you want with it. The most common use case would be to analyze this data to better understand a process. Another common use case could be to switch SaaS companies. You may decide to switch services and being able to move your data to the new solution can minimize any downtime or disruptions.
If the vendor has data visualizations or other reporting analytics, we consider that a plus. Some vendors offer integrations directly with their competitors so that if you want to change systems it’s even easier. While this may seem like a risky move, the best software companies do this to show confidence that they are the best solution.
API’s allow software to “talk” to other software. An important capability that we describe in more detail in this blog on API’s. The existence of an API means you have more flexibility in how you connect your business engine to the new software.
Good software vendors will offer a free API. Better software vendors will have an API that covers every feature their software has. You can tell this is the case when representatives from the company may say, “you can rebuild our product using our API.” That’s one sign of a great API.
Great API’s will have entire “ecosystems” around them as well. Take for instance, Salesforce or Shopify. Both of these companies have built extremely powerful, flexible API’s as part of their core product. This makes it super simple for other software developers to build additional products or features that plug in to the core CRM or e-commerce site. There are thousands of companies and developers who have built products or created services using Salesforce and Shopify’s API’s and its core to these companies to manage the upkeep and robustness of their API’s in order to enable this ecosystem all to your benefit.
Modern SaaS is all cloud based. The benefit for us, the customer, is that the company can constantly improve and update the software. If the SaaS company charges for updates or upgrades, or doesn’t explain their update process that could be considered a negative. Companies with strong software release processes will tout this in their marketing.
Now that it’s all on the table, we can’t overlook the most important facet of evaluating a SaaS vendor. Does the software solve the problem in the way that your business experiences it?
For example, every business has payroll. While payroll seems standard, depending on your industry, company size, location, etc. each business may have different requirements. Gusto is consistently top rated, and very popular because it solves for most payroll needs. If, however, you are dealing with a lot of contractors you may find that Square is a better fit. Extending this comparison to other components of your business engine, you may have to work a bit to find the right vendor for you.
Or you may decide to…
Classically, the #1 reason to build your own, custom solution is if the market doesn’t solve your problem. Take Domino’s Pizza, for example. In the late 1990’s they were struggling. The executives looked to new technology for opportunity. Internet usage was skyrocketing and Domino’s saw opportunity in bringing their stores online. They wanted to give their customers more access to Domino’s Pizza. They looked at how customers interacted with the store - the point of sale - and sought to innovate.
Square, Clover, Toast, and other modern points of sale didn’t exist. So in 2002 Domino’s Pizza began building their own point of sale system. The existing cash registers weren’t meeting Domino’s requirements so Domino’s began building their own. By 2008 they were so confident in their system that they began requiring all franchisees to use it.
When properly done, custom software can give you a competitive advantage. With Domino’s own point of sale, they can take pizza orders from any customer, anywhere. Of course Domino’s is a public company with significant resources. They were able to hire their own software engineering team to do this for them.
The rest of us can look to free lance software engineers on TopTal or Upwork to find individual software engineers. You can also turn to developer agencies or consultants who will put entire technical teams to work to build software for you.
Custom software can mean custom data, custom processes, and elevating your business to a level that is harder to reach with off the shelf software. If the investment pays off, you can reinvest to increase that advantage.
Of course, if it were easy, everyone would do it. In order to go about building your own software, it’s important to be mindful of 3 C’s - Cost, Complexity, and Core Competency.
Unless your business is software, developing software is probably not your core competency. Heck, even a if a software engineer steps into a non technical business, that person should admit that developing software is not a business focus. You hire construction firms to build buildings. You should hire software people to build software.
This means finding the right partner. Freelance developer or development firm, make sure you are able to communicate well with them. They should explain their process and highlight what is and isn’t possible in clear, non-technical terms. A good partner will present a proposal that includes easy ways for you to check on progress. Additionally they should include time after delivery to deal with any fixes or changes. With the right partner, the project can be defined and delivered on time and on budget.
Software systems can become complex, quickly. Software projects start off innocently enough. While being built, sometimes the business needs change. Occasionally, the project may hit a technology barrier that requires additional workarounds. Those workarounds usually mean implementing more software. Most of the time as a project goes on, more ideas become “possible.” When this happens the project starts to grow because the customer wants to do even more with their software.
The projects grow in terms of their “scope” or “features.” Scope means the use cases start to spiral out, and features refers to specific functionality required of the software. The right developer partner will do the work to manage, or maybe even prevent, this from happening. It’s just as important to figure out what not to build, as what to build.
A very important aspect of custom software, notably different from SaaS is cost. SaaS companies charge a nominal monthly or annual fee. With SaaS you’re paying for access to the service. Custom software, on the other hand, means you own the system. At that point the only cost will be hosting and running the system, which should be minimal. This level of ownership means you will measure ROI on your own system differently. When accounting for SaaS, it may be looked at purely as a cost of doing business.
The way you actually pay for custom software development is different than SaaS too. Typically there is a large upfront payment with follow-on payments as work is completed. A good partner will set meaningful milestones as part of their proposal. Milestones such as “50% code complete” are not useful. Instead look for partners who will have milestones such as “core functionality is demonstrable to customer.” Importantly, just because you paid to build the system doesn’t remove you from ongoing maintenance and upgrade costs which are not insignificant.
No-code / Low-code
The past few years have been an absolute wellspring of no-code or low-code companies. The innovation in the industry continues to make building software more accessible.
No-code companies offer you a process oriented interface. In other words they may have flow charts, or drop downs, or other workflow models that you can edit and arrange. Low-code startups will often use similar interfaces but then allow you to “go under the hood” and write code to make even more changes. A no-code tool like Zapier or a low-code software like Pipedream gives us the opportunity to improvise. You can connect two or more software solutions together using these tools.
The tool translates the model you make into code. A good no-code interface will show you examples of how it works and reflect any changes you’re making in real time. Better tools will let you test your workflow as part of the development.
The most complex, low-code solutions, start with the same flow chart style interfaces, however, they will let you edit each of them. The best ones will have guides so that even if you don’t know how to code you can learn enough to help you modify the processes.
Let’s say that you can’t find one SaaS tool that is the right fit for you. Through your search process you develop a hunch that maybe combining two off-the-shelf products will get you what you need. A no-code tool enables you to build that combination. You’ll be able to implement and test this with…wait for it. No code.
While not without some bit of effort, this may be the path the gets you exactly what you need while being very cost effective. Using a low-code tool will allow you to further customize that combination. Maybe you want to implement a delay, or only use the two systems in specific cases. You can write those cases into code and the low-code tool takes care of the rest.
The companies selling these tools have one job. To make it easy for you to build stable, reliable, accessible software. If you’re using a well established, well funded no-code tool you should feel comfortable using it in your business engine. The company will manage any updates or changes that need to happen and keep your workflows running smoothly.
No- or low-code development can be used as a first step to building your own solution. These tools can help you create prototypes so that you can show a development partner what you’re looking for. No matter which route you go, the more time you can spend with these “swiss army knife” tools, the more opportunities you can identify and pursue.
From holiday gifts to software solutions, the decision to buy off-the-shelf or build your own is significant. Done correctly, and at the right cost, a custom built software solution can be a unique, lasting advantage. Similarly, buying something off-the-shelf and getting it up and running as quickly as possible is a different advantage.
In the past “buy off-the-shelf” or “pay someone to build” were the only options. The growth in SaaS meant buying was a stronger and more popular option, than building your own. The world of no-code and low-code solutions brings us back to a balance. With these tools you can take the “pros” from the “build” and the “buy” side and only a handful of “cons.” The constant evolution of SaaS and no-code/low-code, means that the possibilities will continue to open up. The limit will keep moving ahead. Now, the right decision depends more on your business goals rather than the tech market.