DDBug is a simple and user-friendly issue tracking system inspired by several other such systems and influenced by the ideas of Extreme Programming.
DDBug was designed with two audiences (actors) in mind:
"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 diagram below for other possible paths.

Here is a description of all states that an issue can go through.
"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.
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.
Copyright (c) 2003, Hiperlogica Ltda. (http://www.hiper.com.br)