How to Build a Platform Team (And Why You Need One)
If you want to give your developers the best tools so they can ship better software more often, create a team to do just that.
The details of one person’s definition of “platform engineering” may vary from another’s, but the core meaning of the expression doesn’t. It tends to convey an organization’s focus on boosting software release velocity by streamlining the work of developers.
It applies organizational, product and software engineering principles to create, operate and maintain internal platforms. These are self-service systems that automate operational tasks like provisioning infrastructure, setting up observability and deploying applications. Making them as effective as they can be usually requires a dedicated platform team.
You Don’t “Need” a Platform Team
Traditionally, internal developer platforms are created by developers who have other responsibilities but are frustrated with a lack of process and/or automation. While you don't “need” a platform team to build a platform, there’s a lot of value in having one, because a platform that’s a product of a focused, thoughtful and iterative process shrinks software release cycles.
For example, a good developer platform enables seamless application deployment across a variety of cloud or on-prem environments. This reduces the impact of changing cloud providers on productivity, since developers can continue consuming infrastructure through the same abstraction, regardless of what’s running underneath.
More on platform engineering:
- How to Win at Platform Engineering
- Platform Engineering, What It’s For, and How to Get It Right
- Which Internal Developer Portal Will 10x Your Team’s Output?
Absent a platform team, individual product delivery teams will build their own platforms and pipelines that may overlap with each other. People tend to reach for tools they’re familiar with, so one team may build a deployment platform on AWS and another may choose Azure. One team may choose the versatility of Jenkins for its CI pipeline, while another may opt for the turnkey experience of CircleCI. Different teams will choose different observability stacks, artifact stores, security and compliance tools and so on. The bigger an organization grows, the more this ad hoc practice will cost and get in the way.
In a larger organization, a dedicated platform team also serves as a go-to hub for various departments, like security, compliance and finance, when making infrastructure and tooling decisions. Instead of interacting separately with each product delivery team, these departments coordinate with the platform team to assess security, gather audit evidence, or monitor cloud and software-license expenses.
The team helps decide which cloud providers, deployment pipelines and observability stacks to choose, and ensures consistent application of global policies across the infrastructure layer.
Building an Effective Platform Team
An effective platform team embraces the “platform as a product” mindset. Its product, the internal platform, deserves and receives the same level of care and attention as the products built for use by external customers. A key player here is a technical product manager, or TPM, so this should be the first role to fill on your new platform team.
Hire a Technical Product Manager
The TPM is responsible for product discovery, prioritization and refinement. Once hired, they'll conduct path-to-production exercises, like value-stream mapping, to identify bottlenecks in the delivery process and help design a platform that either eliminates or shifts them upstream.
These path-to-production exercises usually uncover issues that are similar across many organizations. Every team needs tools for version control, CI/CD pipelines, code analysis and so on. Operating and maintaining these tools often creates bottlenecks, so a TPM normally begins by designing a platform that addresses the common needs and works with platform engineers to build it:
Recruit a Mix of Generalists and Specialists
A TPM is really the only specific role every platform team needs. The others depend on the individual platform’s needs. Building an observability platform requires engineers who know about observability, a GitOps interface is better written by engineers with GitOps experience and so on.
And while it’s important to have technical domain experts on hand, you also want to have engineers with broad, multidisciplinary experience across things like security, compliance and auditing and cost management. The team will benefit from an engineer who is familiar with Terraform and has conducted security assessments. A full-stack developer who has worked with automation servers like Jenkins and also understands regulatory frameworks will come in handy.
While you can have a platform team that’s focused solely on operational tasks, having team members with more varied experience can accelerate the platform development process and help avoid extensive coordination across multiple teams.
Interact with Product Delivery Teams
Once a platform team is established, it works with product delivery teams to create a platform that is relevant and adds value. The nature of this interaction will change over the course of the platform’s lifecycle.
In the early stages of platform development, the design and interfaces are fluid, changing quickly and often. Platform engineers, guided by the TPM, should work closely with product delivery teams while seeking to minimize communication overhead. This may even involve embedding platform engineers within a product delivery team, or vice versa, as the proof of concept is being built. This is referred to as the "Collaboration" team interaction model in the popular Team Topologies approach.
Meanwhile, the TPM consults with the teams that are not directly involved in building the platform. This helps ensure the design and interfaces of the proposed platform work—an important step in ensuring a high level of adoption once the platform is live.
As the platform matures, its interfaces becoming clearer and its documentation more comprehensive, the collaboration shifts towards the “X-as-a-Service” interaction model, where product delivery teams can interact with the internal platform like they do with external ones, like Stripe or Twilio.
While a genuine “X-as-a-Service” model is the ultimate goal, gaps or ambiguities in the documentation are inevitable, and the abstraction provided may be leaky. The platform team must therefore continue ongoing support and guidance with a "Facilitating" interaction model to ensure continued adoption.
A platform team can be a vital part of any technical organization, enabling it to function efficiently at scale. It does this by centralizing decision making and information retrieval and standardizing tools and patterns.
One of the most important steps in building a platform team is hiring the right people. Include a TPM to help ensure you're building platforms that are fit for purpose. Additionally, make sure to hire both specialists and full-stack developers and engineers who have security and compliance experience to make platform development flow faster.
Of course, any successful platform needs robust infrastructure to run on. Equinix’s on-demand dedicated cloud services offer platform builders ultimate control and flexibility in the types of compute and storage infrastructure they deploy, network configurations and integrations with cloud providers and SaaS tools.