Wednesday, September 24, 2008

Shorten your iteration...

You can't allow the implementation of agile to be a 30 day version of waterfall. All you do in this scenario is take that over-worked / over-stressed window that you have every release and make it happen more frequently. This is a great way to make agile fail. Instead think that about how to reduce that pain and improve the situation. Allow your cycle to happen more easily, so that the business and customer can resteer priorities before what you are working on is out of date.

If it was painful to release every year, fix that problem so that you can release every quarter. As your pain tolerance decreases and you realize that it is painful to release every quarter, then fix those problems and release every month.

Every time you shorten your iteration length, your team will realize that there are things that are time-consuming and painful. They will argue that doing it more frequently is less productive. Instead of deciding not to shorten the iteration, decide to fix the pain point. Each time you challenge yourself to do this, you will find yourself in a better place.

This is one way to force yourself to achieve true agility.

For example:
Your team will allow deployment to production to take 2 days if you are releasing quarterly. Mention a monthly iteration and suddenly people notice that you are losing 2 days 3 times as often. Instead of fighting the monthly iteration, fix the problem and make deployment take one day or less. Everyone wins.

Martin Fowler has been overheard saying "If it hurts, do it more often"

1 comment:

  1. I do agree.

    Expecially with "Instead of deciding not to shorten the iteration, decide to fix the pain point." ...