Saturday, November 24, 2012

Always Be Releasing: one week iterations

In reviewing older posts, I came across this little gem that had never been posted but is always particularly relevant to development today. I posted a more thorough outline on my process blog. It's a short post but hits on a key point for developers and anyone involved in a project that seems to be going on and on:
I burn out when I'm not releasing.
One of my clients recently started one week iterations.
If you're feeling burnt out, take a step back and think about something you can release this week.
I was asked "do I feel the one week is too short a time?" Surprisingly, I said No. The one week iteration ensures there are no "beware the man in a dark room" syndrome but it also allows for very little time for re-design and refactoring. Programmers that like to tinker and sit back and re-design over and over again really don't work well in this one week iteration process.
it's not "what am I working on this week" but "what am I going to release this week"
A release has a lot of moving parts...but it enforces a well-oiled machine since everyone has to release their code every week. We are using a schedule that says: - Monday morning release , - Backlog Meeting Monday - Feature Go/No-Go Wednesday - Final check-in Friday (with time to fix stuff over the weekend or before Monday) On the minus side, if you have people on your team who aren't delivering or moving as fast, you really feel it on the Friday. But that's a plus too - because it forces you to move slower to get everyone up to the same speed. On the plus side, it makes Mondays much more exciting.