Although the concept is not new (it was introduced in the Thoughtworks technology radar in 2017), I see a recent grow in platform teams at my customers. Partially this could probably be explained by the success of the great Team Topologies book that can be found on the bookshelf of almost every IT manager today.
What are platform teams?
Platform teams are specialized groups within an organization that focus on building and maintaining the foundational technology and infrastructure that other development teams use to create applications. Their primary goal is to provide reusable tools, frameworks, and services that streamline the development process and enable feature teams to focus on delivering business value without worrying about underlying technical complexities.
Platform teams typically handle:
- Infrastructure Management: Setting up and maintaining cloud services, CI/CD pipelines, monitoring tools, and other foundational infrastructure.
- Developer Tools: Creating and managing internal tools and libraries that help developers write, test, and deploy code more efficiently.
- Standardization: Establishing coding standards, best practices, and common frameworks to ensure consistency and quality across the organization’s software projects.
- Automation: Automating repetitive tasks and processes to reduce manual effort and minimize the risk of human error.
Pitfalls when creating a platform team
The growing number of platforms teams made me suspicious and when taking a look in more detail at some of those teams, I noticed the following things:
- Command and Control: Instead of being an enabler for other teams in the organization, they command how other teams should work making them a bottleneck for the rest of the organization. A lot of times when I noticed this, the platform team was a ‘traditional’ IT support team in disguise.
-
Overengineering Solutions: The team went overboard and created overly complex tools and frameworks that are difficult for feature teams to use. Striking the right balance between sophistication and usability is crucial.
-
Insufficient Collaboration with Feature Teams: The team operated in isolation and developed solutions that do not address the real pain points of the feature teams. Continuous collaboration and feedback loops are essential to ensure that the platform team's efforts are effective and relevant.
-
Neglecting Documentation and Training: Even the most powerful tools and frameworks are ineffective if the development teams do not know how to use them properly. Comprehensive documentation and training are critical to the successful adoption of platform team deliverables.
-
Lack of Self-Service: Platform teams require a significant investment in skilled personnel and resources. Automation and self-service are key to create a scalable solution without the platform team becoming overworked and a bottleneck.
This all made me think about the following video from Sam Newman:
In this video Sam talks about his own experience with platform teams and noticed the following pitfalls(some of them similar to my own experience):
- Not enabling self-service: Feature teams should be able to move fast and be empowered to make decisions and get things done.
- Not helping people use the tools well: the job the platform team is not to build a platform, it s about enablement.
- Trying to implement governance through tooling: Forcing people to use your platform isn’t about enablement, it’s about control.
His advices are simple:
- Trust your people
- Treat your platform as a product
- Make your platform optional
- Provide a paved road experience
Let me end this post with the following quote from the video above:
If you have to ask to a person to get something done it is not a platform
More information
Platform engineering product teams | Technology Radar | Thoughtworks
The paved road (bartwullems.blogspot.com)
Building platforms–Strike the right balance (bartwullems.blogspot.com)