Monday, March 2, 2020

Four Types of Software Platforms

Many software companies claim to be a platform. That word alone invokes the impression of significance, scalability, good architecture, and a multiplier effect. Being a platform means that something or someone can stand on it. Companies that have a platform are surely more strategic and their software is ‘stickier’. Platform companies enjoy higher valuation multiples, just like SaaS companies get higher multiples than on-premises software. Being a platform is cool.

But what does it mean to be a platform? The term platform implies that it can be used to power several applications that solve different business problems. The opposite of a platform is an application that is always targeting the same business problem or set of business problems for the same buying center. There have to be multiple applications to make a platform, and sometimes there might even be thousands and thousands of applications powered by a platform (think iOS or Android) but those are extreme and wildly successful examples. A platform does not have to enjoy such broad appeal to be successful.

To become a platform, your company needs to decide what it is trying to accomplish. A platform can attract highly skilled talent, it can help to enter new markets, it can provide ways to solve new business problems, and it can help saving software development time and cost. But not all platforms are  equal and here are four different business strategies that a software platform might want to pursue: 

1.     Developer Platform
This is a platform strategy with the goal to attract developers who write code using the platform facilities - APIs, libraries, services, widgets, etc. The result of this strategy, when successful, if a large pool of broadly available talent trained to deploy and customize the platform. Microsoft is a good example of a company for which the availability of skilled and inexpensive talent has always been one of its primary strengths, especially for products targeting the SMB market. Another example of a hugely successful developer platform is Linux. Today, some of the hot developer platforms are Twilio and Google with their plethora of platforms from Android to YourTube.

The developers look for platforms as a way to accelerate the development of applications. Nobody would even think to build their own database for their application today, no matter how sophisticated a data model the application needs. The platform - in this case a database - provides that functionality ready to use. In addition, the developers seek platforms as a way to differentiate their skills and increase their market value, hoping to find the one with the right balance of strong demand and scarcity of talent.

When pursuing the developer platform strategy, you will want to have a well defined and documented API and developer tools. You will want to be very visible on developer communities such as GitHub, SlashDot, and StackOverflow. On the marketing front, you will be running developer conferences and hackathons, and you will want authors to write books about how to code on your platform. You will create developer certifications and badges that skilled developers put on their resumes and LinkedIn profiles. This strategy focuses on developers as individuals and your goals are meeting their needs and help their career success.  

2.     Application Platform
The application platform strategy has the goal of fostering an ecosystem of commercially available software solutions built on your platform. The focus is not the individual developers but rather the companies that augment your platform with applications, tools, utilities, or widgets. Rule No 1 of an application platform is that your success depends on the success of your ISVs. What you want is a thriving ecosystem. If your ISVs struggle, you will struggle.

The best recent examples of successful application platforms are Salesforce and ServiceNow. Salesforce, for instance, built an impressive ecosystem of applications that run on the Salesforce Platform. That said, Salesforce is also an example of a vendor that keeps repeatedly violating Rule No 1 as they struggle with the dilemma between making ISVs successful vs taking over that space themselves. There is a growing list of Salesforce ISVs that have found themselves competing with Salesforce: Veeva, Apttus, and ServiceMax to name a few of such examples.

When pursuing the application platform strategy, you will want to do a lot of co-marketing and co-selling with your ISVs. Your Strategic Alliances and Partner Marketing organizations will be continuously looking for ways on how to promote your ISV partners and how to optimize your co-selling tactics. Lead-sharing, sales incentives, and joint marketing campaigns need to become a priority.

The primary benefit of the ISV ecosystem is its ability to take your platform into new markets. That’s why it is important that the ISVs make a big bet, taking on a lot of risk when they build their solution on your platform. Applications that merely integrate with your platform don’t count because they are not taking you into new markets, they expect that you bring them into yours. By placing a big bet, though, your ISVs depend on you for their addressable market and they trust that you won’t violate Rule No 1. If you do, they have no choice but to hedge their bets and eventually abandon your platform.

3.     Customization Platform
A customization platform is a platform that enables customers to tailor their software deployment to fit their specific requirements. This is particularly important in the enterprise market where every company needs a different flavor of your solution, even if the solution has been built to address a specific business problem in their industry. If nothing else, they need to customize the data models, business rules, and business processes. This requirement is what separates the enterprise market from SMB.

In the enterprise, every deployment requires some degree of customization. That’s why so many enterprise software companies call themselves a platform even if they don’t publish any APIs nor do they have any ISVs. And they are right - those are platforms that can be customized to solve any business problem. The best examples of such platforms are the Business Process Automation vendors such as Pegasystems or Appian or the new breed of Robotic Process Automation vendors such as Automation Anywhere or UiPath.

The customization platforms are used by customers themselves and by companies that provide deployment services; the system integrators. The customization can be done on any level, from high code development to some of the new, modern approaches that don’t require a single line of code. These modern approaches called low-code and no-code enable quick and easy customizations of commercial applications or even the creation of simple new bespoke applications.

4.     Shared Services Platform
Smart software companies build a platform even when they don’t pursue any of the external-facing strategies described above. Or maybe they don’t pursue them yet. One of the benefits of a platform strategy is a scalable architecture with shared services that can be reused from one product to another. The shared services usually include a data model, data store, user management, security, event management, process orchestration, notifications, administration, monitoring, audit trail, reporting, etc.

By leveraging shared services across multiple products, software companies can greatly reduce the cost of development, speed up the time-to-market, and improve the interoperability between the applications. This strategy also fosters the land-and-expand strategy where a single application might be the initial entry point into an account and, as the customer identifies further needs, the additional applications can be added easily when based on a common platform. 

These benefits are usually compelling enough to make the shared services strategy worth pursuing, even if the company has no interest in attracting developers or ISVs and even when its solutions are deployed in a one-size-fits-all manner without any customization.

It is tempting to say that you want to pursue all four strategies for your platform. Large vendors with a lot of resources might actually have the money to drive all those programs. Microsoft certainly does. But most software companies can usually only do one of those things well and so they have to decide which strategy do they pursue for their platform.

Because, yes, a platform can mean many things.

No comments:

Post a Comment