Software platforms need great product management
This article discusses the need for a software platform to have good product management or product thinking with the focus on the role platform product owner where I abbreviate with PPO.
“A product way of thinking for platforms makes sense so that the software developers within the platform customers can concentrate on the added value of their application or product.” (Author’s view)
How does a PPO* intend to achieve this goal?
“With the tools from product management the PPO enables development teams (ability to execute) by offering digital services on the software platform that are precisely tailored to the needs of customers (keyword: Developer Happiness). Here, for example the role of a PPO* differs from a classic Scrum PO which in many cases is very focused on the product user and not on the developer.” (Author’s view)
How does the software platform achieve this goal?
In concrete terms, it works as follows:
- Focus the software platform on the customers and highlight the benefits for them.
- Take over developer’s or engineer’s work in dealing with the IaaS services of cloud solutions.
- Recognize personas of the platform’s customers (e.g. Manager, Business POs, Technical POs, DEVOPS Engineers, SREs* or Developer)
- Serve with documentation and roadmaps.
- Radically align the platform for the business benefit of customers. Without a benefit for the software products or customers, the platform makes no sense.
To deepen the topic, the author’s view:
A software platform is not like eBay or Amazon. It is a collection point for digital services that can be used by several software products and are based on an infrastructure as a service layer found in large enterprise IT or public cloud environments.
The platform intends to shorten the time to market of the software products based on it. Thus, the development costs of the products could be reduced. It should also be an ecosystem of resources and the possibility of growth through connections and communities. True to the motto: “Don’t reinvent the wheel”.
What could be the product features or digital services of a software platform?
The so-called digital services of the platform can be very different and diverse. Examples include common network connections between the cloud and corporate networks, or connections between the products and databases offered and operated by the platform. In addition, pre-assembled infrastructure solutions such as Monitoring, Logging, Storage Systems or IT security services are also included. These make it easier for product teams to protect their data from attacks or manipulation by third parties.
Other examples include integration with enterprise services such as Identity Access Management. Not every product team needs to familiarize themselves individually with how to integrate such solutions into the product. As a final example, databases are also important as a digital service. Here, the platform team can relieve the product team of a lot of work in the topic of day 2 operation (patching, restore and backup).
Do others do the same?
Yes, especially the large public cloud providers such as Microsoft Azure or Amazon Web Services offer more and more PaaS* services, which make it easy for the developer. Smaller companies such as Rackspace, Digitalocean or Ionos offer similar software platforms on cloud solutions.
However, not only the so-called hyperscalers rely on this requirement. Commercial enterprises also recognize this advantage of the independent development and operation of such platforms. Daimler TSS has software platforms as well.
Why does a software platform need a PPO?
A software platform needs a PPO to apply the tools of product management exactly to one platform and to create benefits for the platform customer. A platform should be seen as a product such as a web APP, a digital product or as a software portal.
Only if the customers of a software platform like to use it and appreciate the quality, the platform becomes a success. High customer satisfaction and quality usually predominate.
The PPO is also the central interface to the customer and business for the software platform. Above all, the PPO always focuses on strategically developing the software platform as a product.
What is the PO of the platform responsible for?
The PPO is responsible for maximizing value for the platform’s customers, e.g. by taking over the operational effort of a network connection between A and B from the platform team. As a result, the product team does not have to worry about it.
The use of Container as a Service (e.g. in the form of Kubernetes) with preconfigured security settings such as policies or storage encryptions can also be a time and cost gain for a product team.
Furthermore, the PPO can also provide benefits to the customers by ensuring that the so-called software development patterns are implemented in the platform’s IT engineering. The same methods as in a software development team of applications are used. Examples include GIT workflows, pair or mob programming, etc., which brings agility and speed to the software platform as changes occur.
With these patterns, the customer “developer” is also much better understood in terms of methods, techniques and tools in the collaboration between the platform teams and product teams.
What does the PPO actually do all day?
The PPO publishes roadmaps, holds meetups, and keeps documentation up-to-date, conducts surveys and user interviews. He or she participates in all events (e.g. Backlog reviews, planning, etc.) and challenging the platform developer team with the user point of view for example in story writing and refinements. Another main task is to make stakeholders happy.
The PPO also constantly confronted with the clear clarification of responsibilities in terms of “Shared Responsibility”. Here, tact is necessary to find the best cut for what the platform and for which tasks the customer is responsible.
My view of software platforms is that the shared responsibility model from the well-known hyperscalers such as Amazon Web Services or Microsoft Azure with the cut “IN the Cloud” or “OF the Cloud” is not quite enough here. A software platform has a third layer, which is assigned to so-called MCSPs*.
For this purpose, an overview display as a diagram for completion.
However, in my opinion, the biggest challenge for a PPO* is to find the balance between platform feature delivery, technical debt reduction and IT operation with the platform team at every stage.
In addition, one experience that I have had and that has worked out very well is to focus less on new features, e.g. in a quarter less on new features. This leaves more time for the reduction of technical debt.
Glossary
PPO = Platform Product Owner
IaaS = Infrastructure as a Service
PaaS = Platform as a Service
MCSP = Managed Cloud Service Provider
SRE = Site Reliability Engineer
CSP = Cloud Service Provider (e.g. Amazon Web Services, Azure, IBM Cloud)