In his brilliant book Agile Software Development (2002), Alistair Cockburn describes Agile teams as ecosystems (pp. 109-110). He talks about how teams create their own internal ecosystem, with certain team members frequently having a disproportionate influence on how the team develops and, more importantly, how the team learns to work in its broader environment.
While co-teaching a CSM course recently -- and in the middle of presenting a section about team development -- the thought struck me that Agile teams are actually much more like an organism living in a broader ecosystem, rather than the ecosystem itself. The ecosystem in which Agile teams live exists at several levels, the most immediate being the project on which the team is working, either alone or in parallel with one or more other teams. A team must adapt its behavior and possibly also its composition to the immediate environment if it is to survive, let alone prosper.
Beyond the project environment there are various levels of the corporation, more in larger companies, of course. Beyond the corporate environment, there is the larger system that encompasses the particular market in which a the corporation competes, the regional economy, and finally the global economy. Each of these levels within the broader "ecosystem" affect and influence Agile teams, forming the various threads of a complex web of interactions that play out on a daily basis. At the macro level, an Agile team is subject to the broader trends in the global, national, and regional economies in which that team lives. Any given team's ability to influence its ecosystem on this scale is extremely limited.
Closer to home, however, at the project and corporate (or more immediate corporate division) levels, Agile teams have a much greater influence both on what happens within those ecosystems and how the team adapts as a living, breathing 0rganism within its environmental niche. In the natural world, all organisms make behavioral changes at some level and undergo sometimes startling physical changes driven by natural selection to adapt to their environments. The motivating factor is survival, both of the individual and the species.
Agile teams operate in surprisingly similar ways. First, teams want to survive, or at least the individuals that comprise the collective organism we call an Agile team want to survive. Successful teams, those that survive, adapt to their environment in ways that allow them to occupy a niche in their ecosystem successfully. How do Agile teams adapt? First, they need to be properly constructed organisms, with the ability (and the authority) to change their composition as needed to be effective. Agile teams need to be able to invite new members to join -- and existing members to leave -- in order to adapt to the requirements of surviving and thriving in their ecosystem.
Secondly, Agile teams must use the feedback loops built into Scrum to understand both their environment and what is required to survive in it. The daily Scrum and the Sprint Retrospective are the two primary means teams have of gathering information and acting upon it. Successful Agile teams use these opportunities to adapt to their ecosystem by adjusting their behaviors and composition appropriately.
The definition of a successful Agile team-as-organism is a team that not only survives, but thrives in its ecosystem. As in the natural world, the relationship is symbiotic: when a team thrives, it affects its ecosystem positively as well, that is, the team produces top-quality software, on time and within budget, that satisfies the company's customers, leading to more sales and therefore a better, richer environment for the team. Another similarity with the natural world is that Agile teams are not engaged in a zero-sum game. By improving the environment for itself, an Agile team is enhancing the broader ecosystem as well, making it more likely that other organisms -- Agile teams -- will be able to survive and thrive.
Highly specialized organisms, however, often do less well when the ecosystem changes around them. More on that in a later post.
All for now.