Timesheet & workload

Nobody logs time in Deckgauge. Every hour in this section is inferred from how long an issue sat in each status, using the transition history synced from Jira, Azure DevOps, or GitHub — so the numbers are only ever as good as the tracker's discipline and the status rules you've set.

deckgauge · Timesheet
July 2026 · Platform normalized
EngineerCapExOpExTop epic
A. Rivera128h22hCheckout v2
S. Chen96h40hSearch relevance
M. Devi140h10hFraud rules

Inferred CapEx/OpEx hours by engineer for a period.

How hours are inferred

Every issue's transition history is a sequence of status spans. When a span falls in a status that counts as "in progress" — per the rules in what counts as in-progress — its duration is attributed to the issue's assignee. In Normalized mode, concurrent spans on the same day are weighted so a person's day never exceeds elapsed wall-clock; in Raw mode, each span counts its full logged duration independently. Either way, a per-tree daily hours cap (default 8h) then bounds how much any one day can contribute, so a ticket left open overnight can't inflate a day past a realistic capacity. Every issue also resolves to a CapEx/OpEx classification — its own, or inherited from the nearest classified ancestor — so every hour lands in a CapEx, OpEx, or Unclassified bucket.

The views

  • Per-engineer workload (/timesheet, the Grid tab) — hours by engineer and period, nested by reporting line, with per-ticket drill-down.
  • Report: CapEx & OpEx (/timesheet/report) — the aggregated CapEx/OpEx split, a blended-rate cost estimate, and a top-epics leaderboard.
  • Both are also available as Timesheet and Report tabs inside an org tree, scoped to that tree.

Configuring the rules

Two screens, at two different scopes, decide which statuses count — see the full reference for the precedence between them:

  • Active statuses (/settings/timesheet-statuses?tree=<orgTreeId>) — per org tree, choose which statuses mean "actively working"; everything else is hidden entirely for that tree. The same screen sets the daily hours cap.
  • In-progress status rules (/timesheet/status-rules) — per-role rules with per-person overrides, used as the fallback when a tree has no active-status configuration.

Keeping the numbers honest

Because there's no manual time entry, the issue tracker's own discipline is the data — a ticket parked in an active status keeps accruing hours indefinitely. See the working practices these numbers depend on for the habits that keep spans accurate, and the guardrails (daily cap, retired-project clipping) that only limit the damage.

Related

Last updated