Complexity in Action: Operating in a Complex World

This post originally appeared on Excella Consulting’s Blog.

In the previous posts in this series, I introduced Complex Adaptive Systems (CAS) and described some basic approaches for using complexity to improve the work of Agile teams. In this post, I’ll delve a bit deeper and explain how complexity can help trigger the mindset shift necessary to create an effective environment for Agile teams.

But first, it’s important to revisit the main characteristics of CAS:

  • Greater than the sum of their parts.
  • Sensitive to time.
  • Sensitive to context.
  • Emergent futures.[1]

Each of these has a bearing on the work of Agile teams.

Greater than the Sum of the Parts

Anyone who has been part of a good team has experienced this dynamic. Good teams become more than a collection of individuals. They create an environment that enhances the effectiveness of team members. They learn how to work together, to communicate seamlessly, and to enhance each other’s skills. Good teams become entities unto themselves; they are complex systems.

Although Agile emphasizes the need to develop cohesive, self-organizing teams, the importance of this is often underestimated. There is a lengthy history in modern management of treating individuals as “resources” and assuming that they can be moved from team to team without significant reductions in effectiveness. CAS theory illustrates how this idea rests on a false assumption. Teams cannot be reduced to their component pieces, taken apart, and reassembled. They need to be considered a whole with unique characteristics that are more than the sum of their components.

To be successful with Agile, we need to foster the development of good teams, create environments that allow them to flourish, and let them become effective at working together. Once they achieve that state, treat them as a team, not a collection of individuals. This means shifting the focus of management. Managers become responsible for creating the necessary environment; they shift from managing individuals to managing teams.

Sensitive to Time and Context

This work is aided by becoming familiar with how sensitive teams are to historical events and their current context. Just like CAS in general, Agile teams are a product of their pasts and current environmental influences. This has several important implications.

It is impossible to “rewind” the clock and return to a previous state in a complex system. Historical events and their impact become embedded in a team; they constrain future potential. Focus efforts like retrospectives on broadening everyone’s perspective and validating the diversity of views within the team; there will be no single “correct” view of the past. Acknowledging diverse perspectives will provide a solid foundation for future improvements and ensure they are informed by the experiences of the entire team.

Context exerts a similar influence. I have worked with dozens of Agile teams around the world, from Europe to Asia and North America. Each of those teams had a slightly different context—different team members, different products, different ways of working—and they all approached Agile slightly differently. To be most effective, I had to adjust my approach, and my message, to allow my efforts to resonate with them.

An effective environment for Agile teams needs to recognize this variability. Just as we cannot expect all individuals on a team to react and behave the same way, we cannot manage all teams the same way. What’s needed is a clear set of expectations—well-defined constraints—for how teams will be evaluated and managed. If those constraints are in the “sweet spot” then the teams will have the freedom to improve, grow, and self-organize, and the leaders of the organization will have enough visibility and control to develop the confidence they need. The key is to remember that the “sweet spot” will vary from one organization to another.

Emergent Futures

One of the most exciting aspects of Agile approaches is waiting until the “last responsible moment” to take action. It’s exciting because identifying the right moment can be a challenge, and because it allows us to defer commitment of energy and time until we have the latest (and best) information.

The future is unpredictable. We all know this. But in CAS, we assume the future will emerge, that unanticipated new ideas and opportunities will arise. By waiting until the “last responsible moment” we increase the probability that we will be able to take advantage of these when they do.

The challenge, of course, is that emergent futures are not predictable, and most organizations crave predictability as a means to reducing risk. From the perspective of CAS, this is quickly exposed as a paradox. If we invest in predictability to reduce risk, we inhibit our ability to defer commitment and seize emergent opportunities. The alternative is to reduce risk by minimizing unknowns. If we can go from starting work on a user story to delivering the associated functionality in two weeks, we keep risk very, very small. Agility offers new ways to reduce risk.

To make Agile work effectively, especially in an environment with multiple teams, a mindset shift is required. CAS theory helps us understand the nature of that shift and provides a new window into understanding why Agile approaches are so effective. In these four posts, I’ve barely scratched the surface. If you’d like to learn more about how to apply complexity in your organization, please contact me or one of the other coaches here at Excella.

[1] For a detailed examination of these ideas, see Embracing Complexity by Jean G. Boulton, Peter M. Allen, and Cliff Bowman.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s