File contents
DDBug 2.0 (alpha 2)
DDBug is a simple and user-friendly issue tracking system
inspired by several other such systems and influenced by the
ideas of Extreme Programming.
ACTORS
DDBug was designed with two audiences (actors) in mind:
Customer:
requests corrections or new features
Developer:
fixes bugs and implements features
WORKFLOW
"New" issues are usually created by the Customer. When a Developer takes
over the issue it enters the "Analysis" state. For normal issues, the
next states set by the Developer are "Fixing" and "Fixed". A "Fixed"
issue requires an approval from the Customer. When that happens, the
issue is "Approved". This is the shortest path for a normal issue. See
the lifecycle.png diagram for other possible paths.
STATES
Here is a description of all states that an issue can go through.
New:
Issue was just reported by a Customer.
Analisys:
Developer is studying the issue.
Clarify:
Developer requests clarification from Customer (usually
because the issue is unclear or cannot be reproduced).
Fixing:
Developer is working on the issue.
Testing:
Developer is testing the solution of the issue.
Fixed:
Developer believes the issue is solved; requests
approval from Customer.
Aproved:
Client approves fix. Issue is CLOSED.
Re-Sent:
Customer re-submits issue for analysis (after Clarify,
Fixed or Postponed).
Non-Bug:
Developer determines that issue is not a bug (usually
because the request was caused by misunderstanding of
functionality intended as a feature). Issue is CLOSED.
Discarded:
Developer recognizes the issue but decides not to fix it
(perhaps the cost of fixing exceeds the benefit, or the
broken feature is being phased out). Issue is CLOSED.
Postponed
Developer has decided to postpone solution of the issue
(maybe the fix depends on the solution of other pending
issues).
OPEN x CLOSED ISSUES
"Approved", "Non-Bug" and "Discarded" are terminal states which indicate
the issue is CLOSED. Issues in all other states are considered OPEN.
Reopening issues is not currently supported.
PRIORITY x SEVERITY
The Customer uses Priority to determine the order in which issues are to
be tackled by the Developer. Priorities range from 1 (highest) to 5
(lowest).
Only the Customer can set the Priority attribute of an issue. If the
Customer sets every issue to Priority 1, the Developer is free to work
on them in any order she/he prefers (usually in order of Severity).
The Customer can also set the Severity of a bug, but only as a
suggestion. The Developer has full authority over Severity (once a
Developer touches the Severity attribute, the Customer cannot change it
anymore).
Open issues should be solved by order of Priority. Issues tied for
Priotity should be solved by Severity.
Priority and Severity are independent. A COSMETIC issue can have a
Priority of 1 (perhaps a trademark was misspelled), and an UNAVOIDABLE
issue can have a Priority of 5 (maybe the broken feature is unimportant
or rarely used). CRITICAL issues are always highest priority, by
definition.
SEVERITY LEVELS
Critical
Panic. The system is unusable.
All work with the system has stopped and testing cannot
continue until the bug is fixed.
Unavoidable
A certain part of the system cannot be used.
There are no known workarounds.
Avoidable
Use of a certain part of the system is impaired.
There are workarounds, but they are not practical.
Cosmetic
Something is wrong with the look and feel of the system,
but no functionality is impaired.
Improvement
Request for improvement or new feature.
--------------
Copyright (c) 2003, Hiperlogica Ltda. (http://www.hiper.com.br)