At a glance
A 4-person team's output dropped 40% mid-sprint, with 15 days left against roughly 25 days of remaining work.
- Reviewed the sprint and sat with each developer individually rather than raising it as a group
- Worked through simpler approaches to the problems each of them was stuck on
- Spent the intervening weekend working out solutions in advance, including a change to the architecture plan
Velocity recovered in about four days, and the sprint delivered on its original date.
The situation
A 4-person team's output dropped 40% mid-sprint. Fifteen days remained against roughly twenty-five days of work still on the board; the math did not close on its own. This was Exprovia's own engineering team, not a client's.
How it surfaced
The number alone did not say what was wrong, only that something was. A 40% drop across a team of four is not noise: it is either a shared blocker or a shared habit, and the way to tell the two apart is to ask each person separately rather than the group at once.
What I ruled out, and why
The cross-team piece was real and I ruled it in rather than out: the backend team had gotten confused about the API rate limits, and the frontend side was making far more calls than it needed to, which slowed every response down. That cost real time, but it did not explain the whole 40%. Sitting with each developer individually surfaced the rest: the less experienced developers on the team were taking complicated paths through problems on the critical parts of the codebase, where a simpler approach existed and they had not seen it yet.
The decision and what it cost
I chose to spend the scarcest resource in the room (my own time, over the weekend in the middle of the sprint) working out simpler approaches to each developer's specific problem in advance, including a change to the architecture plan, rather than waiting for Monday and losing another day to the same pattern. That cost me the weekend. It bought back days the sprint did not have.
What I did
I reviewed the sprint board and went to each developer one at a time instead of running it as a group discussion, because the problem was different for each of them and a group conversation would have surfaced the loudest one, not all four. For the cross-team piece, I got the backend team's rate-limit handling corrected so the frontend stopped paying for calls it did not need. For the architecture and approach problems, I worked through simpler paths with each developer over the following days, including the weekend.
The outcome
Velocity recovered in about four days, and the sprint delivered on its original date. The recovery held because the fix was not "work harder": it was replacing complicated approaches with simpler ones the developers could actually move through at speed.
What stayed changed
A velocity drop on a small team is rarely one cause. Here it was two: a cross-team mistake adding real overhead, and less experienced developers taking the hard path through problems that had easy ones. Sitting with each person individually is what surfaced both: a team-wide conversation would have found the first and missed the second.
Related incidents
A Launch Delayed an Hour by an Undisclosed Implementation Choice
Ahead of a SaaS launch for an international client, I asked a developer to build one API route pulling the admin dashboard's data from multiple tables at once. He built several separate calls on the same page instead, and didn't tell me. I fixed the query layer myself with indexing and a rewritten query, and told the client the launch would be about an hour late, rather than let a slow admin page surface on its own.
- SQL Indexing
- Query Rewrite
- Undisclosed Change
Scaling Engineering Teams: Taking the Exprovia Engineering Team from 7 to 20
I built onboarding first, then the mentoring structure it fed into, taking the Exprovia engineering team from 7 to 20 by spending senior engineers' shipping time on context transfer to buy capacity that compounds.
- Onboarding Sequence
- Mentoring Structure
- Team Scaling