BUSFACTOR.TECH
Team Health

Your Team Ships at Midnight. That's Not Dedication.

Signals, not ranks

CRUNCH, OR JUST TIMEZONES?

Hover or focus to flip ↻
The short version

Commit timestamps say the real workday ends after midnight. Crunch, timezones, or night owls? How to read after-hours creep without building a shame board.

2 receipts in this article ↓

TL;DR: That 11:47pm merge gave you a warm feeling - look at the hustle. Two months of those timestamps is not hustle; it's your delivery system quietly borrowing hours it never budgeted, and the interest arrives as a resignation. But timing data has three honest readings (crunch, timezones, night owls), so read it at team grain, watch the drift not the dots, and ask before you conclude. Free method below. The one hard rule: the moment your after-hours chart becomes a list of names, you've built a shame board and lost the signal.

Be honest about the feeling. The Slack notification lands at 11:47pm - merged: the checkout fix - and something in you is pleased. What a team. What commitment. You might even react with the fire emoji before you sleep.

Now fast-forward two months. Same timestamps, different document: they're the backstory in an exit interview. "The workload was never officially crazy. It just… never fit in the day." Nobody mandated the midnights. The system just kept accepting commitments that only fit if the evenings absorbed the overflow. And the evenings did, silently, until the person absorbing them stopped.

Three readings, one chart

First, the honesty that most "burnout dashboards" skip: a late commit is not a diagnosis. The same midnight dot has three legitimate explanations. Crunch - the deadline debt is real and evenings are paying it. Timezones - your "after hours" is someone's 2pm, and a distributed team paints midnight dots that mean absolutely nothing. Preference - a real night owl using exactly the flexibility you promised in the job ad, doing their best work at 1am by choice.

Two of those three readings are fine. The problem is you can't tell which one you have by squinting at the chart. The two failure modes mirror each other: the boss who sees dedication in what's actually crunch, and the boss who sees a burnout crisis in what's actually an Australian teammate. This is exactly why the SPACE research insists productivity can't be read off a single dimension and pushes teams to pair workflow data with at least one perceptual measure: the timestamps tell you where to look, and only asking tells you what you found.

What the chart is uniquely good for is drift. The WHO defines burnout as a syndrome resulting from chronic workplace stress that has not been successfully managed, chronic being the operative word. One heroic evening is a story; a team whose center of gravity slides later month over month is chronicity leaving a paper trail. It tends to travel with the other overload tells (WIP above headcount, growing review queues) and it shows up in git well before the resignation letter shows up in your inbox.

Read your own punchcard, free, this week

  1. Pull the histogram. One git log over the last six months, commit count by hour of day and day of week. One caveat that ruins naive versions: commit timestamps carry each author's local timezone offset. Normalize per author before you conclude anything, or your Sydney colleague becomes a fake burnout crisis.
  2. Aggregate to team grain. Resist the person list. The question is "does our delivery depend on evenings?", which is answerable in aggregate. A per-person late-night ranking is a shame board with a health label; the moment it exists, people will game the timestamps instead of telling you the truth.
  3. Subtract the innocent readings. Overlay the team's actual timezones. Ask the night owls if the pattern is theirs by choice - in a one-on-one, with curiosity, not in a channel with a chart. What survives that subtraction is the real signal.
  4. Watch the trend, not the snapshot. Compare this quarter's evening-and-weekend share to last quarter's. Drift is the tell: rhythm that slides later while headcount and scope stayed flat means the system is financing its commitments with unbudgeted hours.
  5. If it's crunch, fix intake, not people. "Please log off earlier" while the commitments stand just hides the work. The levers that actually move the chart: cut work-in-progress, make deadlines answer measured throughput, bound on-call, and make recovery legitimate. Chronic after-hours load is one of the quiet ways team health erodes while every sprint review still looks green, and the people it burns first are your most load-bearing ones, the exact people you can least afford to lose.

How you'd actually see it

The DIY punchcard is one afternoon. Then it goes stale, and nobody re-runs it in a busy quarter. Busfactor's work rhythm keeps it live: the punchcard of when work really happens, after-hours and weekend share judged against expert bands, at team grain, with a callout that puts both readings on the table (crunch, or a distributed-timezone team) instead of pretending the chart alone can convict. What it will not build, by design: a ranked list of people by late-night activity. That's the shame board, and shame boards don't reduce after-hours work - they reduce honest timestamps.

The honest limit, in plain terms: activity timing is not feelings. Git shows when code moved, not whether the person was thriving or drowning while it moved. A joyful night owl and a quietly sinking teammate can paint the same dots. The chart earns its keep by starting the right conversation early. It never replaces the conversation.

The work-rhythm punchcard: a weekday-by-hour heatmap of when the team actually ships.The work-rhythm punchcard: a weekday-by-hour heatmap of when the team actually ships.
The work-rhythm punchcard - when the team actually shipsLive product · fictional demo org

The door

The 11:47pm merge doesn't need your fire emoji - it needs fifteen minutes of your curiosity. Pull the punchcard, normalize the timezones, and ask the team what the pattern means before the exit interview explains it to you. If it's timezones, wonderful. Carry on. If it's crunch, fix the intake while it's still a chart and not a goodbye message. And if you'd rather the punchcard maintain itself (judged against real bands, team grain, both readings on the table), connect your repos and look at the rhythm panel this week.

Frequently asked

Are late-night commits a sign of burnout?

They're a sign worth reading, not a verdict. A midnight commit has at least three honest explanations: deadline crunch, a distributed team in other timezones, or a genuine night owl using flexibility you gave them. Timing data tells you where to look; only the conversation tells you which explanation is true. The pattern to worry about is drift - a team whose center of gravity moves later month over month.

How do I check after-hours work without surveilling individuals?

Aggregate to team grain and look at distribution shape over months, not at any person's Tuesday. The question 'is our delivery system quietly depending on evenings?' is answerable without a per-person list - and the per-person list is precisely the thing that turns a health check into a shame board and burns the trust you need to fix anything.

What should I do if the after-hours pattern is real crunch?

Fix intake, not people. Chronic after-hours work means the system commits to more than fits in working hours: cut work-in-progress, make deadlines answer to measured throughput, bound the on-call rotation, and make recovery time visible and legitimate. Telling people to log off while the commitments stay the same just moves the work to where you can't see it.

Receipts

Keep reading