Welcome to Dovetail Software Blogs : Sign in | Join | Help

Steven "Doc" List, Agile Novice

VP of Software Development learning to be agile
What is a bug?

While this is not a discussion that is new to agile, it took on an interesting twist today because of the nature of agile development using a story/iteration board.

We use red cards for "bugs". So if someone puts a bug on the board, it's instantly noticeable. The columns on the board include:

    inbox | product backlog (actually a separate board) | release backlog | iteration backlog | development | review | accepted / outbox

The discussion today centered on the question of what it means - choosing among the terms bug, issue, defect - when a red card appears in the iteration backlog or elsewhere.

A red card in the iteration backlog means "this is broken and needs to be fixed/addressed - if not immediately, certainly in this iteration." As a result, it should (and generally does) get the immediate attention of the developers.

Of course, most really broken/critical issues will be discussed by the team, who are all in the same room, rather than written up on a card.

The question came up because a red card was written and it wasn't clear where it should be placed.

  • How critical is it?
  • How soon does it need to be addressed?
  • Does a developer need to look at it right away?

All of this led to the following agreements:

  • Anything that the writer believes to be truly "broken" should be written on a red card
  • If it's a question or issue that may need evaluation or referral to the customer/product owner, it can be written on a red card or white card
  • If it needs to be addressed by the team immediately, it may be placed in the iteration backlog, but that should be done judiciously
  • All such cards, with the exception noted above, should be placed in the inbox, and will be triaged daily as part of our daily standup

While this was a somewhat lengthy discussion, it highlighted some of the challenges the team faces.

  • Assumptions
  • Shared understanding (and not)
  • Process
  • Meanings / definitions
  • Use of the board
  • The Scrum Master's role and responsibilities on this team

For me, the outcome was entirely satisfactory. Some terminology got discussed, some understanding became shared, a method for processing was agreed upon, and the conversation was civil if occasionally a bit heated.

Healthy. 

Posted: Friday, August 24, 2007 5:01 PM by slist

Comments

Scott Bellware said:

Hey Doc,

Looking at this, I realized that we're loading "stand-up" with more and more responsibilities.  I wonder if we'd benefit to trying to get some discipline into our stand-up practices by taking the status report element out of the meetings and just stick to the three claims made at a stand-up by the participants.

The triage thing should likely not be "part of" the stand-up, but could certainly happen around the same time.

I'm not sure if our stand-up practices are loose - especially if we the team don't feel friction from eh way we do stand-up.  Dunno.

Martin Fowler has a good article on stand-ups at:

http://www.martinfowler.com/articles/itsNotJustStandingUp.html

# August 25, 2007 1:38 PM

bret said:

The definition of bug that I use is "a bug is something that bugs someone whose opinion matters." Many people attribute this definition to me, but I think it actually comes from James Bach.

Here is a good discussion of the difference between a bug and defect and why I avoid "defect" reports:

http://shrinik.blogspot.com/2005/10/getting-buggy-some-gyan-about-bugs.html

# August 27, 2007 12:39 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  

Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS