Class: PredictabilityEngine::Calculators::CycleTime

Inherits:
Object
  • Object
show all
Defined in:
lib/predictability_engine/calculators/cycle_time.rb

Class Method Summary collapse

Class Method Details

.completed_sorted(work_items) ⇒ Object



21
22
23
# File 'lib/predictability_engine/calculators/cycle_time.rb', line 21

def self.completed_sorted(work_items)
  PredictabilityEngine.completed_items(work_items).sort_by(&:end_date)
end

.distribution(work_items) ⇒ Object



6
7
8
9
10
11
# File 'lib/predictability_engine/calculators/cycle_time.rb', line 6

def self.distribution(work_items)
  completed = work_items.select(&:completed?)
  return [] if completed.empty?

  completed.map(&:cycle_time).sort
end

.percentile(work_items, percentile_value) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/predictability_engine/calculators/cycle_time.rb', line 13

def self.percentile(work_items, percentile_value)
  dist = distribution(work_items)
  return nil if dist.empty?

  index = (dist.size * percentile_value / 100.0).ceil - 1
  dist[index]
end