Tuesday, October 30, 2007

Are You Hyper Agile?

Something I've noticed a lot lately is that people often come away from a brush with Agile development thinking "gosh, we're pretty much already doing that now!" After thinking about it for a while I realized that there is a big difference between "pretty much" and "actually." :-) This got me thinking about how to make this distinction more obvious. I haven't come up with the perfect explanation yet, but I did come up with a "test" which can be used to see if you are Hyper Agile or not.

1. Did everything in the iteration come from the top of your backlog?
2. Is your backlog in highest-business-value order?
3. Are your iterations time-boxed?
At the end of each iteration...
4. have you written all of the tests that will be run at release time?
5. have all tests (not just new tests) been run?
6. do all tests (not just new ones) pass to the level that you would have at release?
7. are you as confident about releasing as you would be at an actual release?
8. there is no work in progress?
9. have you demoed all new functionality?
10. did you do root cause analysis on all problems?

If you answered "yes" to all of these, then you are getting the key benefits of Hyper Agile development. If you answered "no" to any of them, then you are not.

That doesn't mean that you have to do all of these in order to start experiencing secondary benefits. However, the primary benefits come when these are all happening in concert.