§ 73
Toil
Manual, repetitive operational work grows with the service and, left unchecked, crowds out engineering.
Keep in mind
Treat repeated manual work as a defect, not a duty
What to do
Measure the share of each person's time spent on toil and set a ceiling (Google uses 50%). When a task comes back a third time (a rule of thumb, not the book's), file it as engineering work; when it scales with users, treat it as a defect rather than a chore.
Why it happens
Toil is work that is manual, repetitive, automatable, interrupt-driven, leaves the system no better than it found it, and scales linearly with traffic or users. Each instance is small and urgent, so it always beats project work in the moment. Because it grows with the service and engineering time does not, a team that never pushes back ends up doing nothing else.
In practice
Google's datacenter network engineers had to handle each failed line card in its Saturn and Jupiter switch fabrics by hand: check that traffic could move, drain the switch, reboot or replace the card, and undrain it. Jupiter was more than six times larger than any earlier Google fabric, and the volume of these repairs grew with it. The team automated the procedure, first reboot and reinstall, then replacement on a second failure, which freed engineers for other work; it also concluded that spending nearly three years (2012-2015) analyzing memory errors before automating had been unnecessary.
Read the accountWhen it stops applying
Ironies of Automation: automating a task removes the practice people needed to handle it when the automation fails, and some automation costs more to build and keep alive than the toil it replaces.
Source
Vivek Rau, "Eliminating Toil", in Beyer, Jones, Petoff & Murphy (eds.), Site Reliability Engineering (O'Reilly, 2016), ch. 5 — the definition of toil and the 50% cap.
Read the sourceCite this
Related laws
- 48Ironies of AutomationAutomation leaves people only the hardest cases, after their skills have faded from disuse.
- 72Error BudgetAn SLO below 100% leaves a measurable allowance of failure, and that allowance can be spent.
- 77You Build It, You Run ItWhen the team that writes a service also operates it, the cost of every operational weakness lands on the people who can fix it.
- 88Churn RuleWhen the team that changes shared infrastructure can push the migration onto its users, the cost of the change multiplies by the number of users.