AXENTED — Blog Article

How to Run an Engineering Team Health Check

Slug: /blog-posts/engineering-team-health-check

Meta description: Engineering team problems compound silently before they become visible. A structured health check framework covering velocity, debt, onboarding time, and satisfaction.

Target keywords: engineering team health check, software team assessment, engineering team performance, dev team audit

Engineering teams don't announce when they're struggling. The signals are indirect: delivery timelines slip by a few days, then a few weeks. Bug reports increase slightly. A few experienced engineers start spending more time on Slack than on code. By the time the problem is visible at the executive level, it's been compounding for months.

An engineering team health check is a structured way to make those signals visible before they become crises. This is the framework we've refined running assessments across engineering teams at early-stage and growth-stage companies.

Delivery Velocity

The most objective signal of team health is delivery velocity: how much work gets completed per sprint or per week, and whether that number is trending up, flat, or down. Raw velocity doesn't tell you much on its own — a team finishing fewer story points this month than last month might be taking on harder work, not struggling. What matters is the trend and the ratio of committed work to completed work.

A team that consistently completes 60–70% of what it commits to in sprint planning is not in crisis, but it has a predictability problem. Stakeholders can't rely on its estimates. A team that was completing 80% six months ago and is now completing 50% has a velocity problem worth diagnosing.

Technical Debt Ratio

Technical debt is normal. Every functioning codebase has it. The health indicator is not the presence of technical debt but whether the team is actively managing it or ignoring it. A simple proxy: what percentage of engineering capacity in the past three months went to maintenance, bug fixes, and debt reduction versus new features?

A healthy range is roughly 70% new work, 30% maintenance. Teams spending more than 50% of their time on maintenance are in a debt spiral: the debt is accumulating faster than they can service it, and the situation will worsen unless the ratio changes deliberately.

Onboarding Time

How long does it take a new engineer to make their first meaningful contribution? Onboarding time is an underused proxy for codebase health, documentation quality, and team knowledge transfer. A team where new engineers are productive within two weeks has good documentation, a clean codebase, and a culture of sharing context. A team where new engineers need six weeks to be useful has the opposite.

Measure this by asking the engineers who joined in the past six months: when did you feel like you understood the codebase well enough to work independently? The answers are usually honest and almost always diagnostic.

Incident Rate and Resolution Time

Production incidents are inevitable. What matters is the rate, the severity, and the response. A healthy team has a clear incident response process, resolves incidents within defined SLAs, and conducts post-mortems that produce actionable improvements. An unhealthy team has recurring incidents of the same type, long resolution times, and post-mortems that produce lengthy reports nobody implements.

Look at the last 90 days: how many incidents, what was the average time to resolution, and did any incident type recur more than once? If the same class of incident is happening repeatedly, the health check should focus on why the root cause isn't being addressed.

Team Satisfaction

Engineers who are unhappy with their work environment leave. The leading indicators are usually visible before anyone submits a resignation: decreased engagement in team meetings, less code review activity, more "it's fine" responses in 1:1s. A structured health check should include anonymous surveys that ask directly about satisfaction with the technical work, confidence in the technical direction, and whether engineers would recommend the team to a friend.

What to Do With the Results

A health check without action is just an audit. Once the signals are visible, prioritize the two or three factors with the largest gap between current state and healthy baseline. For most teams, that's usually delivery predictability (sprint completion rate) and technical debt ratio. These compound, and they compound faster than most teams expect.

Set a 90-day target for each metric with a named owner. Revisit the health check at 90 days to measure the delta.