Product vs platform engineering – Rise of platform engineering, team structure, principles & practices
The businesses need to consider a lot when deciding between developing a product or a platform. A product is a consumable or usable piece of software, while a platform is a system that enables a product to work or communicate with another product. The following considerations can help your business decide which path to take:
Products generate a single revenue stream, while platforms, which we identify as intermediaries that link two or more separate user groups and allow direct interaction between them, can generate several revenue streams.
Platforms help to reduce engineering friction which, in turn, allows fast value delivery to customers. Efficient platform architectures exist at the intersection of Engineering, Industry and People, balancing each one's goals in service of facilitating rapid value delivery to clients.
Platforms help with the distribution of applications, which can be "DevOps Architecture", facilitating the implementation of best practices in an enterprise within policy and cost constraints.
At a very high level, the platform is a medium to enable interaction between platform stakeholders namely producers and consumers that enable the value exchange. The technology and services behind this business model where the stakeholders interact to exchange value are the technology platform. The platform stakeholders are the people who create/exchange value on the platform which includes
Producers: are someone who creates supply or responds to demand.
Consumers: Someone who creates demand or consumes supply.
Platform owners/providers – who create and manages the platform.
The modern businesses are so agile and in constant demand of newer approaches to business, hence, they need a platform that has characteristics that support these behaviors. Sonata’s Platformation™ process defines these characteristics as OPEN, SCALABLE, CONNECTED, and INTELLIGENT. Any new platform that needs to be built must implement these characteristics or If the existing ecosystem exhibits these for characteristics then we can classify it as a platform
Products can become platforms, but not the other way.
Basically, understanding of benefit from product and platform is a very important aspect to go for a platform model. Product platform creation (Product platforms are common modules used by multiple products) is an important aspect of creating the foundation for multiple products or value streams. Here is an example of distinguishing between product development and product platform development.
Strategic business goal importance of platforms as tools, product platforms may play an important role from a strategic point of view since they seek to reduce costs, reduce time to market or increase product variants.
Resource value - Team structure:
The principal distinction is between the depth and width of the platform engineering team. Typically, it affects one product when a product team decides, but when a platform team decides, it affects many other teams and products. In order to perceive the effect of a transition, platform engineers need to consider not only their own architecture and flow but a wide variety of product flows and architectures across the platform.
A platform engineering team is organized in a variety of ways. The most specific areas of emphasis are operations (alerting, tracking, etc.), product (what the consumer encounters and how the framework impacts it), design (how the framework fits in with the general product flow, servers, infrastructure, etc.), and code quality (a must for every team).
Ideally, these will be in the minds of any platform engineer on the team, but people are naturally attracted to various aspects of the platform, so platform engineering architects must make sure at least one person leading each of the areas described above.
Longevity – Long term profitability:
Organizations should consider the short-term cost which may arise from developing a platform engineering team. A clear indicator of an enterprise that will be helpful to a platform engineering team is the discovery of various product teams creating similar features or attempting to perform similar tasks. Product teams, if a platform team is created, may experience a productivity increase due to shared architecture, components and resources. Platform engineering is interesting because it can increase the efficiency of an entire organization reusing the blueprint of processes and resources enabling quality of platform development.
Platform engineering principles and practices:
Mainly platform engineering principles hold good with the DevOps environment. In short, DevOps' core concepts are the flexibility of implementing changes, automation, continuous delivery, and fast feedback reaction. Sonata’s Platform engineering blueprint facilitates continuous innovation, automation, increased productivity and reduced time to market. This is based on Sonata’s proprietary Platformation framework that enables platform engineering with its best practices and tools.
Platform architecture: Envisioning the platform is an important aspect with the right principles is enabled by Sonata’s platformation process framework. The principles and characteristics of the platform are realized through various tools and processes facilitated by the platform engineering blueprint.
Design thinking: Using the Design Thinking framework along with user journeys allows the enterprises to develop platforms that are realistic and pragmatic. This creates confidence in the platform architecture provides the ability to do end-to-end innovation that assists all stakeholders in defining and developing creative solutions, that are based on real users and their interactions
Agile: Agile planning organizes projects in short cycles (e.g. sprints) to maximize the number of launches, as opposed to conventional project management methods. That means the team has only identified high-level priorities, thus allowing detailed preparation in advance for two iterations. This allows versatility and pivots until the concepts are checked on an early increment of the product.
DevOps: It involves a delivery cycle that includes preparing, designing, testing, deploying, releasing and monitoring with active coordination between various team members. The DevOps life cycle will enable the continuous delivery, continuous testing and continuous monitoring through automated tools that adhere to the best practices and guidelines of the platform development.
Good quality and pace are important consideration for building platforms and hence the need for platform engineering. We are evaluating the strategic position of enterprise-wide product platforms, as part of resource management approaches, we identify product platforms and examine whether and to what degree of understanding product platforms as tools will help businesses strengthen their strategic market position. We stress the role of the platform engineering process in a company's development portfolio and the need for platform engineers to build product platforms.