Skip to content

Group milestone velocity and estimated complete date

Design

  • Introduce a group milestone field called velocity, as an optional field.
  • It is a user-entered value which reflects the team (the group's "velocity").
  • TBD on the units and specific implementation. But it should be measured by weight units per time units.
  • Given the start date and end date of the milestone, and the summed weights of the open/closed issues in the milestone, we would be able know if the milestone is ahead / behind schedule, will be on time / will be late.
  • This information will be displayed on the milestone page so that teams can do long-term planning. But more importantly, it will be shown in the group Gantt view: https://gitlab.com/gitlab-org/gitlab-ee/issues/3237.

Scenarios

  • These scenarios apply to both open and closed milestones. This logic/calculation ignores whether the milestone is open or closed.

Today < Start date < End date

  • Only if the start date, end date, and velocity fields are all entered, the estimated complete date is calculated and shown.
  • Consider sum of weights of all open issues assigned to milestone right now: W
  • Consider velocity: V
  • Calculate and display the Estimated complete date := Start date + W / V
  • If Estimated complete date > End date, display Delayed. Otherwise, display On time.

Start date <= Today < End date

  • Only if the start date, end date, and velocity fields are all entered, the estimated complete date is calculated and shown.
  • Consider sum of weights of all open issues assigned to milestone right now: W
  • Consider velocity: V
  • Calculate and display the Estimated complete date := Today + W / V
  • If Estimated complete date > End date, display Delayed. Otherwise, display On time.

Start date < End date <= Today

  • If all issues are closed within the milestone, look at all the issues within the milestone, and find the one with the latest closed_at field. Take that to be the Complete date of the milestone, and display it.
    • If Complete date > End date, display Completed late. Otherwise, display Completed on time.
  • If all issues are not closed within the milestone and the velocity field is entered:
    • Consider sum of weights of all open issues assigned to milestone right now: W
    • Consider velocity: V
    • Calculate and display the Estimated complete date := Today + W / V.
    • Display Delayed.

Screen_Shot_2017-08-27_at_14.56.04

Edited by Victor Wu