85

Paved road: the platform is a product with voluntary adoption

#
  • practice
  • context-dependent
  • no code

Scope. Opt-in applies to developer-facing workflow, not to security/compliance guardrails — those can be mandatory by construction.

Conflicts with: Paved road ↔ team autonomy, Paved road ↔ blast radius

An internal platform imposed by mandate gets malicious compliance; a platform run as a product wins because the paved road is cheaper than the detour: onboarding in an hour, migrations are the platform’s problem, not the team’s. Deviating is legitimate, but it has an explicit price: leave the paved road and you own your stack yourself, on-call and upgrades included. The platform’s metric is adoption and time-to-first-deploy, not feature count.

“Paved road” is Netflix’s term for its supported path of tools and libraries; Spotify calls the same thing a “golden path”. The organizational model behind it is set out in Skelton and Pais’s Team Topologies (2019): a platform team provides internal services in an X-as-a-Service mode to stream-aligned teams, and aims for the “thinnest viable platform” that reduces their cognitive load. Backstage, which Spotify open-sourced, is one concrete form: software templates that scaffold a service with CI, telemetry and deployment already wired.

Honest assessment. The dark side of a paved road is that the platform becomes a monoculture: its bug is everyone’s bug (blast radius, 27; version the platform and roll the platform itself out as a canary, 72, across consumer teams). And Conway (15) in full force: a platform team nobody can reach with a question breeds workarounds regardless of code quality. A platform without support is a library, not a product.

It is expressed through the ownership structure and the platform team’s SLA; in code it shows up as “a new service template = one command.”

How to tell it is working. Count, don’t survey: the share of services on the current template version, the time from create to first production deploy, the number of teams that left the road and why. A team that leaves is data — either the road lacks something real, or the detour is cheaper than it should be because its costs (on-call, upgrades, audits) are not charged to it.

When not to build one. With a handful of teams a platform team is overhead; a shared template and a written convention do the job. A platform that tries to hide every decision becomes a leaky abstraction its users must still understand, and a platform with nothing left to adopt — because every new service already uses it — measures itself by migrations of the old ones (87).

Last technical review: 2026-08-04 · Reference · 112 principles