Engineering Trust in Complex Systems
Within software and test engineering, two new disciplines—Chaos Engineering and Intuition Engineering—provide avenues to address trust in complex systems. Chaos Engineering is a methodology for test engineers to validate a system’s behavior and establish empirical trust metrics. Intuition Engineering provides new interfaces to navigate complexity, filling in gaps in understanding that classical methods cannot address.
Casey Rosenthal explains how these disciplines are used to improve quality on Netflix.com, one of the largest scaled deployments on the Internet. Although most systems at scale are primarily optimized for performance, availability, or fault tolerance, Netflix chooses to optimize for development velocity. This impacts how Netflix thinks about availability and how they work with their complex microservice architecture to provide service to subscribers worldwide. No longer limited to companies operating at Netflix’s scale, Chaos and Intuition Engineering can play critical roles for many organizations to improve development velocity while meeting commitments to users. Organizations that embrace complexity without sacrificing velocity gain a significant business advantage. Test and quality engineers are linchpins for embracing complexity with velocity. By focusing on the testing the edges of a system, we can certify a level of trust without untangling the complexity or impeding the development velocity.