I’ve been wondering for quite some time about just what exactly is Agile. I’ve been a team member on Agile teams and a consultant (call that an agile coach or consultant…it’s the same thing to me) and worked in small to medium-sized to enterprise-sized companies.
As have many others, I’ve seen different interpretations of what Agile means to different people in different environments. From my experience, people generally consider Agile to be a ‘state of mind’, a particular practice or a set of practices. I worked with a team in the past that considered themselves to be ‘very Agile’. They were Agile enough to have a 4 day sprint after a 2 week sprint because all the work couldn’t get done in time. I’ve worked with teams that had development and testing sprints. I’ve worked with teams that had programmers that would account for re-working bad code in any story that was going to require changes in those areas.
Does that describe what Agile is?
The interesting part of those 3 stories is that the environments and culture created those versions of Agile, for the lack of a better phrase. The 1st team that couldn’t seem to finish work in any sprint thought they were really Agile. They thought this because there was no impact to missing the sprint commitment. It didn’t really matter when the work was done or when it was released. Using ‘sprints’ was just a way to break the work into 2 week chunks. I’d call that iterative, not Agile.
The 2nd team I mentioned was in a larger company with very strong functional silos that were stronger than the team itself. Some call that ‘mini waterfall’. I don’t know what I’d call it other than that was the best these guys could do at that particular time.
The last team I mentioned was one of the best teams I ever worked with. They all got along well, they all understood the application from a technical perspective and a user perspective and most importantly, they gave a damn. They were a passionate group of people who challenged each other and just liked doing what they were doing despite the constraints they had as a result of their environment.
So is Agile a state of mind? A single practice? A set of practices? A couple of years ago I wrote a post about how I learned organization culture is the most important aspect of becoming Agile. That seems to still ring true for me.
To me, Agile is like the old Lexus slogan from the 90′s. ”The Relentless Pursuit of Perfection”. I went to the Toronto Agile open space this past weekend. That’s what Agile is all about. People giving up their free time and time with family and friends to share ideas and learn about something. There’s something special about these people. There’s something intrinsic that drives these people to be better.
You can’t package that up and install it into an organization. You can, however, package up and install a set of tools and practices into an organization.
My Agile is the former, yours may be the latter. And that’s ok. Just be aware of what you and your organization is capable of and choose your Agile adoption path to align with your culture and values.