DevOps and Complex Adaptive Systems
In this Post, Consultant Ron Vincent challenges the definition of DevOps by applying the notion of Complex Adaptive Systems.
What is DevOps? This is a question that I find challenging to answer and the more I study the subject the more difficult it is to define the term. One way to think of DevOps is by applying the notion of Complex Adaptive Systems. In this article I’ll explain why I think this is the case.
According to Wikipedia “A complex adaptive system is a system in which a perfect understanding of the individual parts does not automatically convey a perfect understanding of the whole system’s behavior. The study of complex adaptive systems, a subset of nonlinear dynamical systems, is highly interdisciplinary and blends insights from the natural and social sciences to develop system-level models and insights that allow for heterogeneous agents, phase transition, and emergent behavior.“
Does this sound like DevOps to you? If we stand back a little it becomes apparent that in essence agile teams are Complex Adaptive Systems of humans that interact with each other. This system of humans builds a Complex Adaptive Systems which are composed of hardware and software. Our customers are also a Complex Adaptive System. In other words, a group of humans (agile team) builds a system (software/hardware) to serve a group of people we call our customers which is also a Complex Adaptive System.