The new software supply chain looks very similar to the automobile manufacturers supply chain.
Automobile manufacturers don’t build the car from scratch. They purchase ready-made components from different companies and assemble the car from those components.
The automobile manufacturing industry is undergirded by a mature supply chain that allows many companies to specialize in various parts of the process, making the industry more efficient and productive as a whole.
In the past, the software supply chain didn’t exist. Software companies like Microsoft, Oracle, and SAP wrote all their software end to end. This software was then sold via CD-ROMs or downloads.
This worked when software was highly specialized from the 1990s to the early 2000s.
The First Era of Software
Software makers such as Microsoft, Oracle, and SAP would develop packaged software and sell it to big corporations.
This was great business for the software companies as the software only needed to be built once, and would incur almost no incremental cost for each unit sold.
But for the consumers, it was a different story. Each company needed its own IT department to take care of its servers and infrastructure. These big enterprise software projects were also notoriously prone to failure, with implementation requiring several months to years.
Different department users from the sales, HR, and marketing teams would need to send a request to the IT department and get in line for any sort of projects to be implemented.
The Second Era of Software
This problem was solved with the birth of Software-as-a-Service (SaaS). With SaaS, there was no longer a need to maintain servers and infrastructures, or the need to go through your IT team for projects to be implemented.
For example, a company’s Head of Sales could just sign up with Salesforce and almost immediately have their whole department up and running on a best-in-class sales automation software product.
The Chief Financial Officer could just reach out to NetSuite, a provider of SaaS financials software. The Chief Marketing Officer could just as easily sign up for Marketo, a provider of SaaS marketing automation. Not to be outdone, the Chief HR Officer could simply go with Workday, a provider of SaaS HR information software.
Consumers are charged based on usage (e.g., how many employees are using the software).
Without the need for data centers or per-CPU licenses, many products became so inexpensive that a small team could just put it on a credit card and treat it as an expense.
In investing lingo, this is a shift from capital expenditures (CAPEX) to operating expenditures (OPEX) and is celebrated by investors. The cost of starting up is smaller and it’s easier to get budget approvals for OPEX.
The advent of fast internet connection speeds ushered in the era of subscription-based services for software, led by Salesforce in 1999. Salesforce claimed a first-mover advantage because its CEO Marc Benioff understood that high-speed internet would become the norm.
The Third Great Era of Software
To survive in the digital economy, every company is becoming a software company today. Most companies would not have the capabilities to build everything from scratch.
They need a software supply chain, much like Ford and Toyota’s automotive supply chain, where the industry is divided into their own areas of expertise (e.g. braking system, speedometers, etc) and allows each company to specialize on its core competency.
The software supply chain is similar. Companies within the supply chain deliver reusable chunks of code that developers bring together to make finished applications—also known as Application Programming Interfaces (APIs).
Each API supplier provides only a piece of the solution. For example, Amazon Web Services (AWS) provides the data center, Twilio provides communications, and Stripe enables payments.
Modern apps integrate dozens of these small components into a unique value proposition for the customer.
This trend from solutions to building blocks is the next big leap in the evolution of the software industry.
Cloud platforms have enabled this leap. They are the new building blocks for developers as they are much faster and cheaper to develop and scale.
To Build or Buy?
There are many benefits of buying microservices on a subscription basis. For example, developers from Airbnb can simply plug in Twilio’s code to resolve their telecommunication needs immediately. This lowers cost and reduces time to launch.
Here is what Airbnb has to say about Twilio:
“We have hosts all over the globe, and they always have their phones with them,” explained Arnold from Airbnb Customer Service. “By allowing them to accept requests via SMS, we have significantly improved the percentage of successful bookings while saving countless hours of manual calling.”
“As a small company, the cost of implementing an SMS infrastructure by ourselves would have been impossible,” said Arnold. “Twilio allowed us to use SMS with our customers and get up and running quickly, without putting a dent in our expenses.”
So how do companies decide what to build or buy?
The rule of thumb is: anything that is customer-facing should be built.
Software that faces your customers is what differentiates you from the competition. It is also where they are most likely to provide feedback on usability and request for additional functionalities.
You can’t buy differentiation. You can only build it.
However, solutions for most back-end operations which do not differentiate you from competition should be purchased rather than built.
Building software has become a lot easier with the software supply chain maturing. Companies are now able to take off-the-shelf building blocks and focus all their resources on developing their unique areas of differentiation.