The 1 Problem That Keeps 99% of DevOps Teams From Creating a Platform
Your internal platform team has a big problem it has no designer or PM. But you think nothing is wrong because "you aren't building a product, you're building a developer platform".
I spent ten years building internal developer platforms. A year into founding a dev tool company, I learned the basics of design and product management. Now I realize the single biggest problem we had in our platform was the lack of design and product disciplines.
I spoke with hundreds of platform engineers and found 3 structural problems.
1. Developer Experience is User Experience
Developer Experience is the same User Experience discipline that has existed for many years. There is no Sales Executive Experience field for a CRM tool.
Let’s start with a definition. I assert that Developer experience encompasses all aspects of the developer’s interaction with the company, its services and its products. This isn’t particularly novel being that it is directly inspired by Don Norman and Jakob Nielsen’s definition of user experience (UX). And that’s the point, developer experience is user experience, just focused on a subset of customers.
– Mike Brevoort, Developer Experience is User Experience
More developer experience and less Developer Experience.
2. User Experience relies on Design and Product disciplines skills
Platform teams lack product skills in design and product management.
These teams have only engineers. But all you see are more platform engineer open roles. No Design. No PMs. It is a miracle that things are still getting better despite the high workload of these teams and lack of specialty.
Product teams need design and product people.
Infra platforms without product disciplines become an improvisation of User Experience. Built by engineers without proper training or experience. Learning on the job. And doing 10 other things simultaneously.
3. RTFM Culture Breaks User Experience
Your platform failed if developers ask questions already answered in the docs.
Engineers are used to reading code and docs for APIs and services they use. Platform engineers are former developers or sysadmins. These profiles have little exposure to the process of building good experiences. PMs and designers took care of this process at their past jobs.
Don't be mad when developers ask documented questions. Ask yourself how can you make the design more obvious so people don't have to ask.
I spoke to hundreds of platform teams in the last 10 months and learned 3 key steps to fix these problems
Here is what top teams do:
1. Build platform teams like traditional product teams
Do the opposite of problems 1, 2, and 3: do user research, replace your open DevOps role with a designer, and assume people don't read docs.
2. Run less software
Use PMs and designers from service providers by buying and not of building.
Spending 1 thousand dollars a year per engineer on a tool may seem crazy. But it is cheap. An engineer's context-switching costs the company $100. A tool preventing one context switch a day generates 30k/year in savings per engineer.
Run less software.
3. Split platform and infra teams
A dog with two owners dies of hunger (surprised this isn't a thing in English).
Platform teams have a lot of duties. Roles include SRE, CI/CD, Access Management, Infrastructure Management, etc. It is impossible to build a good User Experience with all these things on the plate.
Pressing issues always take precedence. Nobody will work on user research if the backlog has the infra of 3 critical products to provision.
Check Charity Mayors' piece on the differences between these teams.