Sunday, June 8, 2008

The Essence of Agility

I am trying hard to avoid the 'A' word these days and I am not alone in this endeavor. There are so many examples of misinterpretation its really quite sad. Of course there is nothing different here to almost any other major phenomenon in the tech world, as soon as any label/buzzword reaches a critical mass, everyone wants to get on the bandwagon. 

Yet agility is one of the more interesting examples - it isn't a technology that can simply be learned and I don't think it is a case of looking at a set of steps in a book on your favorite flavor - XP, Scrum, DSDM, Crystal etc. It is extremely hard to understand the essence without first witnessing it by working in a team.  

I will say this only once - the essence is really down to mindset and attitude.

One of the easier ways to understand it is to have experienced what development should not be, then move to a team with agile values to instantly see the difference - it can be a real 'road to Damascus' experience. Unfortunately there are many in the business who have not been in the position of direct responsibility for delivering working software so it is much harder for these people to understand the mind shift required to adopt an agile way of working/thinking. 

A simple mind adjustment then is all that is required, a good reading list and practice is all that remains to complete the transition. Note the difficult part, its incredibly hard to change attitudes, especially those entrenched with ideas taught, read and practiced over years. Couple this with a little ego and discomfort with change and the odds are really stacked against.

There were many out there that were agile before the 'A' word and there are many out there now who practice it now without giving it a label.  Smart people who want to deliver maximum business value have always been around, but the addition of some good writing under the 'A' label adds some great principles, values and practices to the smart team's arsenal. For me, I just like to remove the label to avoid any preconceived baggage.

1 comment:

Brad Wiederholt said...

For all the Sun bashing lately, in their defense they still support Jim Waldo who writes stuff like this:

Serendipity led me to this paper today -- ACM Queue's curmudgeon pointed us to it.

Waldo makes a case that the art of Systems Design is fading away, but agile and open source, through their emphasis on 1) members understanding the whole system, 2) learning through apprenticeship, and 3) open discourse about designs and alternatives, are a possible way to shore up the fading arts.

I think you have a point harmonious with Waldo's, that agility might be best learned in an apprenticeship fashion or direct experience as well.