Velocity 2012: Richard Cook, "How Complex Systems Fail"
O'Reilly3 HN recommenders · recommended in 4 months, 2013–2021
talk · intermediate · evergreen · 2013–2021 on HN
Dr. Richard Cook, a physician and patient safety researcher, presents his ideas on how complex systems fail, at Velocity 2012. He argues for designing for resiliency rather than trying to exhaustively handle every failure mode.
HN people recommend it as a must-watch for anyone running complex systems, and some rewatch it regularly to remember its principles.
Up next
4 mo on HNWhy is Ukraine the West's Fault? Featuring John Mearsheimer
The University of Chicago
9 HN recommender · 2022–2025
6 mo on HNWhat Languages Sound Like To Foreigners
Sara Forsberg
6 HN recommender · 2014–2021
3 mo on HNCOVID-19 Vaccines: MODERNA | PFIZER/BIONTECH | ASTRAZENECA
Ninja Nerd
4 HN recommender · 2020–2021
5 mo on HNMichael Stonebraker | Big Data is (at least) Four Different Problems
Michigan Engineering
5 HN recommender · 2015–2024
2 mo on HNThe Man Who Took LSD and Changed The World
Veritasium
2 HN recommender · 2024–2026
10 mo on HNVelocity NY 2013: Richard Cook, "Resilience In Complex Adaptive Systems"
O'Reilly
4 HN recommender · 2017–2021
11 mo on HNDebugging Under Fire: Keep your Head when Systems have Lost their Mind • Bryan Cantrill • GOTO 2017
GOTO Conferences
8 HN recommender · 2018–2025
9 mo on HNAWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)
Amazon Web Services
12 HN recommender · 2019–2025
9 mo on HNLiterate Devops with Emacs
Howard Abrams
8 HN recommender · 2015–2025
6 mo on HNContainers From Scratch • Liz Rice • GOTO 2018
GOTO Conferences
6 HN recommender · 2018–2025
6 mo on HNOver 200,000 Servers in One Place! Visiting Hetzner in Falkenstein (Germany)
der8auer EN
6 HN recommender · 2021–2025
5 mo on HNBryan Cantrill from Joyent on Manta: internet-facing object storage facility that features compute
AI Council
4 HN recommender · 2014–2026
7 comments from Hacker News
The accompanying talk by Richard I Cook at the O'Reilly Velocity conference is here: ▶ this video When I worked in operations, I would watch this talk every couple of months to remind myself of the principles. The principles are summarized in the list, but the talk adds a bit more context. I find that this context matters for seeing how the principles might be applied.
> We should probably be doing modelling and formal verification and stuff like that. This is interesting. Is this a hypothetical notion or can you share any personal experience of having worked on any projects where this is done successfully? I bring this up because there is typically a narrow band of applicability of purely theoretical constructs in most complex systems (AWS & Azure teams both use formal methods [1] to find bugs and to increase confidence in critical algorithms but I don't believe they do this system-wide. Also the verification is only done on the abstraction, not the actual implementation.). Richard Cook gave a talk on "How Complex Systems Fail" [2] which addresses this point, and advocates for designing for resiliency as opposed to designing to exhaustively handle all failure modes (which are impossible to predict). Design people often design from some idealized notion of inputs and/or worst case scenarios. Ops people know what can go wrong will go wrong, which is why ops is there to handle the deviations from the norm. Real world design exposes lift points, reveals controls and supports continuous maintenance. Highly reliable systems are evolved, not just designed. [1] link [2] ▶ this video
To build on this discussion, what are some highlights in that book that you found useful? I ask because I've read some systems thinking books (e.g. Systemantics) that were difficult to apply in real life. I come from the perspective of someone with a systems/theory builder personality. The only systems thinking book that I found remotely practical was The Fifth Discipline by Peter Senge. The most useful piece of short writing on systems thinking that I've come across is "How Complex Systems Fail" [1, 2], which talks about designing systems for resiliency, and not for rigid notions of reliability. [1] "How Complex Systems Fail" link [2] Its accompanying O'Reilly conference talk ▶ this video
Richards Cooks How complex systems fail from velocity a couple of years ago ▶ this video and the paper that's the basis for it is also nice to have handy link
except every single good thing we have is built upon failure. got a gsm phone? broadband? how about a modem? a pc? basic chemistry? cryptography? the very notion of cryptography is embracing the failure of having private data leaked. did you know 802.11 was initially made for infrared? do you remember how much it sucked? maybe if would have progressed faster if it was out in the wild faster. that's how it's progressing now. yeah, you may not like it. and every now and then I hear the idea that "when you're dealing with critical things, like healthcare where someone's life may depend on it, you cannot afford failure". except that's not true. those systems actually embrace failure more than anything else. google reliability engineering.or look at this: link there is a nice talk on failure from richard cook at the velocity conf: ▶ this video
Huh? See link and watch ▶ this video The "chain analogy" is just that i.e. a Metaphor. You need to map it to your studies in Systems Science and Complexity Science . Start with the works of Henry Petroski. Then look at the works of Nassim Taleb , in particular Antifragile . Finally, do a search for "Failure in Complex Systems" and you get tons of journal articles one of which i have listed above.
The field is called "Operations Research". I had the pleasure of meeting Dr Cook in the speaker lounge right before he gave this keynote at Velocity 2012: ▶ this video