A common measurement of an agile team is whether team members finish everything they planned in the iteration.
There’s nothing wrong with assessing how adept a team is at finishing what it thinks it can. But no team should be expected to finish everything every time.
That is unrealistic and leads to teams under-committing so they can safely deliver everything.
Excessive Expectations Can Introduce Dysfunctionality
Consider a team I know whose boss (the CEO) told them that if they ever failed to finish everything, he would “take corrective action, up to and possibly including termination.”
That team is not going to pull an aggressive amount of work into their iterations. They’ll try to select enough that they don’t get in trouble for being lazy but not so much that they risk not finishing it all.
An Appropriate Target
I find a good goal for a team is to finish everything they say they will about 80% of the time. That is a good degree of predictability for the business without being impossible for some teams to achieve.
To be really clear, a good agile team should finish 100% of what it plans in 8 out of 10 iterations. I’m not saying a team should finish 80% of its planned work each iteration. That is very different.
Don’t Plan It If You Don’t Think You’ll Make It
When trying to finish 100% of its work, 80% of the time, the team should feel like they’ll succeed while understanding, realistically, they won’t every time.
I like to think of it as analogous to a basketball player shooting the ball. A player shouldn’t shoot the ball unless he thinks he’ll score. But, even the greatest player will understand that not every shot is going in the basket.
A great basketball player may make 40–50% of his shots. That’s not enough predictability for most teams, which is why I recommend targeting 80%.
What’s Your Experience?
How does your team do at finishing what they say they’ll do? Please share your thoughts in the comments below.