com.atlassian.greenhopper.service.sprint.health
Class SprintHealthMetricsResolver

java.lang.Object
  extended by com.atlassian.greenhopper.service.sprint.health.SprintHealthMetricsResolver

public class SprintHealthMetricsResolver
extends java.lang.Object

Contains methods to calculate the metrics of a sprint.


Nested Class Summary
static class SprintHealthMetricsResolver.IssueColumnChange
           
 
Constructor Summary
SprintHealthMetricsResolver()
           
 
Method Summary
static long calculateDuration(org.joda.time.DateTime startDate, org.joda.time.DateTime endDate, WorkRateData workRate)
          Calculates the duration between two dates in millis, taking into account non working days
static java.lang.Long calculateScopeChangePercentage(Sprint sprint, SprintBurndownModel sprintBurndown)
          Calculates the scope change percentage of a sprint.
static java.lang.Long calculateSprintCompletionPercentage(Sprint sprint, WorkRateData workRate, org.joda.time.DateTime now)
           
static java.lang.Long calculateWorkCompletionPercentage(SprintProgress sprintProgress)
           
static boolean isIssueBoomerang(Sprint sprint, java.util.List<Column> columns, java.lang.String issueKey, java.util.SortedSet<SprintHealthMetricsResolver.IssueColumnChange> statusChanges)
           
static boolean isIssueStale(RapidIssueEntry issue, Sprint sprint)
          Checks if the given issue is stale.
static SprintProgress resolveSprintProgress(ColumnService.ColumnProgressMap columnProgressMap, java.util.List<RapidIssueEntry> issues)
           
static SprintHealth.Status resolveSprintStatus(java.lang.Long sprintCompletionPercentage, java.lang.Long workCompletedPercentage)
          Calculates the status of a sprint based on the sprint completion and work completion
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SprintHealthMetricsResolver

public SprintHealthMetricsResolver()
Method Detail

resolveSprintProgress

public static SprintProgress resolveSprintProgress(ColumnService.ColumnProgressMap columnProgressMap,
                                                   java.util.List<RapidIssueEntry> issues)

resolveSprintStatus

public static SprintHealth.Status resolveSprintStatus(java.lang.Long sprintCompletionPercentage,
                                                      java.lang.Long workCompletedPercentage)
Calculates the status of a sprint based on the sprint completion and work completion


isIssueStale

public static boolean isIssueStale(RapidIssueEntry issue,
                                   Sprint sprint)
Checks if the given issue is stale. A stale issue is in the same status for a certain time (half the sprint time)

Parameters:
issue -
sprint -
Returns:

isIssueBoomerang

public static boolean isIssueBoomerang(Sprint sprint,
                                       java.util.List<Column> columns,
                                       java.lang.String issueKey,
                                       java.util.SortedSet<SprintHealthMetricsResolver.IssueColumnChange> statusChanges)

calculateSprintCompletionPercentage

public static java.lang.Long calculateSprintCompletionPercentage(Sprint sprint,
                                                                 WorkRateData workRate,
                                                                 org.joda.time.DateTime now)

calculateDuration

public static long calculateDuration(org.joda.time.DateTime startDate,
                                     org.joda.time.DateTime endDate,
                                     WorkRateData workRate)
Calculates the duration between two dates in millis, taking into account non working days


calculateScopeChangePercentage

public static java.lang.Long calculateScopeChangePercentage(Sprint sprint,
                                                            SprintBurndownModel sprintBurndown)
Calculates the scope change percentage of a sprint. After a sprint starts, any issues added or removed with an estimate are considered scope changes. Also changes to the estimate of issues in a started sprint are scope changes.

Parameters:
sprint -
sprintBurndown -
Returns:
The percentage of scope change that has occurred in the sprint. 100 means no scope changes have occurred. > 100 means scope was added. < 100 when scope was cut.

calculateWorkCompletionPercentage

public static java.lang.Long calculateWorkCompletionPercentage(SprintProgress sprintProgress)


Copyright © 2007-2013 Atlassian. All Rights Reserved.