Abe Gong from Jawbone gave a talk about building resilient systems. He defined resilience as combining flexibility and toughness. To build resilient products, companies need to extensively test products to destruction beyond standard tests, and get "creative about destruction". They also need diverse and redundant systems to avoid single points of failure, as well as the ability to quickly learn from mistakes and iterate on both hardware and software. Companies should hire people comfortable with failure and breaking things, and ensure that when problems do occur, all parts of the organization can work together to solve the issue.
1 of 30
More Related Content
Building for resilience (with speaking notes)
1. Hi, Im Abe Gong. I do data science at Jawbone. Its a pleasure to be here at Solid, to speak with you about building resilient systems.
3. Resilient things are tough because they are flexible.
!The best way to build for resilience is simple...
4. Go home and break something
Go home and break something.
5. Now, lets be honest. Resilience is not a quality that most people associate with electronics.
!For the most part, our gadgets work because we keep them safe.
6. Your desk, for example, is a very safe place for your computer.
7. Your pocket is a little rougher, but still pretty forgiving.
8. As smart devices find use in more and more places, they will need to become resilient to new shocks, pressures, and dangers.
!To make them that way, we need to get serious about breaking them.
9. Example: When Jawbone released the UP band, we ran the bands through all the standard industry tests. Then we got creative about destruction. We invented even more rigorous tests for impact, stress, and waterproof-ness, to
guarantee that every single unit would be robust.
10. And it worked.
!But resilience isnt just about building robust single units.
11. When we do our job right, the fabric as a whole is stronger and more flexible than the individual threads.
15. Ive found that good makers aren't just comfortable with failurethey often have a kind of morbid curiosity about breaking stuff. Good makers...
16. Good makers like to
push red
buttons.
...like to push red buttons.
!Take NetFlix for example. A couple of years ago, they published a project called Chaos Monkey.
!Chaos Monkey has permissions to sift through all their servers and randomly pull the plug on a few of them.
!This is crazy, right? Why would you kill your own production servers? But it forces engineers at NetFlix to anticipate failure and make every line of code resilient.
17. Failing early and often makes you better at recovering quickly. This is a core lesson of agile software development, and we're starting to be able to apply it to smart hardware as well.
18. Learn to iterate in smartware.
We are learning to iterate in hardware the same way we iterate in software.
19. Example: last year, Jawbone released a software update that improves the battery life of our Jambox speakers. You download it, and suddenly your Jamboxthe same speaker youve been using for months---gets two more hours of
battery life. Were iterating in smartware.
20. Another example: last year, there were two accidents where Tesla cars ran over hard debris on the road.
21. The debris punctured the underside of the cars, where the batteries are stored, causing fires.
!No one was hurt, but Tesla learned from the accidents and they iterated. They deployed a software upgrade that raises the car a little higher when youre driving at highway speed.
22. They also added titanium shields to the bottom of their vehicles.
!In other words, two extremely rare accidents made all of Teslas cars safer and more durable. All the units learned from one mistake.
23. All the units
learn from
every
mistake.
This is a basic pattern of resilience, and it applies to organizations just as much as products. All the units should learn from every mistake.
!One of Jawbones maker values is to fail openly. Its a great thing when your hardware and software teams can collaborate to fix the same bug, when your supply chain can adapt based on feedback from the
customer help desk. It builds trust, and respect, and accountability.
!Okay, thats a lot of examples and a lot of ideas. Lets recap.
24. Resilience is toughness through flexibility. The only way to build resilient products is to go home and break them.
25. Go home and break something
The only way to build resilient products is to go home and break them.