Agile with a little ‘a’

We are so caught up in talking about Agile practices that we sometimes forget what Agile is all about. We are so consumed about following the Agile process (holding daily scrums, iteration planning, stake holder reviews, burn-down chart management) that we forget that being Agile is about being agile (yes, that’s with a little ‘a’). The point is to transform an organization to be lean and mean, to eliminate processes, enable tools, and empower people. It is about transitioning from 18 month to 2 year waterfall enterprise software development cycles to continuous delivery. You define what “continuous” means to you, as long as it is less than what it was before, and is even less tomorrow than it was today.

I’m not an Agile practitioner or even a huge advocate (gasp! I know!), but I am a big believer in being agile! It is very, very hard to transform a very large, heavily managed development organization into one that adheres tooth and nail to the Agile development practices. There are pundits who believe that even adopting some of the practice without adopting all is not being Agile at all. Bah humbug to them! Being agile means moving faster, allowing fewer people to be involved in making big decisions, changing in the small very frequently, and failing small, fixing and moving forward. Being agile means rethinking test cycles. It means delivering the minimum viable product and going from there. It means stop trying to build the perfect product – imperfection is reality. It means accepting failure as a required step toward success. And if you Zen, it means bending like a reed in the wind.

A great man once told me recently, while he was cutting my hair, that “Better is the enemy of good.” He meant that at some point you just need to know when to step away, take a look at what you’ve done, and declare it good enough. If you keep messing with it, you’ll just make it worse. Anyone who has hung sheet rock knows what I’m talking about. I think agility is very much about declaring “good” is good enough, for now, and leave better for later, when you’ve stepped back and gotten feedback on what you’ve done so far.

For those Agile programming pundits out there, please stop turning up your nose at those who are trying to be agile (with a little ‘a’), who are trying to make things a little better, and a little faster, and learning as they go. They may not be scrumming every morning, or programming in pairs, but they are trying to shed their enterprise programming habits and begin to move at the cloud pace.

When we declared we were developing “cloud first,” we made the first important agility step. We shed the chains that bound us to the multi-year development cycle, because we believed our customers couldn’t stand anything faster. We dropped the notion of .1 and .01 releases, because no one uses version 1 of anything. When asked what version of Software we are running in our Cloud, I half-jokingly reply “Tuesday’s.” Agility means being in control of your own destiny. You move as fast as you can stand it, and you change still to move faster.

Channeling one of my favorite Sesame Street characters from my childhood: A is for agility, and that’s good enough for me!

One thought on “Agile with a little ‘a’

Leave a comment