Core Engineering Metrics

BottlenecksADS

Where the time actually goes — candidate visualizations on REAL data (same cohort and rules as everywhere). Pick the ones worth showing.

Interactive: click any status (segment, row, legend chip) to highlight it across ALL views — timelines re-rank by time spent in it; click again to clear. Ticket keys open Jira. CFD legend toggles bands.

A · Pipeline — where a ticket's time lives

imedian + Σ

One bar = the whole Cycle (work start → done), split by status. Width = share of all cohort time. The widest segment IS the bottleneck. Below — the same statuses ranked: median per visit · total days · share.

Bottleneck: Ready For Review33.4% of all time (Σ 189.5d, waiting). All waiting combined: 39.7%; the work itself (In Progress) — 41.7%.

In Progress
med 0.9d · Σ 236.5d · 41.7%
Ready For Reviewbottleneck
med 0.8d · Σ 189.5d · 33.4%
In Deployment
med 0d · Σ 84.6d · 14.9%
Ready To Merge
med 0d · Σ 34.1d · 6%
CODE REVIEW
med 0d · Σ 12.4d · 2.2%
Selected for Development
med 0d · Σ 8.8d · 1.6%
On Hold
med 0.2d · Σ 1.6d · 0.3%

B · Flow efficiency — work vs waiting

imedian + Σ

TWO views. The big CALENDAR bar: median Active vs median Cycle — Cycle runs on the calendar (weekends and holidays INCLUDED, as the document demands; time after a bounce back to New is subtracted), Active counts working hours only. The PROCESS bar below removes calendar physics: BOTH sides count only the assignee's working hours (weekdays, minus their BambooHR vacations and country holidays, capped per day) — its remainder is pure process queues.

Of the median 2.8d cycle, hands-on work is 1d (= 3wd): the ticket waits 64.3% of the time.

35.7% hands-on work
64.3% waiting
process efficiency (assignee working hours only) · hands-on 451.8wd of 469.2wd working time in flow
96.2%
3.8% process queues
where the waiting goes · 417.1d cohort total — TICKET-days of 123 parallel tickets, hence far above the window length
Ready To Merge34.1d · 8.2%
On Hold1.6d · 0.4%
bounce-backs to the queue (New category)8.8d · 2.1%
nights, weekends, vacations and the 8h cap inside active statuses372.6d · 89.3%

C · Ticket timelines — the last tickets as segments

i

Each row = one real completed ticket from work start to done; colored segments = statuses. Long same-color stretches across many rows point at the same stage — that's the bottleneck pattern, outliers included.

Longest single stay here: Ready For Review7.2d in ADS-1415. Click a status in the legend to rank tickets by it.

D · Aging WIP — what is stuck right now

i

Open tickets that have not moved the longest (days since the last status change). This is the operational view: today's bottleneck, ticket by ticket.

13 in-work tickets without movement > 7d, 11 of them > 30d. Stuck longest: ADS-305357.7d in “In Progress”.

E · Cumulative flow — queues over time

i

Tickets in each WORK stage, week by week (backlog and done excluded — they drown the queues that matter). A band that keeps widening is a queue that keeps growing — the classic bottleneck signal and its history.

The fastest-growing queue is On Hold: 13 tickets across the window.