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.