SaaS vs in-house software development
Originally published on 1 May 2020, when I was a founder at Hubbec and "SaaS Expert" was in my title. I am keeping it here unedited, as a record. The framework still holds, and I think it matters more now than it did then. The default answer it reaches, do not build, buy SaaS, is the one that AI inverted. I wrote about what changed, and what I would say today, in Build vs buy, after building got cheap.
Differences that can have an impact on business strategy and growth.
Have you ever wondered what is the technological base of your organization? What is the unique and transforming element of the services it provides? Is software the unique element? If so, should your company have an in-house team or outsource?
Understanding technology as the use of scientific knowledge applied to an industry for practical use, it is evident that all companies face a significant challenge in the proper use of the technologies to grow exponentially, and stay in the infinite game, as defined by James P. Carse in his book "Finite and Infinite Games", and more recently adopted by Simon Sinek to apply it to business environments. In this sense, it is vitally important to identify for each company the type of technological base that allows it to truly differentiate itself in the market. The more unique, innovative, and used it is, the closer the company is to becoming a dominant market participant.
In terms of software, for some companies it may be their technological base, while for others software may be a tool that contributes to their operation, but not necessarily be their technological base. Having the software as a technological base implies that it becomes the most important asset of the company and without it, the company cannot generate income.
The difference can sometimes be so subtle, that many companies confuse, for example, digital trends with their technological base, when in reality their technological base is far from being software. This confusion can become extremely dangerous in corporate strategies in the medium and long term, particularly when the discussion arises of having an in-house software development factory, hiring an external software development company, or hiring a software as a service (SaaS). When this discussion occurs, the company is having a discussion of business strategy, and its technological base.
For example, a freight company could be investing in the creation of a digital laboratory for the development of a software that allows it to sell online parcel services, and think that here is its technological and innovation core, when in reality its core is transportation and how it transports. The freight company should be thinking of efficient transportation technologies, green technologies, or alternatives like drones or even teleportation. It may sound extreme, but the truly innovative companies are the ones that understand where their technological core is and how it can impact the market.
Another common example is presented in the financial industry. Banks, among others, are in the business of managing the payment risk of their clients, understanding how much, at what rate, and to whom to lend. The appearance of many fintech companies that looked for specific niches and turned the digital channel into their technological core, has generated confusion in financial institutions, leading them to think that their technological core is also the digital channel, to the point of thinking that fintech companies are their enemies. Perhaps they should think of developing risk methodologies based on personality or DNA, creation of electronic currencies, or even challenge the way exchange value happens in the economy.
The important thing is to be able to identify whether the software is the technological base or it is just a tool that allows growth but that is not necessarily the technological base of the company.
How to know if software is the technological base of a company?
There are several factors that can help determine the technology base. Some of the characteristics of companies that have software as a technology base are the following:
Main asset that generates income. Companies that have software as their technology base have the software as their main asset, which is reflected as an intangible asset within the balance sheet. It also means that if the software does not exist, the company does not exist either. For example, Facebook without its platform would not exist. The same applies to Instagram, WhatsApp, Netflix, Spotify, or even companies like MasterCard and Experian, among many others. Some would argue that the most valuable asset of these companies is the network, which may be true in their mature stage since it is their way of monetizing, but without the software they would not be able to have the network or generate any income at all. However, this is not equally valid for an ice cream store that could continue selling ice cream as long as it has ice cream. Even banks, which could continue to lend and keep their accounting in physical books as they did since their inception, impractical in the modern world, but not impossible, because their main asset lies in their loans, which really generate their income. Companies have to be cautious since many confuse software that contributes to their operation with being a base technology. Some software might even become a standard within an industry and still never be a base technology for a company, for example, ATMs for the financial sector.
Technological understanding at the managerial level. Another factor is the deep understanding of technology by senior managers (partners, board members, president, vice presidents, etc). A company that has software as its technology base must have a great understanding of what building a software implies in the medium and long term. It is very rare to see a technology-based company whose founders and senior managers do not have a deep understanding of software.
Strategic discussion. Companies that have software as their technology base have extremely relevant software-related strategy discussions such as: the architecture to be used to guarantee the scalability of the product over time, the coding language to be used, or whether multiple languages should be used for specific functionalities, integration models, what type of cloud or infrastructure to use, what services to integrate, what kind of developers are vital for the organization, what is the strategy of attracting and retaining developers, what working methodologies to use, what development software is best suited for the goals of the company, what kind of security to use, and so on. If these discussions do not take place at the company's high level strategic meetings, then the company may not have software as a technology base.
There are many other factors or characteristics, but at the end of the day, the important thing is to understand what the technological base is, and avoid mistakes such as hiring an in-house software development team to solve a necessity that contributes to the operation, particularly if the technology already exists in the market.
When to hire an in-house development team?
The answer is simple: when software is the technological base of the company. Otherwise, all needs that do not belong to the technology base should be solved with an external team or software. The reason behind this is mainly because those external teams and software are already specializing in solving those specific needs, and most likely software is their technological base.
Some companies could argue that they require in-house developers since existing software does not solve their particular needs or is non-existent, and that by hiring in-house they could gain a market advantage. These companies may be facing a problem of understanding their technological base. If the software already exists in the market, it means that the software already has a competitive advantage due to time and money already invested, mistakes already learned, economies of scale, a team trained in the particularities of the software, among others. Hiring an in-house development team may result in loss of value and resources over time, deviation from the strategic focus, and loss of market opportunity. Perhaps a better strategy is to adopt existing technology, and be able to move quickly in the market.
An example of this can be Salesforce or other CRM (Customer Relationship Manager) systems in the market. A company could plan to develop its own CRM because it considers that Salesforce does not offer a specific way of managing customers. However, investing in developing its own CRM is unlikely to be sustainable over time. This is because the in-house team will start to compete against a company that has invested years developing a CRM software to solve CRM needs, and will be more inefficient and expensive in terms of development features, maintenance, and future updates. In this sense, a Software as a Service (SaaS) solution will always be superior. Even if there is no software that solves the specific needs of a company, and this could mean a market advantage, it is important to assess the technological capabilities before hiring an in-house team. In most cases it is even better to hire an external software development company if the company does not have experience in software development.
It is important to note that eventually, even those differentiators will cease to be so over time, since software companies will come to adopt them as their own technology base to start selling them to competitors of the company that initially considered it, and thus the market differentiator becomes a market standard. In this case, the software company that adopts them as their technological base will always be more efficient than an in-house team. Perhaps it is more interesting for the company that conceived the idea to make a spin-off and to be an investor in the new company, allowing it to grow freely in the market.
Software as a Service (SaaS), the way for software that contributes to the operation of companies
When companies do not have software as a technological base, their best alternative is to use Software as a Service (SaaS). Here are some of the benefits associated with SaaS:
Time. Time is a determining factor in strategic positioning. It is clear that the one that arrives first is not always the one that remains in time, but it can give it momentum. SaaS is generally immediately available, it does not generate development time, its configuration times are short, and they generally have various integrations included. The opportunity cost is vital for companies.
Team. It does not require a development team as companies would need under an in-house scheme. It is enough to have a technology expert who can understand the organization and how to implement existing technologies to solve the needs of the company.
Cost. SaaS allows you to have an individualized cost for consumption, either by users, by transactions, or by monthly and annual subscriptions. This allows you to be certain of the costs per unit and even facilitates all the details for those using ABC costs. Depending on the type of SaaS, they can help to accurately identify CAC (customer acquisition cost) and CLTV (customer long term value). Companies can lower their infrastructure cost or even eliminate it (servers, processing, updates, backups, etc). SaaS can benefit from economies of scale in terms of cost per functionality (including per line of code), infrastructure, unit transaction cost, among others.
Alignment with satisfaction. This is very simple, if the SaaS does not work or is not aligned to the satisfaction of its customers, the service is terminated and replaced. SaaS companies are forced by the market to offer an outstanding service. They also tend to lower their rates or increase their profits over time. SaaS are keen to process faster, offer better interfaces, and better user experiences. Some are even aligned to the results of the companies that use them (commission based on sales or cost reduction).
Adaptability and continuous improvement. In general, the most robust SaaS tend to have parametric services, allowing for a certain degree of customization to the specific needs of each company. The higher the parameterization level, the greater the robustness of the SaaS technology base, since flexibility is a technological challenge for SaaS.
Improving the service. SaaS have the advantage that multiple users allow them to detect system errors or necessary improvements more quickly, which leads to a higher quality platform in less time. Companies also benefit from the continuous deliveries that SaaS have to make to stay current in the market. This means that SaaS will generally always have the latest proven technology on the market.
In conclusion
It is of vital importance to determine the technological base of the companies. If it is a company that has software as a technological base, it is recommended to have an in-house development team. Otherwise, SaaS will be a superior solution over an in-house development team, and even over software development companies, when available.
Andrés Ramírez Sierra. Tech entrepreneur, SaaS expert, founder at Hubbec. May 2020.