Skip to main content

You don’t have a platform if it doesn’t have self service

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

Team Topologies

The paved road (bartwullems.blogspot.com)

Building platforms–Strike the right balance (bartwullems.blogspot.com)

Popular posts from this blog

Azure DevOps/ GitHub emoji

I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

Kubernetes–Limit your environmental impact

Reducing the carbon footprint and CO2 emission of our (cloud) workloads, is a responsibility of all of us. If you are running a Kubernetes cluster, have a look at Kube-Green . kube-green is a simple Kubernetes operator that automatically shuts down (some of) your pods when you don't need them. A single pod produces about 11 Kg CO2eq per year( here the calculation). Reason enough to give it a try! Installing kube-green in your cluster The easiest way to install the operator in your cluster is through kubectl. We first need to install a cert-manager: kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.5/cert-manager.yaml Remark: Wait a minute before you continue as it can take some time before the cert-manager is up & running inside your cluster. Now we can install the kube-green operator: kubectl apply -f https://github.com/kube-green/kube-green/releases/latest/download/kube-green.yaml Now in the namespace where we want t

DevToys–A swiss army knife for developers

As a developer there are a lot of small tasks you need to do as part of your coding, debugging and testing activities.  DevToys is an offline windows app that tries to help you with these tasks. Instead of using different websites you get a fully offline experience offering help for a large list of tasks. Many tools are available. Here is the current list: Converters JSON <> YAML Timestamp Number Base Cron Parser Encoders / Decoders HTML URL Base64 Text & Image GZip JWT Decoder Formatters JSON SQL XML Generators Hash (MD5, SHA1, SHA256, SHA512) UUID 1 and 4 Lorem Ipsum Checksum Text Escape / Unescape Inspector & Case Converter Regex Tester Text Comparer XML Validator Markdown Preview Graphic Color B