Skip to content
6 min read·Lesson 3 of 8

The Thinnest Viable Platform and Golden Paths

How to scope a platform: the TVP principle, golden paths, paved roads, and the difference between platform features and platform products.

Every platform team starts with the temptation to boil the ocean: "we'll abstract Kubernetes, Terraform, all three clouds, observability, CI/CD, security policy, secrets — and ship the unified portal in Q2." That platform never gets built. Or worse, it gets built but nobody uses it.

The Thinnest Viable Platform (TVP)

The TVP, popularised in Team Topologies, is the minimum platform that meaningfully reduces cognitive load for stream-aligned teams. Start small. Pick the single most painful, repeated, undifferentiated piece of work — and remove it.

Heuristics for picking it:

  1. Frequency. Something every team does every week, not every six months.
  2. Pain. Currently consumes hours, frustrates developers, or generates incidents.
  3. Undifferentiated. Every team solves it the same way; nothing about how you solve it is unique to the company.
  4. Solvable. Real solutions exist; you can ship something useful in a quarter.

Typical TVPs:

  • A service template that scaffolds a new microservice with logging, metrics, healthchecks, CI, and a deploy pipeline pre-wired
  • A self-service way to provision a database in a sandbox account
  • A standard observability stack with default dashboards and alerts
  • A "deploy this PR to a preview environment" button

What a TVP is not: an all-singing developer portal. Backstage with 100 plugins. A bespoke abstraction over Kubernetes. Those come later — if they come at all.

Golden Paths

Spotify coined the term Golden Path in 2014. The Spotify memo defined it as:

An opinionated and supported tutorial that walks users through developing something specific.

The key words are opinionated and supported. A golden path makes a choice on the developer's behalf — "use this language, this framework, this template, this deployment pipeline" — and the platform team commits to keeping that path working and current. Off the path, you are on your own.

Spotify's first golden paths covered things like "build a new Java backend service on the JVM platform." The whole journey — bootstrap repo, CI, deploy, observability, runbook — was paved.

Paved Roads, Dirt Roads, Off-Roading

Netflix popularised the metaphor: not every team needs the platform. There are three lanes:

LaneWho uses itPlatform team's role
Paved roadMost product teamsFull support, fast adoption, observability and security built in
Dirt roadTeams with specialised needsSome shared building blocks; team owns more themselves
Off-roadEdge cases, experiments, researchHands off; team owns end-to-end; documents the experiment

The political move is to make the paved road so good that it is genuinely the easiest path — not to force everyone onto it. Mandates breed resistance; well-designed defaults breed adoption.

Optionality Kills Platforms

Every option you offer is a tail to support forever. Three CI systems is three runbooks, three security reviews, three sets of dashboards. Be ruthless about defaults:

  • One CI/CD system, not three
  • One Kubernetes flavour, not four cloud variants
  • One observability stack with one query language
  • One service template per supported language

You will be told "we need flexibility." Some of it is real; most is a request to defer the decision. Make the decision.

Designing the Thinnest Path

Take "scaffold a new service" as a worked example. The thinnest viable golden path:

  1. A CLI or portal action: my-platform new service my-svc --language go
  2. That creates a Git repo from a template
  3. With CI configured (GitHub Actions or whatever your one CI is)
  4. With a Dockerfile that follows the company standard (distroless base, non-root user)
  5. With a Helm chart or Kustomize that deploys to a default namespace
  6. With dashboards, alerts, and runbooks pre-registered
  7. With ownership wired in Backstage

You can ship the first three steps in two weeks and start collecting feedback. Lock in the next four over the following quarter, driven by what real teams hit.

Iteration Cadence

Treat the platform like any product:

  • Weekly office hours for users
  • A roadmap on a public Confluence / Notion page
  • Adoption dashboards (how many teams onboarded; how many services on the paved road)
  • Quarterly developer survey; categorise responses; close the loop publicly

Anti-Patterns

  • The Universal Abstraction: "We will hide all clouds behind one API." Inevitable leaks, double maintenance, lowest-common-denominator features.
  • The Magic Box: a single CLI command that silently runs hundreds of things. Brilliant when it works; impossible to debug when it doesn't. Expose the steps.
  • The Beautiful PR: two years building the portal nobody asked for while teams burn on a CI problem that could be fixed in a sprint.
  • The Frozen Platform: shipped, declared done, stagnates. Developer expectations move; the platform must too.

The Bottom Line

Pick one painful, repeated, undifferentiated problem. Solve it well — opinionated, supported, easier than the alternatives. Measure adoption. Expand from there. The platform you do not yet have but want to build is not the platform that will succeed; it is the platform you can ship in a quarter and improve every week.

Key Takeaways

  • Start with the Thinnest Viable Platform — solve one painful problem well, then expand.
  • A golden path is the opinionated, supported way to do a specific thing — fast and safe.
  • Paved roads, dirt roads, and off-roading: not everyone needs the platform; that's fine.
  • Optionality kills platforms — limit choices to reduce cognitive load and operational surface.
  • Spotify's 2014 "Golden Path" memo is the canonical case study.

Test your knowledge

Try exam-style practice questions to reinforce what you've learned.

Practice Questions →