Being Agile: Preparing a User Group Talk

March 23, 2012

I’m preparing for a talk for our next Maine Agile User Group meeting on April 3rd, and I’ve decided that my topic will be: Being Agile versus Doing Agile. My goal is to convey an understanding of what it means to be truly agile. Early on, one of my slides asks:
  • Is Scrum agile?
  • Is TDD agile?
Friend and colleague Paul Corriveau recently answered this question in a blog post, Scrum Is Not Agile. I’ve had many conversations with Paul about agile, and we’re always looking to learn more and apply that learning, so it is no surprise to me that his post is consistent with my thinking. As Paul points out, building good software takes more than “process magic.” It takes effort and discipline to change your thinking and your approach to work in order to improve from where you are today.

Scrum (or agile for that matter) is not a silver bullet any more than OOP or any other promising technology or approach has been in the past. Frameworks and practices are tools that support agility, but they don’t make you agile and you won’t reap magical benefits without putting in some real work. That said, you can achieve some incremental benefits by implementing practices or using a framework, but most companies today want a lot more. And that’s where being truly agile comes into play.

Some people challenge that agile development isn't something real because it defies being described in a sentence or two, at least in a way that provides true meaning. I’ve tried, but I never liked the results. You end up with either a brief description of the mechanics, a description of the potential benefits, or vague statements like, “It’s a framework” or “It’s a mindset.” Or a combination of all of these.

These days, my response is that if we didn’t already “understand” the traditional way of managing and working, we couldn’t succinctly describe it in a meaningful way, either. Imagine trying to explain how companies are run today and how non-agile software projects are managed to an alien visitor from another planet – who had no point of reference to any of our ways of working. You couldn’t explain that in a couple of sentences, either.

The context of my presentation will be to talk about the nature of software development and its inherent challenges and how being truly agile in your thinking and approach can help overcome these challenges. Towards the end I’ve managed to sprinkle in some concerns I have about the need for organizational agility and how agile development teams are challenged as a consequence of being surrounded by a non-agile organization.

I’m still tweaking my slide deck, but I’m looking forward to the meeting and I hope that my talk can stimulate some great discussions!