Ingredients for creating successful platform products
Over the past 18 years, I've managed various types of engineering teams and organizations, including feature teams, development teams embedded in online marketing departments, and innovation-focused teams. The most complex and challenging were internal platform teams. At ImmobilienScout24 - Germany's leading Real Estate classifieds business, my team built central payment and subscription capabilities, geo-information systems, fraud prevention, and back-office integration with Salesforce, the ERP, and finance planning systems. This was crucial when the company shifted from a centralized, functional "Service-Line" approach to a decentralized market-segment organization with multiple business units focusing on end-to-end customer and market success. As a platform team, we transitioned from building and maintaining services to creating an internal platform and tool suite that empowers different market segments to create experiences tailored to their specific customer groups.
During my time at Delivery Hero, my teams built one product that was delivered in a customized and tailored way to 7 different brands in more than 20 markets across Europe and Asia. This was only possible because there was a strong platform which provided best in class feature flagging, experimentation, test-automation, and theming capabilities.
At Zalando, my team is responsible for some of the key capabilities that allow us to create web and app experiences on a large scale. These capabilities include localization, event streaming, data aggregation, and routing. Recently, we've been focusing on a platform product management approach that prioritizes developer experience, speeds up delivery and experimentation, and promotes a culture of support and collaboration.
Platforms are the foundation that can be used to grow and diversify a business. Along with a positive and supportive culture and flexibility, getting platforms right can be one of the most critical differentiators for a company in terms of achieving lasting success.
In this post, I want to share nine success criteria that I've found to be particularly essential when adopting a platform product approach.
(1) Create a product vision and mission that connects with both the end consumers of the product and the users of the platform
Creating a clear product vision and mission is crucial when building an internal platform product, because it provides direction and purpose for the development team while also aligning with the needs and goals of both the end-users and the customers of the platform.
In my team for example we created the following mission statement that helps us focussing on the right goals:
We provide foundational capabilities and innovative solutions to enable product teams across the company to create rich, digital experiences across all channels fast, efficiently and with high quality, performance and trust.
Having a well-defined vision and mission will ensure that the platform is designed to meet the specific needs of its target users, and that the development team is working towards a common goal. Additionally, by connecting the product vision and mission to both end-users and customers, it will ensure that the platform is not only functional but also valuable to all stakeholders. This will help to increase user adoption and promote the success of the platform overall.
(2) Invest in understanding your clients and key stakeholders (Developer experience, create a journey map, personas, etc.)
When building an internal platform product, it is essential to invest in understanding the needs and goals of your clients and key stakeholders. This includes conducting research to create a detailed journey map, personas and other user research, which will give a deep understanding of the users of the platform. This research will also help to identify any pain points, bottlenecks and opportunities to improve the developer experience. By understanding the needs of your clients and key stakeholders, you can design and develop a platform that is tailored to meet their specific needs and goals. This helps to increase user adoption, improve the efficiency of internal processes, and ultimately drive the success of the platform. Additionally, when you invest in understanding your clients, you can create a platform that is more user-friendly and easier to use, which leads to developer satisfaction.
(3) Apply analytics to your product: A holistic metric framework and understanding of KPI trees is key (Reliability & System Health, Costs, Developer Experience, Engagement, Adoption, etc.)
It is crucial to apply analytics in order to understand the performance and effectiveness of the platform. By creating a holistic metric framework and understanding of KPI trees, you can gain insight into key areas such as reliability and system health, costs, developer experience, engagement, and adoption. This enables you to identify issues early and make data-driven decisions to optimize the platform. Additionally, by monitoring these metrics and KPIs over time, you can track the progress of the platform and make adjustments as needed. A comprehensive understanding of the analytics of your product is key to measure the success of the platform, and with a well-defined KPI framework, you can track performance, identify areas for improvement, and measure the ROI of any new feature or capability you develop. This will help to increase developer satisfaction, adoption and engagement, which in turn results in a more reliable and cost-effective platform.
(4) Have the ambition to build the best product for your specific internal clients.
Why would feature teams use your platform and not buy from an external vendor or build the capabilities themselves. They should love your product and not just “have to use it”. This leads to increased adoption and usage of the platform, resulting in better efficiency and productivity for the organization. Additionally, having a platform that internal clients love also leads to positive feedback and word-of-mouth promotion. This is all important - the best internal platform products are not mandatory to use but a service that developers chose to use because it makes their work easier and more succesful.
(5) Leaders and product managers of the platform must understand the company's strategy and plans for consumer-facing product teams to ensure alignment, drive successful adoption, and building the right future capabilities.
It is crucial for leaders and product managers of platform product teams to understand the company's strategy and plans for consumer-facing product teams because it ensures alignment between the platform and the overall goals of the company. Additionally, understanding the company's strategy and plans for consumer-facing product teams allows platform product teams to anticipate future capabilities that may be needed, and build them proactively, which in turn helps the company stay competitive. Without this understanding, the platform may be developed in a vacuum, not fully addressing the needs of the internal clients and not aligned with the company's overall goals, leading to low adoption, low efficiency and difficulty to stay competitive.
(6) Collaboration with other team is hard, so make it your most important skill.
Collaboration with other teams is a critical skill for any platform product team, as it ensures that the platform is able to effectively integrate with other systems and meet the needs of all internal clients. One of the best ways to improve collaboration is to prioritize direct communication and face-to-face meetings, rather than relying on documents alone. This allows for more efficient problem-solving and the ability to work through integration tasks together. Additionally, actively seeking out opportunities for collaboration with other teams and making it a priority will help foster a culture of teamwork and cooperation, ultimately leading to a more successful platform. Without good collaboration, the platform might be isolated and not fully integrated with the other systems, which would lead to a lack of efficiency and a poor user experience.
(7) Your product is not just the software system, but also documentation, training, tutorials, service & support, sdks, examples, default implementations, and yourself.
When building an internal platform, it's important to remember that the product is not just the software system itself, but also includes all of the supporting materials and services that are necessary for internal clients to effectively use and integrate the platform into their workflows. This includes documentation, training, tutorials, service and support, SDKs, examples, default implementations and the product team themselves. All of these elements must be of high quality and easy to access in order to ensure that internal clients can effectively use the platform and see its value. By providing a comprehensive set of resources and support services, the platform will be more likely to be adopted and used effectively, leading to increased efficiency and productivity for the organization. Without these elements, it would be hard for internal clients to understand the value of the platform and how to use it.
(8) Platform Product Managers are actual product managers, yet they need to bring and excel on very specific skills.
Being a Platform Product Manager is a unique role that requires a combination of skills that are common among product managers, as well as some specific skills that are unique to managing internal platforms. As a platform product manager, you are responsible for understanding the needs of internal clients and creating a product that meets those needs. This requires traditional product management skills such as market research, product development, and product launch. However, as a platform product manager, you also need to excel in skills that are specific to platform product management such as understanding the technical architecture, integration with other systems, and building a product that can scale to meet the needs of multiple teams. Additionally, platform product managers need to have strong communication skills, the ability to collaborate with other teams, and the ability to drive adoption. Without these specific skills, it would be hard for the platform product manager to create a product that meets the needs of internal clients, integrates well with other systems, and can scale to meet the needs of multiple teams.
(9) Platform teams should be organised in a cross-functional way, with product managers being embedded and co-lead along with the engineering manager.
Organizing a platform team in a cross-functional way, with product managers being embedded and co-leading alongside the engineering manager, is crucial for creating a successful internal platform. This approach allows for close collaboration between the product and engineering teams, resulting in a product that is well-designed, technically sound, and meets the needs of internal clients. The product managers' role is to understand the needs of the internal clients and translate them into the product requirements, while the engineering manager's role is to ensure that the product is built in a way that is efficient, scalable, and technically sound. This cross-functional approach also allows for more efficient problem-solving and decision-making, as different perspectives and expertise are brought to the table. Without a cross-functional approach, the product development process might be siloed and there might be a lack of alignment between product and engineering teams, which would lead to a suboptimal product and a poor user experience.
Would you add something to this list? What is your experience with building an internal platform?
Director Software Engineering @ Solactive AG | Leadership, Project Management, Java Development
1yGreat and valuable read, thanks Bastian. Many years of experience condensed here!!
CTO 🏖️ GetAway Group, member of the Hometogo ecosystem | Tech & Product Executive | Co-founder of The Mentoring Club, 11 Mentors
1yLuca Galante - maybe interesting for the Platform Community you manage.
Tech at the tonies | CTO | VPE | Advisor
1yNice write up! Having led platform organizations myself, I'd second all of that! Point for discussion: I have increasingly been trying to "verticalize" platform teams and ideally have some sort of external customer as a direct stakeholder (e.g. a data platform team also provides external APIs to be consumed by customers). While this is not always easy, it still is worth trying since it aligns interests. Like in Jeff Bezos' mandate according to Steve Yegge's famous rant (https://gist.github.com/chitchcock/1281611): "All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions." this shapes mindset.
Product and Growth Leader with Hands-on Technical Experience, Operations, Software Engineering, IPMA Agile Certified, MSc in AI
1yGreat overview, Bastian! Will bookmark to come back for a very good structure and action plan, when needed. Platforms are complex! They are ecosystems which need oxygen.