Skip to content

Commit

Permalink
Add class name to issue row and update readme.
Browse files Browse the repository at this point in the history
  • Loading branch information
theodoreb committed Nov 9, 2010
1 parent 08adaa4 commit 9195dfc
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 14 deletions.
48 changes: 36 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,47 @@
User Pain bug triage for Redmine
=============================

As advertised here on [Lost Garden](http://www.lostgarden.com/2008/05/improving-bug-triage-with-user-pain.html).
As advertised on [Lost Garden](http://www.lostgarden.com/2008/05/improving-bug-triage-with-user-pain.html).


It's very alpha but it works.
It's very alpha but it works. You need to create a custom list field named *Likelihood*

* Use tracker to set type of bug
* Priority, same here
* A custom field named *Likelihood* of type list
* A custom field named *User Pain* of type float or integer

User pain is the product of Tracker, priority and Likelihood position
where position is the position in the list for the field. If you have
3 tracker in this order the value is determined as :
For exemple if an issue has the following values selected :

* (3) Crash
* (2) Major
* (1) Task
### Tracker

* (7) Crash: Bug causes crash or data loss. Asserts in the Debug release.
* **(6) Major usability: Impairs usability in key scenarios.**
* (5) Minor usability: Impairs usability in secondary scenarios.
* (4) Balancing: Enables degenerate usage strategies that harm the experience.
* (3) Visual and Sound Polish: Aesthetic issues
* (2) Localization:
* (1) Documentation: A documentation issue

### Priority

* (5) Blocking further progress on the daily build.
* (4) A User would return the product. Cannot RTM. The Team would hold the release for this bug.
* **(3) A User would likely not purchase the product. Will show up in review. Clearly a noticeable issue.**
* (2) A Pain – users won’t like this once they notice it. A moderate number of users won’t buy.
* (1) Nuisance – not a big deal but noticeable. Extremely unlikely to affect sales.

### Likelihood

* **(5) Will affect all users.**
* (4) Will affect most users.
* (3) Will affect average number of users.
* (2) Will only affect a few users.
* (1) Will affect almost no one.

The user pain value for this issue would be :

100 * (6*3*5) / (7*5*5) = 51


The value is always fresh and computed on the fly. A css class name has been
added to the issue row to facilitate styling.


Patches more than welcome.
2 changes: 1 addition & 1 deletion config/locales/fr.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
fr:

user_pain: User Pain
label_user_pain: User Pain
field_user_pain: User Pain
10 changes: 10 additions & 0 deletions lib/issue_patch.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ module RedmineUserPain
module IssuePatch
def self.included(base) # :nodoc:
base.send(:include, InstanceMethods)

base.class_eval do
alias_method_chain :css_classes, :css_pain
end
end

module InstanceMethods
Expand Down Expand Up @@ -36,6 +40,12 @@ def user_pain
max_pain = @project.trackers.length * IssuePriority.all.length * likelihood_values_length
return 100 * pain / max_pain
end

def css_classes_with_css_pain
s = css_classes_without_css_pain << " user_pain-#{self.user_pain}"
return s
end

end

end
Expand Down
2 changes: 1 addition & 1 deletion lib/user_pain_issue_hook.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Hooks to attach to the Redmine Issues.
class BudgetIssueHook < Redmine::Hook::ViewListener
class UserPainIssueHook < Redmine::Hook::ViewListener

# Renders the Deliverable subject
#
Expand Down

0 comments on commit 9195dfc

Please sign in to comment.