21 Oct
2005

It Ain’t Easy Getting Agile

This Agile stuff is not for the faint of heart.  Being Agile is about so much
more than not writing specs that (guess what, folks) you can’t do it on your own. 
In order to be able to work effectively Agile in your company, you must bring the
company with you. 

Who needs to come along?  QA, Project Management, Product Management, and most
especially, your client.  If you don’t have your client as a partner, forget
about it.  Someone has got to look over your shoulder and say, “Hey, I like that,
” or, “That kinda sucks.”  This is really the whole point.  If we take for
granted that we need an interdisciplinary team to be Agile, then we admit that
we need help.  How do we most effectively ask for help and make the case for
Agile? 

You can start by reading this article, Introducing
an Agile Process to an Organization
 (PDF), by Mike Cohn of Mountain
Goat Software, right here in Boise, Idaho.

Making the Case

  1. Get them to read this
    white paper
    on the experience of Primavera, a company who tried
    it.
  2. Show them you care.
    Skip right through the lengthy justification of Agile and just get them to fill out
    a product backlog.  Find out what is most important and get everyone to contribute
    to the list.  No request is stupid at this point, so just stand at the white
    board, take 5-15 feature requests, and then get the group to prioritize them.
  3. Show them it works. 

    Take the first 2 features on the list and bust your ass to make it so. 
    Demonstrate the quick turn around capabilities of Agile with something they care about.
  4. Now, it will be okay to really educate the company on Agile and explain the rest.

And execute on it well.

You Aren’t Effectively Agile If…

  1. You aren’t building automatically on a dedicated build box.
  2. You aren’t testing automatically.  Unit tests, automated regression, anything
    is better than nothing.
  3. Only one developer is seeing the code before it is committed.
  4. There is no backlog
  5. You tell the client it is too late to change their minds.
  6. You aren’t celebrating with a sprint review.

These things take time to figure out and an infrastructure to support.  Don’t
dive in without the right gear, you’ll freeze.