API Strategy - How to develop a API strategy ?

API’s are essential component of a platform & apps ecosystem.  However, many companies look at APIs as an afterthought. Especially, the established Enterprise vendors.  The standard response (which I’m sure you are familiar with) by a software vendor who hasn't put a thoughtful API design is ...Yes. We have a bunch of APIs which enable you to do anything we do through standard interfaces. Just give us a buzz and we will get you started with a $ services engagement for custom development. Such vendors are slowly disappearing and are getting replaced by tech start-ups with innovative solutions and standards based API support, SDK’s , API applications to configure , build or extend the base software / services or the platform easily. These vendors focus on answers to five key questions to help shape up their API strategy :

 

  • What is the business purpose and the intended audience of the API?
  • What type of functionality & interfaces should the APIs expose?
  • What is the community & support framework?
  • What is the GTM model ?
  • What is the API governance model?

Sharing a few simple thoughts and a framework to help develop and API strategy . As always, I’ll go the basics to define a framework for the API strategy. Lets start with the definition :

API: An interface designed to accept a broad class of apps in ways that allow app developers to use the platform’s capabilities without having to concern themselves with how those capabilities are implemented in the platform (src : Tiwana, Amrit (2013-11-12). Platform Ecosystems: Aligning Architecture, Governance, and Strategy)

API Reference Framework: This is a high level framework that focuses on the five key questions listed above. It’s a conceptual model that should aid the evolution of the API design strategy.  

The most important component of this framework is - API types. One should think long and hard enough on this topic - Why APIs & For Whom? This decision/strategy dictates every downstream activity and things will automatically flow if you get this right.

Everyone calls themselves a software platform. Are they really a platform ?


Lately, I have been working on defining what is a software platform. What characteristics a software ecosystem should have to be called a platform . Every vendor that builds and sells software calls itself a platform.  So what differentiates a app , a product, a service vendor from a platform vendor.  Capturing some ideas to help identify a platform company or develop a platform strategy. Lets start with the basics :


  • Platform - Codebase of a software system that provides capabilities that are shared by apps that interoperate with it along with the interfaces through which they operate.
  • Apps - A software module or a plug-in or a sub system that connects to the platform to add and expose capabilities
  • Architecture - A blueprint that describes the entire ecosystem which comprises of the platform, the apps, the interfaces used by the apps to connect and integrate with the platform.


If one asks for a list of platform players the usual suspects come to the forefront - Amazon, Google, Apple, eBay, Facebook, Android.  However, if you look deeply these vendors didn't start out as a platform. They were all standalone services that subsequently over time got transformed into a platform by doing something special - adding complementors . These complementors produced mini software ecosystems that augmented the capabilities of the core platform. E.g iOS has app developers, Kindle has eBook publishers, Google has advertisers etc.  The companies that failed to make this transition did not last long - Blackberry, Kodak, Nokia, Palm etc. This defines the first and the most important characteristic of the platform - multi-sided . There should be at least two distinct groups that interact with each other using the platform . A relatively simple analysis of the top software players highlights some other characteristics of a platform . Here are a few critical ones :


  • Network effects : Facebook or linkedin or uber is a prime example. They all follow Metcalfe’s law
  • Lock-in : These platforms are sticky. Competition is so high that you keep adding “stuff” to discourage the users from opting out. E.g Uber
  • Envelopment : Platforms players over time start to envelope capabilities of other platforms. E.g Android phones offering cool camera capabilities
  • Greater than one side with multiples for the top three characteristics : The most important attribute.  E.g’s Travel sites with users like us and airlines on the other side - there are network effects for airlines & end users , there are features that make the whole experience sticky  and there are capabilities being added to provide a holistic travel experience such as vacation packages which are disrupting an entire industry. Amazon’s book publishing business , Apple’s music business, all peer to peer collaborative consumption companies like Airbnb , Kickstarter etc reflect the multipliers for network effects, lockin and envelopment on every side of a multi-sided platform.
One could go on and on with examples of platforms and what defines them. This is a summarized list of some of the key attributes to help you identify a platform vs a product/ service/ app player and also shape up your platform strategy .