Life in my own company

Its all up to me.
posts - 138, comments - 219, trackbacks - 109

My Links

News



Twitter



Tag Cloud

Archives

Post Categories

Play

Work

Tuesday, November 03, 2009

Agile Iterations, In Code

So, I was trying to explain to a new team about what an iteration is all about and came up with the following.  Basically, this is the template that we use for our iterations.  They weren't understanding the spoken and written language well, so I decided to try a different route for them:

 

foreach(day in Iteration)
{
    while(hoursWorked < day.WorkHours)
    {
        if (resolveImmediatelyDefectsExist || day.IsDefectDay || !uncompletedStoriesExist)
        {
            while (defectsExist)
            {
                defect = FindTopUnclaimedDefectInDefectView();
                defect.Fix()
            }
        }
        else
        {
            while (uncompletedStoriesExist)
            {
                topScheduledItem = FindTopPriorityNotBlockedStoryOrDefectInIterationStatus();

                while (topScheduledItem.HasIncompleteTasks)
                {
                    task = topScheduledItem.FindTask();
                    try
                    {
                        task.DoUntilComplete();
                    }
                    catch (BlockException ex)
                    {
                        task.MarkBlocked();
                        task.MentionInStandUp = true;
                        continue;
                    }
                }
            }
        }
    }
}

 

After putting that in a chat window, the light went on!  Pretty much everyone was able to read it and understand what needed to be done in an iteration.

There are likely lots of other variations on what an iteration looks like.  In mature teams, you don't need defect days, since you probably don't have much of a backlog, but for greener teams, having them can be very useful.

I'd love to hear your thoughts.

Technorati Tags: ,

posted @ Tuesday, November 03, 2009 11:29 AM | Feedback (0) |

Powered by: