Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface SchedulingOptions

Options for scheduling issues with remaining effort or wait time.

It’s important to distinguish:

  • Elapsed time (aka duration). Cohn (2006, “Agile Estimating and Planning”) defines this as “the amount of time that passes on a clock (or perhaps a calendar).”
  • Ideal time (aka effort or work). This, in contrast, is the “amount of time that something takes when stripped of all peripheral activities” (ibid.). Ideal time also does not contain time off work (such as nights or weekend).

It is further important to define whether a quantity is given relative to the:

  • actual work time of a contributor (say, 20h/week in case of part-time),
  • regular work time (say, 40h/week), or
  • real time (aka elapsed or wall-clock time; that is, 7 * 24h/week).

In practice, this usually only affects the conversion factors between hours and days (say, 8h/d or 24h/d), and between days and weeks (say, 5d/week vs. 7d/week).

Finally, there are different options for mapping from work time to real time:

  • Using the contributors’s work schedule (say, Monday through Friday, between 9am and 5pm) as a step function. No activity is scheduled outside these time windows.
  • Interpolation. Here, the simplified assumption is that work time is evenly distributed over the entire real week. While this choice is arguably less realistic, it has the benefit of simplicity, and is often still sufficient for estimation purposes.

In this module, in the absence of further qualification, elapsed time is meant relative to real time (24h/d and 7d/week), and ideal time is meant relative to regular work time (which is configurable in YouTrack). This module uses interpolation to convert from work time to real time. (The ceiling function is used for any integer conversion.)

Hierarchy

  • SchedulingOptions

Index

Properties

contributors

contributors: Contributor[]

Contributors between whom all work will be allocated.

Optional minActivityDuration

minActivityDuration: undefined | number

Minimum ideal time (in multiples of resolutionMs) that each issue activity must have in order for the issue to be preemptable or splittable across more than one person.

By default, this is 1.

Optional minutesPerWeek

minutesPerWeek: undefined | number

The number of minutes in a work week.

This number defines the conversion factor between regular work time (say, 40h/week) and real time (7 * 24h/week).

By default, this is 5d * 8h/d * 60min/h = 2400min.

Optional predictionStartTimeMs

predictionStartTimeMs: undefined | number

Timestamp of the earliest point in time when unresolved issues with remaining effort or wait time can be scheduled.

By default, the current time returned by Date.now() will be used.

Optional resolutionMs

resolutionMs: undefined | number

Resolution (in milliseconds) of the computed schedule. More precisely, the duration of one quantum (unit) of regular work time.

The effect of this property is a quantization of time. Specifically, any elapsed time relative to regular work time is always a multiple of this setting.

By default, this is 1 hour; that is, 3,600,000ms.

Generated using TypeDoc