How do you run a one week iteration?

I was recently asked for some details about how we run our one week iterations so I figured I'd post some details to this here blog.  We've been doing one week iterations for a while now with some pretty good success.  While the nitty gritty details of every iteration varies we tend to keep the overall flow the same. 

Of course everything starts off on Monday.  With a nice weekend to relax and reflect on the previous weeks work we come in refreshed and ready to rock.  We kick things off with a demo of the functionality added in the last week at 9:00 AM.  The demo includes everyone from our office as well as our colleagues in our other offices around the world and a few interested clients.  The demo is typically done by a member of the "business team" since they tend to have better presentation skills then us introverted anti-social developer types. 

Once the demo is complete we go into a retrospective which is used to reflect upon the previous week and identify things that we can improve upon in the coming week.  The retrospective usually runs for one hour.  Once complete we begin discussing the stories slated for the week.  Our story discussions involve an overview of the objective for the week, a  high level discussion of what's entailed with each story, a discussion of the FIT that has been created for the stories, and finally a hodge podge of questions that the developers ask in order to figure out what exactly is being developed in the coming week.  The discussions can last anywhere from 1-4 hours.  Once the developers have a firm understanding for the work that needs to be done we breakdown the stories into tasks and estimate.  The task breakdown and estimating varies A LOT, and largely depends on how familiar the team is with the work and its overall complexity.  Task breakdown and estimation takes anywhere between 1-4 hours.  As I'm sure you've figured out by now sometimes our entire first day is taken up story discussion, task breakdown and estimation.  I'm not a big fan of taking the entire day but its important for everyone to have a firm understanding of what's being developed so at times its a necessary evil.

Monday

  • 9:00 AM - Demo of the functionality added in the previous weeks iteration
  • 9:30 AM - Retrospective
  • 10:30 AM - Discuss this weeks stories
  • 12:00 PM - Break for lunch
  • 1:00 PM - Break down this weeks stories into tasks
  • 3:00 PM - Start working on this weeks iterations

Tuesday-Thursday

  • 9:00 AM-6:00 PM - Get shit done

Friday

  • 9:00 AM-12:00 PM - Finish up the remaining work for the iteration
  • 12:00 PM - Break for lunch
  • 1:00 PM - 3:00 PM - Fix bugs, prepare for demo
  • 3:00 PM-EOD - Research

After we get everything planned out for the week we get started on the tasks.  From the time planning is complete until Friday morning we stay pretty focused on completing all the stories we've agreed to.  We try to keep an eye on where we are throughout the week to ensure we're not in jeopardy of missing our commitments so we take a break every now and again to checkout our whiteboard and evaluate what work is remaining.  We often set aside some time for design discussions and etudes as well during the week which we intermix throughout.  On Friday we try and wrap everything up by noon, but...well...that rarely happens.  If we do finish by noon we spend our afternoon fixing any bugs which have been uncovered and preparing for Monday's demo.  In an ideal world we wouldn't have any bugs and would spend Friday afternoon doing minor polish and research.  I'm still dreaming about that ideal world.

tags: , , ,

# re: How do you run a one week iteration?

Friday, September 08, 2006 9:16 AM by Brian Donahue    
Good stuff! Appreciate the insight.

# re: How do you run a one week iteration?

Monday, September 11, 2006 2:25 PM by David Laribee    
How do you handle vacation and holidays that fall on Monday or Friday? We'd be hurting if we did the Friday/Monday thing and this was one of the primary reasons why we go with a longer iteration... the velocity tends to normalize given "human time off" with a 3 week iteration.

Anyway, curious how you folks handle it.

Post a Comment

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