« Welcome to New Zealand pics| Main | Cairns Video »

What's Agile To You?

| | Comments (6)

As a project manager, architect, developer, and coach, I've worked on a lot of agile teams. As part of that experience, it's always fun to ask folks: "What does the word agile mean?"

Many times you'll get a lot of precanned answers. Agile is XP, or agile is Scrum, or agile is Crystal, etc. People have read a book or read an author and just sort of regurgitate those answers back to you.

I think agile is not any of that stuff, however.

To me, agile is iterative and incremental projects, concentrating on business value. That means you do things in cycles, perhaps having something to show once a week or so. It also means you do little chunks of work during each cycle that has some kind of value to the business -- agile is inherently a business-focused system. Finally, and most importantly, agile means that you are constantly inventing, trading-off, or adapting process recipes to work on your team. You're always adapting. Agile means adapting.

I know many folks who either wouldn't agree with that definition or would claim that it is too broad, but I'm happy with it. When I think of agile teams I think of 3-man startups who somehow take a few weeks and turn out something worth millions of dollars. That's incrementally producing business value, friends!

Which brings me to this interesting article I read a few days ago. Talking to coders on successful startups, is TDD an effective agile technique?

I'll leave you to draw your own conclusions, but I couldn't help read the article and think, "sometimes you trade-off code quality, maintainability, and the 'right' way of doing things for business value. And that's okay!"

I think true agile is always a bit of a pain in the ass to people no matter who they are. For the process adherents, whether it's RUP or Scrum, agile says you can cheat. For the cowboys, the guys who want to run without any rules, agile says somethings usually work better than most and you should always be adapting. In short, agile keeps you from making sweeping generalizations: each team, each project, each business is always different from the others.

When I finish hearing the answers to "what's the word agile mean?", I usually provide my answer: 'Agile' with a big 'A' is a marketing term, meant to sell books and certifications. 'agile' with a little 'a' is teams that are constantly adapting to provide the most responsive business value possible.

So what's agile to you?

6 Comments

Being agile and lean is about “We” not “Me”.

Being agile and lean takes wisdom, passion, courage, a desire to be better and openness, especially to change.

Being agile and lean takes coming up with your own agile values and principles.

Being agile and lean addresses the modern formula for adding value:

More Success + Greater Speed + Fewer Resources + Constant Uncertainty + Increased Competition + Quicker Time to Market.

Being agile and lean is not confusing level of effort with the quality of work.

Being agile and lean is developing and delivering system-software iteratively and incrementally by doing more listening and less talking while you plan a little, do a little, check/study your results and adapt

I have a little bit of a different perspective:

"Agile Software Development" is the name of a movement based on values and principles as defined by the Agile Manifesto.

"agile", on the other hand, can mean anything. Typically it seems to mean "I'll use a buzzword to justify doing whatever I want to do, and sound progressive on the way."

As an aside, many of the Agile books are actually quite good and worth reading. Don't worry, none of the authors is very likely to get rich by it. And regarding certification, the only ones worth mentioning I'm aware of are the Scrum ones, and there actually is a strong backlash against those in the community, as you're probably aware of.

I think that at one point "Agile" was owned by the folks with the manifesto, but those days are long gone. By now there have been dozens of books by other authors co-opting the original definition. In practice it's become so muddled that I'm of the opinion that it's lost most all definition.

As far as certification goes, I don't know if you know it but both the Scrum Alliance and the PMI guys are talking about more and more certification programs conforming to "agile development principles" So certification is well on its way, and the momentum will continue along.

Meanwhile the ornery and anti-crowd bunch, like myself, are moving to what they call "post-agile". I don't give myself any such label, but I know that there's a backlash against all the current crap in the community. I would be very happy if I went another year without seeing another cargo cult agile team.

Given the context (software development), I'd say that Agile is all about implicit risk management. I say implicit, because lots of Agile folks "do agile" without really being aware that the practices they follow were conceived to manage (control) common forms of software development risk. Personally, I prefer my risk management a tad more explicit, and a nice cup of tea to go with :)

- @flowchainsensei

Here's a video with a few people saying what the word Agile means to them:

http://www.youtube.com/watch?v=UbCBpOBatXI

Bob,

I think you're spot-on. Any kind of "software recipe" is based on implicit risk management. We (the creators) think that you have these risks, and here is the mitigation strategy all pre-canned for you to consume.

Looking at it this way, much of agile is built on the risk of poor communication. It's a real risk, and probably number one for generic process risk.

I think once you realize that it's all risk management, whether implicit or explicit, you start working at a master level. That is, you view all processes as simply precanned risk assessments and mitigation strategies. Life is your buffet and you're not eating happy meals from book authors anymore.

But it takes a while to get there. And it's always easier having somebody else tell you what to worry about than doing the work yourself.

Leave a comment

About this Entry

This page contains a single entry by DanielBMarkham published on October 9, 2009 12:04 AM.

Welcome to New Zealand pics was the previous entry in this blog.

Cairns Video is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Social Widgets





Share Bookmark this on Delicious

Recent Comments

  • DanielBMarkham: Bob, I think you're spot-on. Any kind of "software recipe" read more
  • Kutuma: Here's a video with a few people saying what the read more
  • Bob Marshall: Given the context (software development), I'd say that Agile is read more
  • DanielBMarkham: I think that at one point "Agile" was owned by read more
  • Ilja Preuß: I have a little bit of a different perspective: "Agile read more
  • Jim: Being agile and lean is about “We” not “Me”. Being read more

Information you might find handy
(other sites I have worked on)





Recently I created a list of books that hackers recommend to each other -- what are the books super hackers use to help guide them form their own startups and make millions? hn-books might be a site you'd like to check out.
On the low-end of the spectrum, I realized that a lot of people have problems logging into Facebook, of all things. So I created a micro-site to help folks learn how to log-in correctly, and to share various funny pictures and such that folks might like to share with their friends. It's called (appropriately enough) facebook login help