Iteration XV and IterationXVI - The One Week Iterations

Oh no, here he goes again with one of those Agile posts, he must be on a religious fervor again, yah, I'm gonna need you to come in on Sunday, Peter... how dare you use something that works so predictably for you.. yah

Anyhow, I mentioned our continuing fustrations with our Agile Estimating (lack of) skills. To deal with the feeling of creating a Sense of Urgency and "force us" to get a whole lot better at Estmation, we went to one week Iterations starting last week as an experiment. Remember, I said back here, "We first solved the problem on our team of taking 2-3 days to estimate our stories initially in and got it down into a few hours for our Iteration Meeting.. At that time, we had to get over our want to give perfect estimates and give course estimates to move the process along. But we found that in the last iteration, we didn't come close to finishing our stories for that iteration and in this one, we are 2 weeks + 1 day into a 3 week iteration without finishing a single story out of the 8-10 we have. "

The great news is that not only has our estimating skills gotten a lot better, but both of the last two one-week Iterations have come in completly with all stories estimated done, and additional work added and completed. We're also doing this with some developer training being given to us all on Continous Design, as well as built-in Slack. Slack is an important thing to put in a schedule and please click on the previous link to see what Jim Shore wrote as its hard for me to write something that would add to the fine post. Also see his fine post on Hustle. I should note, responding to some thoughtful replies, that these one week Iterations are again an experiment to "inject a sense of urgency" and "force oursleves" to get a lot better, quicker and accurate at our estimates. 3 weeks is too long for us, 1 is too short, and 2 is probably our "sweet spot" but this experiment is working so far for our goals.

I think the one week Iterations have a lot to do with it, but we also moved to a Task Based Estmation with every story being broken into tasks and each task estimated in the meeting. This helps with some initial team based design as well since we're all particpating in breaking down the Stories now to estimate them.

Since the whole point of this experiment in one week Iterations, other than the constant one of delighting the customer with as much business value functionality as possible on time, is to improve our estimating skills and more predictably come in on time on the estimates, we have implemented estimating and tracking those broken down tasks on the back of the card. We used to, in our three week Iterations just try to estimate the big User Story without any task breakdown. One thing junior developers rightfully pushed for was for the more senior and experienced people help break down the stories with them on a whiteboard to lead the design. They were often left with the big story and their pair without a sense of the big picture and the overall design. Now, we are collectively breaking down the story into tasks at the Planning Game, doing some design on the way, and then task tracking. I'll continue to let y'all know how it works if I'm not too busy worshiping with my religous fevor at the alter ...

Jeffery Palermo, who I'll see along with Scott and others on the 10th in Austin, adds some nice experiences on to my post with their two-week Iteration cycle.

Published 31 March 2006 09:05 PM by Sam Gentile

Comments

# TrackBack said on 01 April, 2006 10:30 AM

Interesting Finds

# TrackBack said on 01 April, 2006 10:30 AM

Interesting Finds

# TrackBack said on 01 April, 2006 10:34 AM

Interesting Finds

# TrackBack said on 01 April, 2006 10:34 AM

Interesting Finds

# TrackBack said on 02 April, 2006 02:26 PM

What is the Correct Iteration Length

# TrackBack said on 02 April, 2006 02:26 PM

What is the Correct Iteration Length

# SamGentile said on 02 April, 2006 09:31 PM

Thanks for your thoughtful post. In answer to your questions, I do agree with Alistair and others. 3 is too long for us and 1 is too short, 2 is probably our sweet spot. The real reason we are doing this experiment is to "inject the sense of urgency" and "force" ourselves to estimate faster. We'll probably settle on 2 week Iterations after this groundwork has been set. I should have been more clear.

# SamGentile said on 02 April, 2006 09:31 PM

Thanks for your thoughtful post. In answer to your questions, I do agree with Alistair and others. 3 is too long for us and 1 is too short, 2 is probably our sweet spot. The real reason we are doing this experiment is to "inject the sense of urgency" and "force" ourselves to estimate faster. We'll probably settle on 2 week Iterations after this groundwork has been set. I should have been more clear.

# http:// said on 02 April, 2006 10:42 PM

As far as length of an iteration, I'd say it's the shortest amount of time that allows you to push user stories from inception to production ready code.  We have had some problems with finishing stories within an iteration.  We're getting to "code complete" easily enough, but not through testing.  I'm wanting to beat this by getting our stories split up into smaller units to get things in testing sooner.  There's a bit of arbitrariness in how you divide up user stories, so strive for smaller stories.

I'd strongly second the task based estimates.  My first XP project was a nightmare in terms of iteration estimation until we started doing finer grained tasking.  Tasking as a team is a de facto design session anyway, so I wouldn't even call it project overhead.  If the iteration kickoff's are still too long, the developers might try going to pre-tasking sessions to do it a little bit at a time before you sit in an iteration kickoff meeting with the rest of the team.

As far as getting estimates done quicker, have you tried "throwing" estimates the way Fowler describes here --> www.martinfowler.com/.../ThrownEstimate.html  

