How to Organise and Run a Platform Engineering Team for Success
Nicolae Vartolomei · 2023/05
I joined the platform team at Cloudflare and later led the effort to build a dedicated team for a multi-petabyte data platform. The platform handles everything from real-time analytics to internal analyst workflows, machine learning, and more.
Through this experience, I learned what it takes to build and run a successful platform engineering team.
Before jumping into practical tips for organizing and running a platform engineering team, it is important to understand the differences from product engineering teams. I’ll start with some definitions and then share what I’ve learned.
Platform Engineering has been around for a while, mostly in large enterprises. But with cloud computing and microservices becoming central to modern software, and the complexity that comes with them, more1 and more2 organizations are looking to standardize common patterns and take advantage of economies of scale.
Like most emerging trends, everyone has their own definition of Platform Engineering. Even Gartner has multiple definitions.3 But two main themes show up consistently:
- Platform Engineering is a technological approach with the focus on accelerating the delivery of products and the pace at which they produce business value;
- The practice of building and maintaining an Internal Developer Platform (IDP) that provides APIs, tools, services, documentation and support as an abstraction layer between product engineers and the underlying infrastructure. The underlying infrastructure can be made up of cloud services that have been approved for use, an internal cloud, or a specific technology like Postgres that can be used on-premise or in the cloud and so forth.
I’ll focus on how to structure a single “value stream” within a larger platform engineering team. Even if you’re starting with just one team, it’s better to organize around “value streams” from the beginning. That way, as you grow, it’s easier to split off a “value stream” into its own dedicated team.4
Managing Platform Engineering Team(s)
Platform is a product, and it should be managed as such. It needs a long-lived and stable product team building and running it. The product needs to be coherent, evolving, supported, and designed with the user (customer) in mind.5
Not every platform team is automatically successful, but the successful ones treat their platform as a product. They strive to create a compelling value proposition for application teams that is easier and more cost-effective than building their own solutions.
—State of DevOps Report 2021 > > (fun fact: the 2023 report got the subtitle “Platform Engineering Edition”)
Given this, managing a platform engineering team isn’t that different from managing any other software engineering team. There are plenty of resources on managing engineering teams6, so I’ll skip the basics and focus on what’s specific to platform engineering.
When you try to get the benefits of economies of scale, platform teams can quickly become overwhelmed. These teams are usually small and serve many customers. Since there’s no “sales” or “support” layer, and the team is just a message away, the workload can pile up fast.
A team is innovating when its technical debt is sustainably low, morale is high, and the majority of work is satisfying new user needs.
Platform engineering work doesn’t directly contribute to business goals—it enables product teams to deliver value. This can hurt team health because it’s harder to feel connected to the company’s broader mission. That’s why platform teams need clear goals and metrics that show their business impact, plus strong collaboration with product teams.
Here are some strategies to keep your team flexible so it can innovate and flourish:
- Anchor the platform team’s mission to the company’s goals and objectives.
- Build self-serve capabilities to avoid becoming a bottleneck. The biggest challenge for a successful platform will be scaling with the number of customers/product teams/use cases, not just data volume or throughput. It’s always easier to add more hardware than more people.
- Don’t be overly prescriptive—give product engineers room to innovate.7 If letting product teams move faster means some inconsistency, that’s okay (remember, you’re there to help the business). Don’t build fiefdoms.
- Don’t take on too much too soon. It’s tempting to centralize and standardize early, but you might create bottlenecks and fail to support the business.
Structuring Responsibilities
To make sure your platform engineering team delivers value, organize responsibilities around four key areas. Neglecting any one area will hurt the others, so you need to prioritize all four equally.
Area | Focus |
---|---|
Service Product Management | Understanding the needs of your customers (the product engineers) and ensuring they are met. |
Platform User Experience | Building self-serve portal, tooling, etc. |
Platform Development | Developing new features as required by the product engineers and improving existing ones. |
Platform Operations | Running the day-to-day operations and making sure the platform is available, reliable and secure. |
Service Product Management
As mentioned in the beginning, platform is a product. A product needs to be managed. It should also have a product manager role.8
- Define the vision and roadmap for the platform/platform product.
- Work with stakeholders to make sure the platform meets their needs.
- Create documentation, evangelize the platform, and run “office hours” for consultation and engagement.
- Build a community of users with mailing lists and chat channels where they can interact, share knowledge, and give feedback on the platform.
Platform User Experience
As your platform grows, you don’t want the team getting overwhelmed with onboarding new users and supporting existing ones, becoming a bottleneck for delivering value to end customers.
- Build a self-service portal that makes it easy for new users to get started and quickly access the platform’s features.
- Create additional tools that help teams with capacity planning, platform integration, and workload monitoring.
Platform Development
Build new features that meet business needs—whether that’s platform features, integrations with other systems, new tools and services, or making sure the platform scales well.
Improve platform performance, efficiency, security, and reliability through better code, algorithms, and system design.
Platform Operations
Run the platform day-to-day: Monitor for performance and availability issues, fix problems as they come up, and handle security vulnerabilities.
Plan and execute platform upgrades, which might involve updating the operating system, supporting software, etc.
Automate processes to make them more reliable and efficient.
Test new hardware and migrate to better hardware when needed.
Handle capacity planning to make sure the platform can support the required workload.
Key ideas to take away
- Platform Engineering speeds up business value delivery.
- Platform is a product.
- Anchor the platform team’s mission to the company’s goals and objectives.
- Product engineering is your customer. Be obsessed with your customer’s success.
- Keep in mind the areas of responsibility and make sure you are not neglecting any.
- “By 2026, 80% of software engineering organisations will establish platform teams as internal providers of reusable services, components and tools for application delivery” —Gartner Top 10 Strategic Technology Trends for 2023↩
- Platform Engineering is in the Innovation Trigger phase on the Gartner Hype Cycle. —Gartner Hype Cycle for Emerging Technologies 2022↩
- In their 2022 What Is Platform Engineering? article, Platform engineering is defined as “Platform engineering is an emerging technology approach that can accelerate the delivery of applications and the pace at which they produce business value”. In their Gartner Hype Cycle report, they define it as “Platform engineering is the discipline of building and operating self-service internal developer platforms (IDPs) for software delivery and life cycle management”.↩
- See for example how MediaWiki organises its Platform Engineering Team into Value Stream Teams. This is a great resource if you want to see how others have adopted platform engineering in practice. Usually, people refer to product teams by “value stream” but, I guess, it depends on the level of your perspective. Especially, when you organise your platform teams as product teams (albeit an internal one).↩
- Quoted from the Platform Engineering and the Platform Operating Model article by Tom Geraghty which I encourage you to read as it has additional great thoughts on the topic. Also, recommend consulting the Products Over Projects article.↩
- If you are looking for a starting point, I highly recommend An Elegant Puzzle: Systems of Engineering Management book by Will Larson.↩
- I really like this guiding quote by Dr. Werner Vogels, Amazon CTO: ”If you hire the best engineers, you should trust them to make the best decisions” from his recent article Monoliths Are Not Dinosaurs.↩
- The 2023 State of DevOps Report is full of insights about the importance of product manager role. Here is one: “Interestingly, the data shows the longer a platform team has existed at a firm, the stronger the opinion there should be a product manager on the platform team. At firms in which a platform team has existed for three or fewer years, 60% of respondents identify a need for a product manager; at firms in which a platform team has existed for more than three years, this number rises to 74%.”↩