§ 77
You Build It, You Run It
When the team that writes a service also operates it, the cost of every operational weakness lands on the people who can fix it.
Keep in mind
Whoever can fix it should be the one it wakes up
What to do
Put the team that ships a service on its pager, and give it the authority and the deploy rights to fix what pages it. Pair that with a paved road (shared deploy, observability and alerting tooling) and a rotation, so no one person is on call for everything. Do not apply it to a team that cannot change the thing it is woken up for; that hands over the pager, not the ownership.
Why it happens
When software is thrown over a wall to a separate operations team, the people who take the page and face the angry customer are not the people who can change the code, so the fix arrives late or as a workaround. Developers who are paged for their own service learn which shortcuts hurt, and design for failure because they are the ones who will be woken up. Running it also puts them in daily contact with customers, which shortens the path from a complaint to a change. The incentive only works when the ownership is real: the team has to be able to change what it is paged for.
When it stops applying
Developer Cognitive Load: owning the whole cycle widens what each developer must know and the priorities they juggle every week; without shared tooling and an on-call rotation it ends in burnout, and Netflix, which runs the model, says it supports people who want depth over breadth in finding other roles.
Source
Jim Gray, "A Conversation with Werner Vogels", ACM Queue 4(4) (2006) — Amazon's CTO on why every service team runs what it builds: "You build it, you run it." The trade-off is from Philip Fisher-Ogden, Greg Burrell & Dianne Marsh, Full Cycle Developers at Netflix — Operate What You Build (Netflix Technology Blog, 2018).
Read the sourceCite this
Hammurabi, § 77, “You Build It, You Run It.” https://kanywst.github.io/hammurabi/laws/you-build-it-you-run-it/
BibTeX
@misc{hammurabi-you-build-it-you-run-it,
title = {You Build It, You Run It},
author = {{Hammurabi contributors}},
note = {Hammurabi, § 77},
url = {https://kanywst.github.io/hammurabi/laws/you-build-it-you-run-it/}
}Related laws
- 07Conway's LawSystems end up shaped like the communication paths of the teams that build them.
- 73ToilManual, repetitive operational work grows with the service and, left unchecked, crowds out engineering.
- 81Mechanisms, Not Good IntentionsAsking people to try harder after a failure changes little, because the failure happened to people who were already trying.