Complexity Theory and Scrum
If you’ve ever looked into the agile management paradigm Scrum, you’ve likely discovered that the framework was informed by many practices with no direct connection to software development. For example, its most immediate roots are actually in new product development and Lean manufacturing processes popularized by Japanese automakers such as Toyota and Honda in the 1980s. If you dig a little deeper, you’ll find that many agile luminaries also bring up complex systems theory when discussing the origins of Scrum. According to the Wikipedia entry, “complex systems” refers to “a new approach to science that studies how relationships between parts give rise to the collective behaviors of a system and how the system interacts and forms relationships with its environment.”
I just ran across a great article on Scrum’s origins and complex systems theory by Laszlo Szalvay of Scrum company Danube Technologies. You can read it here. Within the article, Szalvay makes the connection between Scrum and complexity theory very clear. To oversimplify the discussion, think of the evolution of human life. Just as humans have had to adjust to survive in a rapidly changing and often unfriendly world (dealing with climate changes, predators, and so on), so, too, must software development react to survive during chaotic development stretches and a tech market that’s changing faster than ever before. There’s much more depth in his discussion, so I’d encourage you to take a look at the full article.