Platform or Product?
What is a platform?
The word “platform” is used in numerous contexts and I don’t think what is really understood behind the intent of a modern platform.
A platform, in an enterprise context, is a combination of hardware, software, interfaces, and supporting services that enable the delivery of a set of value-generating capabilities. For example, an e-commerce platform would enable an organisation to sell products or services online.
Platform or Product?
In order to understand a platform, it’s important to grasp the difference between a platform and a product. A platform is not a product, but rather a set of capabilities that enable the creation of products. In other words, you can build products on top of a platform, but a platform itself is not a product. At its simplest, a platform is a set of tools and technologies that allow the development of software solutions.
However, in a modern context, there are a few key concepts underpinning a platform that are critical if you want to drive better business outcomes.
An enterprise platform enables an enterprise to build, deploy, and manage software solutions. These solutions can be related to the core business of the enterprise, or they can be related to specific lines of business. In either case, an enterprise platform must support the needs of the enterprise.
There are four key concepts to understand when thinking about a platform: –
- Service Catalogue,
- Unified User Experience,
- Automation, and
Let’s look in more detail at the Service Catalogue.
- The service catalogue is the set of tools and technologies that the platform offers to the engineering teams.
- Each service catalogue item needs to be API enabled to allow automation and self-service
- Each service catalogue item needs documentation on how to create an instance of it and patterns for use
- There should be a clearly defined process for agreeing to new items and a funding stream to enable the build of them
- Catalogue items need continued maintenance and hence a funding stream is required to allow for this
- The platform team should be empowered to sunset services that are no longer used
Unified User Experience
Another crucial aspect of a platform is the Unified User Experience.
- The intent is to bring everything users of the platform need together to provide a great user experience for engineers
- This is generally provided as a portal with a view of the service catalogue, running instances of each catalogue item, set up and configuration of the environment and financial reporting
The productivity benefit of the platform comes with automation.
- Automation is fundamental to the way a platform needs to operate
- It should be mandatory for both service catalogue items and operational processes of the platform (eg. Joiners/Movers/Leavers processes)
- Compromising on automation will create bottlenecks that impede agility and speed to market
- It is better to have fewer components available that are automated well, than many components with manual processes
The success of a platform, once it has been established is the ability to enable self-service. This means that the platform needs to provide an interface that is intuitive and easy to use. The platform should allow for a level of customization so that it can be tailored to the specific needs of the enterprise.
There are some specific aspects to self-service
- Self-service allows end-users to create and destroy service catalogue items as needed
- This is a key enabler for autonomy, agility and speed to market
- Security, risk and compliance control points should be implemented via automated tooling that reports outcomes to the engineering teams
- Control should increase as teams move software through the route to live. Early environments might report warnings on control point failures with later environments blocking progress for the same failures
What are the benefits?
There are many benefits of a platform approach for an organisation, which is why it is so important to understand the approach behind It.
- Decrease time to market
- Increased engineering productivity
- Drive standardisation of tooling to reduce complexity and costs
- Increased security and decreased risk through standard patterns and build and runtime monitoring of controls
The platform model has enabled the growth of some of the biggest organisations and can drive huge benefits for any organisation when applied appropriately.