Consider a jazz band you’ve heard or seen live, or really any type of music where improvisation plays an important role. Great bands work together effortlessly, and when things go sideways or “wrong notes” are played, they quickly adapt to the changing conditions in order to keep the music going. This emergent complex system manifests itself in the awesome jams you hear.
Derek Bailey, a well-known English guitarist and improviser, put it succinctly: “Improvisation has no existence outside of its practice”. In fact, he embodies Improvisational Music as “the practice of practice”. When that band gets together to play a show, it is just another time they’re getting together to play, and it won’t be like any other practice because they will keep learning new things.
To better understand increasingly complex software systems, we can learn a great deal from improvising musicians, especially Improvisational Music. We can build our group intuition like they do with ongoing practice and turn the next incident into just another time we’re getting together to practice. We may find that incidents become non-events, like those “wrong notes” in jazz, after all the complex system is doing the same things when it is successful as it does when it fails: regular work.
And we humans are right there in the middle, with our unshareable mental models and assumptions about what others know. We are susceptible to losing Common Ground all the time, but especially in a high-pressure Joint Activity like musical performances… or, you know, incidents in software.
Consider the technology teams you are in and adjacent to, or even the ones you don’t know about. Think about the complex system that is your software platform, that relates all these teams. When that incident happens, how much of a surprise is it? How quickly does the team adapt to the “wrong notes” and keep the music going?
Resilience and Diversity in complex systems is the foundation for Matt Davis’s talk “Music in Resilience: The Practice of Practice”. It juxtaposes Improvisational Music and Software Engineering, most notably how the Joint Activities of musical performance transfer to the way we think about the Joint Activities of software operations. It has been given at several conferences and educational venues including Music City Tech, RE:Deploy, Disney JETA, Southern California Linux Expo (SCaLE), and Sparklecon.