How to Set Up Engineering Team Wellness Tracking Without Surveillance or Survey Fatigue
Engineering team wellness tracking works best when it combines passive workflow signals from tools like GitHub and Linear with a small amount of human input, stays at the team level, and ends in action. This seven-step guide shows you how to build a charter, choose signals, run a biweekly check-in, and set early-warning triggers without surveillance or survey fatigue.
Engineering team wellness tracking works when it combines passive workflow signals with a small amount of human input, stays at the team level, and ends in action. This guide walks you through building that system in seven steps. You finish with a short charter, a handful of tracked signals, a biweekly check-in, early-warning triggers, and a review routine that produces decisions rather than dashboards.
You need read access to your Git host and issue tracker (for example GitHub and Linear), and a recurring 1:1, retro, or team sync where you can act on what you find. No data team is required.
Step 1: Define what wellness means for your team and set ground rules
"Happiness" is too vague to track. Pick three or four dimensions you can observe through work and conversation. A workable set:
- Sustainable workload: people are not routinely working beyond normal hours.
- Momentum: work moves through the system at a steady or improving pace.
- Collaboration and support: reviews and help are shared fairly and arrive promptly.
- Sense of progress and autonomy: people understand what they are building and can finish it.
Next, define your terms so the team does not mix them up. Burnout is described in the WHO's ICD-11 as an occupational phenomenon resulting from chronic workplace stress that has not been successfully managed. It is not classed as a medical condition. Check the current wording on the WHO site before you quote it in your own documents. Low morale is a dip in motivation or confidence, often tied to unclear direction or recognition. Temporary overload is a short, explainable crunch such as a launch. Each calls for a different response, and treating overload as burnout (or the reverse) leads to the wrong fix. If you suspect the second case, our guide to low team morale in engineering helps you tell the difference.
Then fix the unit of analysis: team-level trends, never individual rankings. The most damaging mistake is using wellness data in performance reviews. Once people believe that, they will manage the data instead of telling you the truth, and the signals become useless.
Finally, write a one-page charter covering what is collected, who sees it, how long it is kept, and what it will never be used for (performance evaluation, compensation, individual comparison). Share it with the team before you turn anything on, and invite objections. Monitoring rules vary by country and region, so have legal or HR review the charter, especially if you employ people in the EU or UK.
Step 2: Choose the signals you will track from your existing tools
Map each dimension to something your tools already record:
- Workload: share of commits and merges made after hours or on weekends, measured across the team.
- Momentum: cycle time trend and the number of tickets stalled in a status beyond their usual duration.
- Collaboration: distribution of review load across people, and time a pull request waits for its first review.
- Progress and clarity: tickets reopened or repeatedly rescoped.
Treat all of these as proxy signals: indirect indicators that point toward a problem without proving one. A late-night commit may reflect a night-owl preference or a different time zone. A long cycle time may mean a hard problem, not a struggling team. That is why you look for sustained shifts from the team's own baseline rather than applying absolute thresholds like "no merges after 8 pm."
Leave out vanity signals. Lines of code and raw commit counts reward volume, invite gaming, and say almost nothing about how people are doing. The same goes for hours logged or "active time" metrics, which drift toward surveillance. For a fuller view of what to measure and what to skip, see our breakdown of developer wellness metrics.
The decision to make now is how many signals you need. Four to six is enough. Each extra signal adds noise and one more thing to explain, and a small set you actually discuss beats a long list nobody reads. A sensible starter set: after-hours merge share, cycle time trend, stalled tickets, review load concentration, time to first review, and reopen rate. Write down what each one is meant to indicate and what it cannot tell you, and add that to the charter.
Step 3: Connect your data sources and establish a baseline
Connect your Git host and issue tracker with read-only access, scoped to the repositories and projects the team actually works in. Before trusting any numbers, check how people are counted:
- Filter out bots such as dependency updaters and CI users, or they will inflate merge and review counts.
- Decide how contractors are treated, and make sure the charter covers them.
- Confirm that each person's accounts map to one identity, so activity is not split or double counted.
You can build this by hand with APIs and a spreadsheet, but that takes upkeep. As of October 2026, Progress ingests Linear and GitHub activity and computes momentum and morale reads automatically, so a team without a data person does not have to build the pipeline.
Then collect four to eight weeks of history before drawing any conclusions. The aim is to compare each team to itself, since a healthy pattern for one team can be a warning for another. Note known disruptions in that window, such as launches, holidays, and on-call rotations, so you do not mistake them for the normal state.
Troubleshooting: if people close tickets in bulk at the end of a sprint, or leave them in "In Progress" for weeks, cycle time and stalled-work signals will mislead you. Fix status conventions first. Agree on what each state means, when a ticket moves, and who moves it. A week of cleaner hygiene is worth more than a week of extra analysis. If cycle time is your main momentum signal, our guide to development cycle time tracking covers how to set it up cleanly.
Step 4: Add a short human check-in to ground the data
Workflow data shows what happened, not why. A drop in momentum could be a hard migration or a demoralized team, and only people can tell you which. A short check-in supplies that context.
Keep it to two or three questions, every two weeks:
- How sustainable was your workload this period? (a 1 to 5 scale)
- What is slowing you down? (free text, optional)
- Is there anything you want me to know or act on? (free text, optional)
Anonymity matters, but be honest about its limits. On a team under about eight people, free-text answers are easy to attribute, and a rare answer can identify its author. Tell people this directly, and let them choose whether to write something identifiable or raise it in a 1:1 instead.
The most common mistake is asking and never responding. That is the fastest route to survey fatigue. Commit to sharing a summary of the results and at least one action within a week of each round. If nothing can change, say so and explain why. For a deeper walkthrough of this part of the system, read how to track engineering team morale.
Then compare the check-in with your workflow signals. When both agree, you have a clear read. When they disagree, you have the most useful finding. Calm metrics paired with low sentiment often point to hidden stress: people absorbing pressure quietly, or work happening off the record. Raise the mismatch with the team rather than deciding which source is right.
Step 5: Set thresholds and alerts for early warning, not diagnosis
Define triggers relative to the baseline you built, not to universal numbers. Examples:
- Momentum slowing for two or more consecutive sprints.
- Review load concentrated on one or two people for several weeks.
- After-hours merge share rising above the team's normal range for several weeks running.
- Stalled tickets accumulating without being unblocked.
Require persistence before anything is flagged. A release week will spike after-hours work and compress review time, and that is a one-off, not a trend. A rule like "three weeks outside the normal range" filters most of that noise. If you know a crunch is coming, note it in advance so you can read the data with that in mind.
Route alerts to the engineering manager, not to a public channel. Phrase them as prompts to ask a question, such as "Review load has concentrated on two people for three weeks. What is going on with how reviews are assigned?" and never as conclusions about a person. A flag is a reason to have a conversation, not a finding. The same logic underpins real-time engineering team health monitoring.
Tip: pair delivery risk with wellness. Deployment risk is shaped by change pressure, meaning how much code is merging and churning in a short period. High change pressure combined with slowing momentum is a stronger warning than either alone, because it suggests a team pushing hard while output suffers. Progress surfaces both reads together as of October 2026, but you can approximate it by eye from merge volume and cycle time if you track them yourself.
Step 6: Turn signals into a regular review and concrete actions
Hold a 20-minute review every two weeks, or fold it into your retro or leadership sync. Keep the agenda fixed: what changed in the signals, what the check-in said, and one action with an owner.
Match the action to the cause rather than defaulting to a general "let's take care of ourselves" message:
- Review load concentrated: rotate reviewers or set a fair assignment rule.
- Too much in flight: cut or defer scope.
- Constant interruption: protect focus blocks and reduce meetings.
- Stalled tickets: clarify requirements or remove the blocker.
- Heavy on-call burden: add relief or adjust the rotation.
- Signals pointing at one person's situation: hold a direct, private 1:1, and ask rather than assume.
Consider this example flow. Stalled tickets are rising, after-hours merges have climbed for three weeks, and check-in comments mention shifting priorities. The right move is a scope conversation: what can be dropped or postponed so the team is not compensating with evenings. A pep talk would address none of those causes. Teams that hit this pattern often benefit from better engineering team capacity planning so scope matches what the team can sustain.
To prepare quickly, ask plain-language questions of your data. With the Progress MCP server and Claude integration (as of October 2026), you can ask things like "Which team's momentum dropped this month, and why?" and get an answer grounded in recent activity. Verify anything surprising against the underlying tickets and pull requests before you act on it.
Step 7: Close the loop and refine the system
For every action, check whether it worked. Did the flagged signal return toward baseline within two to four weeks? If not, the cause was probably misread, and the next review should revisit it rather than repeat the same fix.
Once a quarter, ask the team whether the tracking feels useful and fair, and whether the charter still matches what you do. Retire any signal that nobody has acted on in a quarter. It is clutter, and clutter erodes attention to the signals that matter. A periodic look at your wider engineering team health metrics can help you decide what to keep.
Watch for distortion. If people start hiding late work, batching commits to avoid timestamps, or skipping time-off logging, treat that as a trust problem. Tightening the metric makes it worse. Go back to the charter, ask what changed, and confirm the data is not being used in ways you promised it would not be.
Finally, remember the limits. Wellness tracking supports conversations and does not replace them, and it cannot assess anyone's health. If someone discloses a serious concern, or you see signs of real distress, move it to HR or appropriate professional resources, such as an employee assistance program, and keep it out of the team dashboard.
What to Check After the First Month
After four weeks, run three checks. Can everyone on the team say what is tracked and what it is not used for? Did each flagged trend lead to a specific action, even a small one? Did the check-in produce at least one visible change that people can point to?
Where the answer is no, fix that before adding anything new. Then prune or expand: drop signals that sparked no useful conversation, and add one only when a real question demands it. A lean system the team trusts will tell you more than a broad one they work around.
If you want the signals computed for you, including momentum, morale, stalled work, and deployment risk across GitHub and Linear, Learn more about our services.