And while tools help, they aren’t the complete picture. By way of analogy, I can wield woodworking tools and hack something together (you don’t want me building your house, trust me!), but I’m not in the same league as my brother-in-law who is an excellent carpenter (you want him to build your house or high-end custom cabinets, he can do either). His understanding of woodworking transcends understanding what tools to use for which task, and the same tools in his hands will yield very different – and far greater results – than anything that I can do.
Getting back to software, if we want stand the test of time and receive the full benefits of agile, we need to understand that agile frameworks, practices and techniques exist to help us implement agile, but they don’t make us agile in and of themselves. Agility is embodied in the mindset and behaviors used as we leverage the tools. Allan Kelly illustrates how learning organizations, lean and agile stack up in his book, Changing Software Development: Learning to Become Agile:
At the tip of the pyramid are specific implementations of agile – what we see and do. These are the tools by which we implement agile. However, the more we understand and implement from a mindset and behavioral standpoint – pulling from the base of the pyramid – the more agile we really are.
Pulling from the base starts us down the path of creating a timeless, lasting agile implementation. Being agile involves understanding, supporting and living the values and principles that are exhibited as interrelated qualities of individuals, teams and the organization at large. Consider what it takes to support one of the principles of the Agile Manifesto:
“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”Using a tool like Scrum provides a mechanism for supporting this principle: the retrospective. But for this to be effective and lasting, embracing and living the principle at a personal, team and organizational level is required.
To be agile, individuals and teams need to be reflective, to use respectful inquiry and interactions to examine existing beliefs, behaviors and approaches. Organizations must support this and understand and respect the need for the time to implement the behaviors required to support the principle. Over time, continuous learning and improvement become an expected part of an organization’s culture, where reflection and continual refinement are a part of everyday life and not a scheduled event.
Since I’ve been working on preparing some training materials lately, I developed a simple model of what goes into being agile:
As you can see, agility is the core and (what you can’t see) incorporates the foundational components of a Learning Organization, Lean and Agile of Alan Kelly’s pyramid. Revolving around this core are the three interrelated entities that need to support agility by embracing and exhibiting certain qualities (mindset, approach, behaviors/actions) of the values and principles contained within the core.
By design, these entities flow from one to another, reinforcing and supporting each other and each quality (in potentially different ways). Consider what would happen if there is a gap where one of the entities does not support agile. We have a problem, right?
Ultimately, this is about seeing the whole and optimizing the whole so that agile implementations stick. Implementing the tools won’t create a lasting implementation; we need to go deeper.
In my Foundations for Leading Agile Change course that I’m developing, my intent is to use this model as a learning tool, asking people to make note of timeless qualities as we progress through the course. (I'm still working on the course, and I have to contact various authors to ask permission to use some information, like Alan Kelly's pyramid but it's coming together!)