We use story points to estimate stories. How can I change the configuration of story points? At least the description or translation (it currently is set to "... Grö?e der ..." which should at least be "... Größe der ..." and - better yet - adding information about our scale.
Is there a possibility to restrict entered numbers to the ones we'd like to allow (1..10 / Fiabonacchi / Mountain Goat / ... - there are some possibilities that all have a set of numbers).
Thanks in advance,
Maud
Maud,
You can change the description of story points just like any other custom field.
Unfortunately you can't change the field type of custom field after its been created, so story points are an opened ended number field. I also wish I could change this to powers of 2 (1, 2, 4, 8), something that the much less feature rich Pivotal Tracker actually supports.
Well, I experienced difficulties in changig that field that is: changing could be done but afterwards the original description was again shown. I will dig into this again in the next days - had to postpone it to some day in May.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Our team defined a custom listener using Scriptrunner to update the Points value to the next highest number in the Fibonacci sequence, if the entered value was not a Fibonacci number. This solution was fairly simple and worked reasonably well.
This functionality is accessible through Administration > Add-ons > Scriptrunner > Script Listeners or Listeners, once Scriptrunner is installed.
Here's the basic logic:
// Fibonacci Points Listener
import com.atlassian.jira.bc.issue.IssueService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.IssueInputParameters
import com.atlassian.jira.event.issue.IssueEvent
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
def fibList = [1,1] // seed the Fibonacci sequence
def fibCheck = {}
fibCheck = {
float val ->
if (val <= fibList[-1]) { // if points less than or equal to last number in sequence
return fibList[-1] // round up to next Fibonacci number
} else {
fibList += (fibList[-1] + fibList[-2]) // append next Fibonacci number to sequence
return fibCheck(val) // repeat check
}
}
def pointId = "customfield_10006" // Jira "custom" field ID for points
// object required to update issues
IssueService issueService = ComponentAccessor.getComponnent(IssueService)
IssueInputParameters issueInputParameters = issueService.newIssueInputParameters()
def event = event as IssueEvent
Issue issue = event.getIssue()
def user = ComponentAccessor.getJiraAuthenticationContext().loggedInUser
// get custom fields for issue
List<CustomField> allCustomFields = ComponentAccessor.getCustomFieldManager().getCustomFieldObjects(issue);
def allCustomIds = allCustomFields.collect {it.id}
if (!(pointId in allCustomIds)) { return } // no Points field
// object required to manage custom fields
def customFieldManager = ComponentAccessor.getCustomFieldManager()
CustomField points = customFieldManager.getCustomFieldObject(pointId)
def rawPointVal = issue.getCustomFieldValue(points)
if (rawPointVal == null) { return } // no Points value
float pointVal = rawPointVal as float // set raw points as float
if (pointVal == 0) { return } // accept 0 points
def fibPointVal = fibCheck(pointVal) // round to next Fibonacci number
if (fibPointVal != pointVal) { // reset points if updated
issueInputParameters.addCustomFieldValue(points.id, fibPointVal as String)
def update = issueService.validateUpdate(user, issue.id, issueInputParameters)
}
return
Thanks to Sam Orloff for the code sample.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
One user needed to replace the last if statement to get the points to update. She replaced the last if statement with:
if (fibPointVal != pointVal) {
def changeHolder = new DefaultIssueChangeHolder()
points.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(points), fibPointVal as double, changeHolder)
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Folks,
I found the solution in misconfigured field schemes. It works now. Thanks for your help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Maud,
That field probably cannot be modified, so my answer may not help much, but here it goes.
I always recommend the modified Fibonacci approach (1,2,3,5,8,13,20,40,100). Then, you just need to remind your teams of the valid numbers. If you notice a '4', either have a conversation or make it a 5.
Ideally, each team will have their own definition of 'what a 5 is' so the best way to do any cross-project analysis on performance is converting it to a ratio. I don't personally have to do that.
If this is important to you, google Rapid Scrum and view their short presentations. It is good stuff, just doesn't play well with JIRA at this point.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.