diff --git a/doc/ISSUES.md b/doc/ISSUES.md index e2e8a43f6..edb48b1ea 100644 --- a/doc/ISSUES.md +++ b/doc/ISSUES.md @@ -157,47 +157,91 @@ Some other loose conventions: describes an interesting method of ranking issues by a single "User Pain" metric. -What adaptation of this might be useful for the hledger project ? - -Here's a simplified version that we are using in the hledger issue tracker: +Here's the simplified version that we are using in the hledger issue tracker: Two [labels](https://github.com/simonmichael/hledger/labels) can be applied to bug reports, -each with levels from 1 to 5, -each beginning with the letter a so as to appear near the front of label lists: +each beginning with the letter `a` so as to appear near the front of label lists, +each with a level from 1 to 5: **Impact** Who may be affected by this bug ? -- affects1: Affects almost no one. -- affects2: Affects packagers or developers. -- affects3: Affects just a few users. -- affects4: Affects a significant number of users. -- affects5: Affects most or all users. +- affects1-noone: Affects almost no one. +- affects2-devs: Affects packagers or developers. +- affects3-few: Affects just a few users. +- affects4-many: Affects potentially a significant number of users. +- affects5-most: Affects most or all users. **Severity** To people affected, how serious is this bug ? -- annoyance1: Cleanliness/consistency/developer bug. Only perfectionists care. -- annoyance2: Minor to moderate usability/doc bug, reasonably easy to avoid or tolerate. -- annoyance3: New user experience or installability bug. A potential user could fail to get started. -- annoyance4: Major usability/doc bug, crash, or any regression. -- annoyance5: Any loss of user's data, privacy, security, or trust. +- annoyance1-trivial: Cleanliness/consistency/developer bug. Only perfectionists care. +- annoyance2-minor: Minor to moderate usability/doc bug, reasonably easy to avoid or tolerate. +- annoyance3-blocker: New user experience or installability bug. A potential user could fail to get started. +- annoyance4-major: Major usability/doc bug, or any regression or crash. +- annoyance5-critical: Any loss of user's data, privacy, security, or trust. **User Pain** -The bug's User Pain score is **Impact * Severity / 25**, ranging from 0.04 to 1. +The bug's User Pain score is **Impact * Severity * 4**, so ranging from 4 to 100. Then, practices like these are possible: - All open bugs can be listed in order of User Pain (AKA priority). - Developers can check the Pain List daily and fix the highest pain bugs on the list. -- The team can set easy-to-understand quality bars. For example, they could say “In order to release, we must have no open bugs with more than 0.5 pain.” +- The team can set easy-to-understand quality bars. For example, they could say “In order to release, we must have no open bugs with more than 50 pain.” - If there are no bugs left above the current quality bar, they can work on feature work. - If a bug is found that will take more than a week to fix, it can be flagged as a ‘killer’ bug, for special treatment.