Your engineering team isn't shipping as fast as you'd like. Deadlines slip. Features take longer than estimated. The backlog grows faster than you can clear it.
The instinct is to look at the people. Are they working hard enough? Do we need more engineers? Should we add more process to track what everyone's doing?
Here's the uncomfortable truth: if your team feels slow, the problem is almost certainly not effort. It's the system they're working within.
The Math Doesn't Support "Lazy"
According to Atlassian's 2025 State of Developer Experience report, developers spend only 16% of their time actually writing code. Let that sink in. For every eight-hour day, roughly 75 minutes goes to the thing you hired engineers to do.
Where does the rest go? Meetings. Context switching. Waiting on reviews. Fighting with tooling. Chasing down requirements. Debugging CI pipelines. Responding to Slack.
When engineering leaders tell me their team feels slow, I ask them: slow at what? Because if your engineers are spending less than two hours a day coding, adding pressure won't help. Neither will hiring more people to spend 16% of their time coding.
The bottleneck isn't effort. It's everything surrounding the effort.
Why Getting This Wrong Matters
Misdiagnosing the problem leads to solutions that make things worse.
If you assume the issue is effort, you add tracking. More standups. Status reports. Tighter deadlines. This creates overhead that further erodes the small window engineers have for actual work.
If you assume you need more people, you hire. But new engineers need onboarding, mentorship, and ramp time. They add communication overhead. And they inherit the same systemic problems. You've now got more people fighting the same broken system.
Here's a stat that should concern every engineering leader: 63% of developers now say their leaders don't understand their pain points, up sharply from 44% just a year ago. The gap between what engineers experience and what leaders perceive is widening.
When teams feel slow and leaders respond with pressure instead of curiosity, that gap grows. And it becomes a retention problem on top of a velocity problem.
The Real Culprits
So if it's not lazy people, what is it? In my experience working with engineering teams at various stages, from two-person founding teams to post-IPO organizations, the same patterns emerge repeatedly.
Context Switching
This is the silent killer. Studies show people lose up to 40% of their productivity when frequently switching between tasks. It takes 15-25 minutes to fully regain focus after a single interruption.
The average knowledge worker gets interrupted 31.6 times per day. For engineers doing complex problem-solving, each interruption isn't just lost time. It's lost mental state. The elaborate context they've built up in their head evaporates, and they have to rebuild it.
Think about what this means in practice. An engineer starts working on a feature at 9 AM. At 9:20, there's a Slack message about a production issue. At 9:45, there's a standup. At 10:15, someone needs a quick code review. At 10:45, there's a question about the other project they're also assigned to.
By lunch, they've had maybe 30 minutes of uninterrupted focus time. And you're wondering why the feature is taking so long.
Meeting Overload
The average developer attends 8 meetings per week. That number climbs as engineers become more senior, which is ironic because those are exactly the people whose deep technical work is most valuable.
Meetings aren't inherently bad. But meetings scattered throughout the day are devastating. A 30-minute meeting at 10 AM and another at 2 PM doesn't cost you an hour. It costs you the entire morning and afternoon as usable focus blocks.
Engineers don't mind meetings that matter. They mind meetings where everyone reads status updates that could have been a Slack message. They mind meetings where decisions don't get made. They mind meetings they're invited to "just in case."
Unclear Priorities
When everything is a priority, nothing is. Teams with oversized backlogs and constantly shifting priorities force engineers to multitask across multiple workstreams.
This creates the worst kind of context switching: not just between tasks within a project, but between entirely different problem domains. An engineer working on the payment system in the morning and the notification service in the afternoon isn't twice as productive. They're half as productive on each.
The fix isn't better task management software. It's the discipline to say "not now" to most things so your team can say "yes" to a few things that matter.
Friction and Technical Debt
When survey respondents list their biggest productivity blockers, technical debt and build processes consistently rank near the top.
A test suite that takes 45 minutes to run isn't just slow. It changes behavior. Engineers batch up changes instead of iterating quickly. They skip running tests locally. They context-switch to other work while waiting.
Poor documentation means engineers spend hours tracking down tribal knowledge instead of building. Flaky deployments mean they babysit pipelines instead of moving to the next feature. Outdated dependencies mean they fight environment issues instead of solving business problems.
These aren't glamorous problems, but they compound. Every minute of friction, multiplied by every engineer, every day, adds up to a team that feels perpetually stuck.
What Actually Helps
The good news is that systemic problems have systemic solutions. None of this requires working harder. It requires working differently.
Protect focus time. Institute no-meeting mornings or dedicated focus days. Make it explicit and defend it. Some teams I've worked with block Tuesdays and Thursdays as "maker days" where meetings are prohibited except for genuine emergencies. This aligns with lean engineering principles of eliminating waste.
Reduce work in progress. Fewer things in flight means less context switching and faster completion. A team finishing three things this week beats a team making partial progress on ten things. The math behind why WIP limits work is surprisingly compelling.
Invest in developer experience. Speed up the build. Fix the flaky tests. Update the documentation. Automate the repetitive stuff. These investments have compounding returns. A few hours saved per engineer per week adds up to weeks of capacity per year.
Ask your engineers. They know exactly what's slowing them down. The 63% who say leaders don't understand their pain points? They'd tell you if you asked. Run a simple survey. Do skip-levels. Create channels for feedback that doesn't require a formal meeting. Well-run retrospectives are one way to surface these issues systematically.
The teams I've seen transform their velocity didn't do it by working harder. They did it by ruthlessly eliminating the things that prevent hard work from translating into results.
Your engineers almost certainly aren't lazy. They're probably frustrated, stuck in a system that wastes their time and then blames them for the outcome. Fix the system, and you might be surprised how fast a "slow" team can move.
Frequently Asked Questions
Want help fixing the system that's slowing your team down?
Let's Talk →