Why Agile Teams Put So Much Emphasis on Being Done Each Iteration

Why Agile Teams Put So Much Emphasis on Being Done Each Iteration

Agile processes put a lot of emphasis on being done with things. This isn’t surprising since the Agile Manifesto says

  • Deliver working software frequently
  • Working software is the primary measure of progress

Further, Scrum teams try to achieve a potentially releasable state each sprint. And in Scrum, being done with work is so important that teams are encouraged to establish a definition of done to promote clarity around what it means to be done.

Many agile teams devote time each iteration to splitting user stories to be small enough so that being done with each is possible within a single iteration.

But why do agile teams put such an emphasis on being done?

It’s Hard to Gauge Progress

Agile teams emphasize being done because software development teams have a notoriously hard time gauging progress.

For example, right now, I estimate I’m 2% done writing this blog post. But maybe I’m 3%. Or even 4%. Who knows?

The 90% Syndrome

And gauging progress on software development projects is even more difficult. This has led to software projects suffering from “The 90% Syndrome,” which says that software projects are 90% done for 90% of their schedules.

You ask a developer how done something is and hear, “90%.” A week later you ask again, expecting to hear that the work is complete. But the developer again says 90%.

This happens because the developer has realized the scope is larger, not always because stakeholders added work, but because the developer failed to anticipate all that would be needed.

Early in the work, the developer thought the job was a certain size. After getting into it a bit, the developer realized it was bigger. And then bigger again. And so on.

A programmer suffering from the 90% syndrome is actually making progress, but is progressing at exactly the same rate that his or her understanding of the problem’s scope is expanding.

This happens because they often fail to see the magnitude of an effort until they are well into that effort.

An Example: Developing Word for Windows

As an example, consider Microsoft’s development of Word for Windows. This project began in September 1984 and was estimated to take 12 months. Nine months later, the team estimated it would take 13 months. A year later, the team estimated 11 months.

For nearly three years, Word for Windows was consistently estimated to be about a year away. The product ultimately shipped after five years and three months.

What Agile Teams Do Instead

Good agile teams have learned that estimating a percentage complete is difficult. And so they simplify the question. Instead of asking, “What percentage done are we with this feature?” they ask merely, “Are we done with this feature?”

All work is put into one of two states: done or not started.

For work to be considered done, it must fulfill the team’s definition of done. Any work that is not done might as well not have been started as far as tracking progress is concerned.

Three Benefits

The simplification of trying to keep work in only two states (done and not started) helps agile teams in three ways:

  1. Team members save time not having to answer questions about partially complete work
  2. It provides a pessimistic estimate of progress. Since no credit is taken for partially finished work, velocity will be slightly understated. This counters the tendency many teams have to overvalue the progress they’ve made as was seen in the Word for Windows example.
  3. It encourages teams to work with small, readily completable, product backlog items. Since small items are more likely to be finished within the iteration, and because they represent less uncounted work when they aren’t finished, teams intuitively prefer smaller items.

In accordance with the Agile Manifesto, agile teams emphasize delivering working software frequently and using working software as the primary measure of progress. Focusing on quickly moving things from not being started to done aids them in doing this.

How Do You Track Progress?

How does your team track progress? Does your team estimate percentage complete? Or do you try to move things as quickly as possibly from not started to done? Please share your thoughts where this post was originally published, on the Mountain Goat Software blog.

If you liked this article, you can sign up to receive my one best, short tip about agile each week. These tips aren't online and signing up is the only way to receive them.


Nareg Tovmassian

Consultant ? Advisor ? Instructor ? Human ? Friend?????????????????????? Six Sigma ??? Project Management ??? Agile Scrum

5 年

Good article

回复
Samir Penkar

Agile | Health | Simulations

5 年

Thanks for sharing. Nicely put

回复
Elohin Fuentes

Agile coaching, Agile Frameworks applied to Software Development Lifecycle, Tech-Project Management, Design Thinking,

5 年

Buenísimo!

回复
seyedmajid razavian

????? ??? at afaghsoft

5 年

Its good but how can estimate entire project time when we should make contract with fix cost??? We can not tell custommer you should give us money untill project really finished

要查看或添加评论,请登录

Mike Cohn的更多文章

  • You Don't Need a Complicated Story Hierarchy

    You Don't Need a Complicated Story Hierarchy

    Consultants and tool vendors seem to have a penchant for making things complicated. It seems the more complicated we…

    7 条评论
  • Agile Teams Need to Balance Specialists and Generalists

    Agile Teams Need to Balance Specialists and Generalists

    There's a mistaken belief that to be agile, every team member must become a generalist. What I find surprising about…

    28 条评论
  • Product Owners: Quick Action Isn’t Always the Right Course

    Product Owners: Quick Action Isn’t Always the Right Course

    I’ve been doing a back-to-basics tip series, exclusively for my subscribers. This past month’s weekly tip focus has…

    14 条评论
  • With Agile, It’s Not What You Do. It’s What You Do Next.

    With Agile, It’s Not What You Do. It’s What You Do Next.

    I’ve been writing a series of tips about product owners, exclusively for my subscribers. It got me thinking about the…

    6 条评论
  • What Happens When During a Sprint

    What Happens When During a Sprint

    Successful Scrum implementations involve a handful of important sprint events (also called sprint meetings or sprint…

    2 条评论
  • What Are Agile Story Points?

    What Are Agile Story Points?

    Story points are a unit of measure for expressing an estimate of the overall effort that will be required to fully…

    14 条评论
  • Don’t Equate Story Points to Hours

    Don’t Equate Story Points to Hours

    I’m a huge proponent of estimating in story points. (You can get a full overview of how to use story points from…

    50 条评论
  • Epics, Features and User Stories

    Epics, Features and User Stories

    I’ve been getting more and more emails lately from people asking, “What is an epic, a feature and a user story in…

    6 条评论
  • Nine Agile Halloween Costumes for Scrum Teams

    Nine Agile Halloween Costumes for Scrum Teams

    It’s time to start thinking about an appropriate costume you can wear to the many agile-themed Halloween parties you’ll…

    4 条评论
  • 5 Ways to Split User Stories: The SPIDR Method

    5 Ways to Split User Stories: The SPIDR Method

    Splitting user stories. It’s something I get asked about every day.

    45 条评论

社区洞察

其他会员也浏览了