No really, how do you DO one week iterations?

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?

 

Technorati tags: , , ,

# re: No really, how do you DO one week iterations?

Thursday, October 19, 2006 11:57 PM by Bil Simser    
Okay dude, I really have to comment here (as I slug through yet another install of Omea reader and find feeds I've missed).

You mention a few things: that sometimes you don't have time to fix bugs; you missed 1 demo; some demos didn't go very well.

Having bugs come up on Wednesday or Thursday really doesn't give you a lot of time so I can see where you might not get to finishing functionality or the bug. I don't feel that's good practice in the spirit of Scrum and not good that you're pushing stuff off to next weeks iteration. With a 2-4 week iteration this wouldn't happen.

I also don't feel you're not giving value to your customer. With only a week of development (and not really because of getting things spun up and getting into the groove, so maybe 4.5 days) noboody (except maybe Hanselman) can deliver a lot of good new functionality that the user can see (unless your app really is that modular, which it could be). I think your customer would be better served with a longer iteration and seeing more. To me this just smells that the week long iteration doesn't work as well as say a 2-4 week one.

Sorry for sounding so harsh and I totally don't know your customer, product, domain, etc. but from what you're posting here it sounds to me it's not as great as it could be. If you posted everything worked great and it was even better than a 2-4 week iteration, well... we wouldn't be having this blog post would we?

I would seriously consider re-thinking the week long one and if everyone is really comfortable about the value and quality coming out, or if your customer would be better suited with something longer.


# re: No really, how do you DO one week iterations?

Friday, October 20, 2006 7:51 AM by Steve    
What stops bugs from coming up on a Wednesday or Thursday when you do 2 or 4 week iterations?

Unless you're spending the last week just fixing issues you're bound to have issues crop up on a Wed. or Thurs.

No matter how long the iteration is, you always need to account for enough time to fix any issues that crop up. Simply expanding the length of the iteration doesn't fix anything. If you try and shove too much work into whatever size iteration you decide on you're going to end up with issues that can't be fixed by the end of the iteration.

What's your opinion on the difference between two one week iterations and one 2 week iteration?

Now onto the comments about it not sounding like we're giving our customer enough value. Our "customer" is probably the biggest proponent of one week iterations. We've tried longer iterations (3 weeks) and he prefers 1 week iterations. If he wasn't seeing enough business value each week I'm sure he would have already requested we change our iterations to a longer time frame.

If I ever felt everything was great I'd be concerned. We are developing software which is hard. There is always things to do better, smarter, faster, and there is always room for improvement. Our 1 week iterations force us to get good at delivering working software every week. Just because things don't *always* go great doesn't mean we're not doing a good job and providing a lot of value.

# re: No really, how do you DO one week iterations?

Tuesday, February 06, 2007 8:57 PM by Brian Button    
Hi, Steve,

I agree with everything you wrote. I'm running an ASP.Net project right now, and we're doing weekly iterations. I love them because it challenges us to figure out how to split things up into smaller pieces, and once the pieces are smaller, we're a lot more reliable at actually delivering them. Our customer likes it because she sees working features often, and we like it because we get the feedback quickly.

We do still have some problems with bugs, almost entirely in our cross-browser javascript support. We are having a terrible time trying to write any sort of automated acceptance tests, since our site is very javascript/AJAX intensive, so the UI layer is where almost all of our bugs occur.

We do about 7-8 stories a week with a team of 2 pairs plus one extra dev, and our customer loves the site.

bab

# re: No really, how do you DO one week iterations?

Tuesday, February 06, 2007 9:12 PM by Steve    
Hey Brian,
Thanks for the confirmation, its good to know that I haven't fallen completely off my rocker (well assuming you haven't as well). As you mention the challenge of splitting things up to fit into a week, and getting the quick feedback is nice. There are some drawbacks, but overall I think we're better off with one week rather than something more "comfortable".

Post a Comment

 
 
Prove you're not a spammer: 
6 + 5 =