A couple weeks ago I talked about how we run our one week iterations. I've received a couple questions regarding how we actually pull one week iterations off using the "schedule" that I outlined. The main questions people generally have when I mention that we use one week iterations are:
- When do you have time to fix bugs?
- Is there always enough time to fix all the bugs within such a short timeframe?
- Is it always possible to have a demo after 1 week?
- What happens when people take vacation?
- What do you demo when you spend the week doing framework libraries or infrastructure tasks?
Before moving onto answer each of these questions I should probably thank Patrick Altman for covering many of the common questions I get asked in his "One Week Itererations" post.
When do you have time to fix bugs?
As I mentioned in my last post we usually have a couple hours on Friday dedicated specifically to fixing bugs. That certainly doesn't mean that's the only time we spend working on issues that crop up. Throughout the week as we finish tasks and stories we let our QA & product teams know what things are done. They can also take a look at our whiteboard to see what's ready (or maybe only semi-ready) to be tested. If they think its worth testing they go ahead and start looking for issues. If they find "bugs", we scrutinize them and tell them that what they found is a feature not a bug and move on. You see, if you never let QA report a bug, then you never have any to fix. You didn't realize it was so easy did you?
Ok, not exactly. When a "bug" is found our QA and product team typically lets us know of the "bug" by either stopping over and announcing the bug to the team, or by telling the pair that worked on the story/task which the bug is related to about the bug. After a short discussion, we either fix the issue right then, create a task card to remind us to fix the bug, or deem it not worth fixing due to the fact that other parts of the story which are not finished are what is making it a bug (aka: what was being tested wasn't quite ready to be tested).
Is there always enough time to fix all the bugs within such a short timeframe?
No. The iterations that we just finished today resulted in a handful of bugs which could not be finished by the time we closed out the iteration. We usually try and fix any bugs that are left after an iteration at the start of the next iteration. From time to time we carry the bugs longer, but, we usually try not to since the longer we wait to fix the bug the longer it will take development to remember what needs fixing.
Is it always possible to have a demo after 1 week?
We've only canceled our demo 1 time. We've also had several demos go poorly, and several demos that had to be mostly discussion and/or showing of FIT documents because what we planned to get done didn't get done. It really sucks when this happens, but it does happen.
What happens when people take vacation?
We simply put it into the schedule and deliver slightly less functionality. We currently have 7 full time developers, so we can typically churn out at least 1-2 business stories per week which are demoable. You should keep in mind that the demo isn't always all that exciting, but it does happen, and we are demoing new business functionality.
What do you demo when you spend the week doing framework libraries or infrastructure tasks?
What are framework libraries and infrastructure tasks?
The only time we spent a full week doing "framework" and "infrastructure" stuff is when we implemented our security infrastructure. Every other week we've worked on business stories, along with framework/infrastructure stuff. We typically tie any technical stories that we need into the business stories that product is asking for. This results in slightly higher estimates, which product isn't always thrilled with, but such is life.
I have plenty more things to write about but considering this post has been sitting within Live Writer, in half written form for about a month I think I'll post what's here so far. What other questions, concerns, or thoughts do you have?