Have you ever worked on a computer system that was so fragile it was frightening to make changes to? Maybe it was challenging to deploy, difficult to delete code, or changing one piece would cause surprising cascading failures.
client-side features with server-side conﬁguraOon • Do A/B tesOng • Merge code that isn’t ready for full-feature release • Incremental ramp-ups • Easy, well-socialized place to ramp down and turn it oﬀ
mobile or a desktop applicaOon: You need server-side feature gaOng and server-side ﬂags. When you discover a problem and you don’t have server- side controls, the resoluOon might take days or weeks as you push out a new release or submit a new version to the app store. That’s a bad situaOon to be in.”
how to ramp down my change quickly • Knowing that my team has my back and that I’ve socialized how to turn oﬀ my change. • Understanding my baseline performance and watching metrics as my change is released.
• Understand your baseline. • Check your yardsOcks. • Segment your metrics into populaOons that match your ramp-ups. • Ramp up incrementally • Make it easy and well-understood how to conﬁg your changes oﬀ.
Find me on the Internet @zmagg ✨Thank you ✨ to my teams at Slack and Etsy for all the lessons learned. Special thanks to Kiran BhaSaram, Kiné Camara, Julia Evans, DureW Hirpa, Andrew Morrison, Bhaskar Mookerji, Tracy Stampﬁl, Meri Williams and Lydia Wagner for your early feedback and support on dra]s of this talk .