As you can imagine, we get the question, what is Agile, a lot at Storm Consulting. So, here we go.
Agile is a movement started in 2001 by 17 software professionals; smart people like you and me who’d somehow worked-out how to build useful software. They got together to see if they could formulate a smarter way to develop software and what they came up with was the Agile Manifesto.
Famously, they “didn’t agree about much, but found consensus around four main values”. These four values are supported by 12 Principles which may be seen as guidelines for management.
Any practice which supports those principles and the four values is therefore Agile.
I like to explain this by drawing a triangle, point upwards divided into three horizontal tiers.
Top tier represents the four values
Middle the 12 principles
Lower, the practices you choose to do.
Figure 1 The Agile / Enterprise Triangle
I then make the analogy to the structure of the enterprise: the Top section is the executive, providing direction and long term goals, vision, purpose. The Middle section is management, a framework and architecture to support, assess and nurture the work activities. And the Lower section is the actual work done, e.g. writing code, writing and running a test, talking to an end user to learn the process.
The triangle diagram also maps to three levels of abstraction of analysis:
Top is the conceptual model.
Middle the logical model.
Lower is physical.
Given this structure it becomes very easy to see if what you are doing/proposing is supportive of the tier(s) above. If not, then perhaps it is counter-productive.
For example: lets say you are holding a weekly progress, or status meeting with the entire team. Ask yourself, what is the business value? Could that value be realised in a lighter, or more Agile manner? Perhaps by defining what information is actually needed and then figuring-out an effective way of delivering that information.
From this you can see that Agile is a bit like a philosophy, a particular way of viewing the world and making things work in a way that prioritises stated outcomes. Agile may be applied to almost any activity.
For the full story behind values, strategies and practices, read Kent Beck’s book introducing eXtreme Programming.