Agile Process: Iteration Planning Tweak

On Ward's suggestion we made a change to our iteration planning around the velocity & task sign-up process.

Previously we (loosely) tracked individual velocities and people could sign up for tasks until their tasks consumed the number of ideal days allocated to them. In our case 1 ideal day = a velocity of 1, 2 ideal days = a velocity of 2, etc. This was working well in that everyone always had responsibility for 1 or more tasks. The undercurrent of fear that always ran was that management would get a hold of these individual numbers and use them as performance measures, i.e. "we need to get your velocity up", equating velocity with productivity.

Ward's suggestion was to track team velocity, i.e. pool everyone's individual velocity and have individuals sign up for tasks until the pool was gone. A minor change, but with several potential benefits. First was the removal of the fear that the individual velocity would be misused. Second was that some people would be able to sign up for no tasks. This didn't seem like a benefit initially. However, it does allow people who are naturally pairs, or bug slayers to do what they do best and still keep the team on track. The team velocity also accounts for the problem of an individual having a bad iteration and only being able to sign up for 1/3 the amount of work they would normally do.

At our last iteration planning meeting we made this change without much initial comment from the team. The interesting net results from the meeting were that some did not sign up for anything, all the stories are accounted for and about half the team velocity is dedicated to testing. This last fact is really interesting since QA does not make up half the engineering team. So either QA added padding or there really is more testing needed than previously tracked. What will the result be? I'm guessing either the developers will have to help make sure QA gets all the help they need. Or we'll have a testing crisis at the end of the iteration.