We task first, then throw 1, 2, 3, or 4 (too big to estimate).  The shirtsize estimating seems to make planning meetings go smoother.  I've had the exact same experience that trying for perfect estimates leads to misery.  You'll overestimate in some places and underestimate in others.  As long as it comes out in the wash, you're okay.  The real goal is to predictably bite off only as much work as you can finish in an iteration.

I an admittedly long-winded post about the mechanics of agile project management from a dev's perspective at codebetter.com/.../132630.aspx

# http:// said on 02 April, 2006 10:42 PM

As far as length of an iteration, I'd say it's the shortest amount of time that allows you to push user stories from inception to production ready code.  We have had some problems with finishing stories within an iteration.  We're getting to "code complete" easily enough, but not through testing.  I'm wanting to beat this by getting our stories split up into smaller units to get things in testing sooner.  There's a bit of arbitrariness in how you divide up user stories, so strive for smaller stories.

I'd strongly second the task based estimates.  My first XP project was a nightmare in terms of iteration estimation until we started doing finer grained tasking.  Tasking as a team is a de facto design session anyway, so I wouldn't even call it project overhead.  If the iteration kickoff's are still too long, the developers might try going to pre-tasking sessions to do it a little bit at a time before you sit in an iteration kickoff meeting with the rest of the team.

As far as getting estimates done quicker, have you tried "throwing" estimates the way Fowler describes here --> www.martinfowler.com/.../ThrownEstimate.html  

We task first, then throw 1, 2, 3, or 4 (too big to estimate).  The shirtsize estimating seems to make planning meetings go smoother.  I've had the exact same experience that trying for perfect estimates leads to misery.  You'll overestimate in some places and underestimate in others.  As long as it comes out in the wash, you're okay.  The real goal is to predictably bite off only as much work as you can finish in an iteration.

I an admittedly long-winded post about the mechanics of agile project management from a dev's perspective at codebetter.com/.../132630.aspx

# jpalermo said on 03 April, 2006 02:53 PM

Manual trackback.

# jpalermo said on 03 April, 2006 02:53 PM

Manual trackback.

# http:// said on 03 April, 2006 03:11 PM

There are plenty of XP teams doing one week iterations successfully

# http:// said on 03 April, 2006 03:11 PM

There are plenty of XP teams doing one week iterations successfully

# SamGentile said on 03 April, 2006 03:27 PM

Thanks Jeremy for your comments. Our Agile Coach just added the "throwing estimates" technique last week and it was extremely successful. It really moved things along. It was especially useful in our Business Planning meetings with Management & Business where we had to rougly scope out the MMFs (Minimum Marketable Feature) stories we wanted to get done to have a "deliverable releasable product" and roughly figure out where we would come in at.

# SamGentile said on 03 April, 2006 03:27 PM

Thanks Jeremy for your comments. Our Agile Coach just added the "throwing estimates" technique last week and it was extremely successful. It really moved things along. It was especially useful in our Business Planning meetings with Management & Business where we had to rougly scope out the MMFs (Minimum Marketable Feature) stories we wanted to get done to have a "deliverable releasable product" and roughly figure out where we would come in at.

# TrackBack said on 13 April, 2006 04:27 PM

digg.com/.../one_week_iterations

# TrackBack said on 13 April, 2006 04:27 PM

digg.com/.../one_week_iterations

# TrackBack said on 13 April, 2006 04:27 PM

codeverity.com/.../248.aspx

# TrackBack said on 13 April, 2006 04:27 PM

codeverity.com/.../248.aspx

# TrackBack said on 13 April, 2006 04:27 PM

jasonhaley.com/.../136376.aspx

# TrackBack said on 13 April, 2006 04:27 PM

jasonhaley.com/.../136376.aspx

# TrackBack said on 14 April, 2006 09:57 PM

jasonhaley.com/.../136376.aspx

# TrackBack said on 14 April, 2006 09:57 PM

jasonhaley.com/.../136376.aspx

# TrackBack said on 18 April, 2006 11:50 PM

Truckin' Along with Iteration 19 and Indigo/Contract First with Services BAT

# TrackBack said on 18 April, 2006 11:50 PM

Truckin' Along with Iteration 19 and Indigo/Contract First with Services BAT

# TrackBack said on 12 July, 2006 08:58 PM

Lessons from Home Remodeling: One Week Phases

# TrackBack said on 12 July, 2006 08:58 PM

Lessons from Home Remodeling: One Week Phases

# TrackBack said on 28 July, 2006 02:09 PM

Iteration 33 and Going to CTP

# TrackBack said on 28 July, 2006 02:09 PM

Iteration 33 and Going to CTP

# TrackBack said on 25 January, 2007 03:48 PM

Our .NET 3.0 Enterprise Application and Architecture Shipped

# TrackBack said on 25 January, 2007 03:48 PM

Our .NET 3.0 Enterprise Application and Architecture Shipped

Leave a Comment

(required) 
(required) 
(optional)
(required) 

Search

Go

This Blog

News

    The content of this site are my own personal opinions and do not represent my employer's view in anyway.

    Profile for SamGentile

MVP

Blog Information Profile for SamGentile

Tags

Archives

Syndication