In the classic Testing Computer Software, Cem Kaner et al. describe a bugtracking system similar to, but subtly different from, mainstream bugtracking systems.
It has all the usual fields such as reporter, steps to reproduce etc but there are two points which I find very unusual:
- There are three 'Severity' levels, and five 'Priority' levels. *Only* the bug's reporter is allowed to set the Severity, and *only* the PM is allowed to set the Priority. The idea, as I understand it, is to give each party equal say on the relative importance of each bug. You can have minor, high-priority bugs (a splash screen displaying offensive language, for instance) and critical, low-priority bugs (in extremely rare circumstances, the program crashes and takes down the whole computer with it.)
- Each bug has a 'Treat as deferred' checkbox. This can be set *only* by the reporter or by the lead tester, and only if a bug has been resolved as anything else than 'Fixed'. The idea is to prevent the PM from downplaying bugs as 'Not A Bug' or 'Won't Fix'. When development starts on the next release, all bugs that have been tagged thus are reopened.
I have never seen any bugtracking system fully implement these ideas, especially the second one. Has anyone seen a system that does? Or does anyone know a mainstream, open-sourceish system that can be tweaked to do so?
UPDATE
The shop were I work now has asked me to evaluate JIRA. At first glance JIRA seems customizable enough to implement Kaner et al.'s workflow. It's possible to add almost any kind of field to the bug reports. Has anyone done this before, i.e., add custom fields to JIRA? How painless was your experience? Is it possible to do this in Bugzilla or Trac?