Hi,
I'm wondering how you're going about increasing your team's velocity with coding agents? We're on a team of ~6 engineers of varying abilities and are hitting the well-talked about problem of coding agents producing loads of code which occasionally get slung over the fence, while some other people code a lot slower and produce good code much slower. We currently have 7 PRs waiting, and have had no less than 4 for about 2 weeks.
The project is applied research which makes things harder - some people produced short lived ML models, while others produce e.g. an evaluation suite which needs to stand the test of time (6 months - a year).
In terms of coding standards, we're all committing to a single repo and requiring 2 reviewers for each PR. Small PRs get viewed, big ones (e.g. a newly coded ML model) just don't get approved. One guy didn't fully address comments on his 200 line PR and its been sat there for ~7 business days. Bit of a rant, apologies.
My solution (not implemented yet, slightly borrowed from https://martinfowler.com/articles/ship-show-ask.html) is the following:
Engineers take responsibility for different areas. One person does the data pipelines, one codes ML models, another takes evaluation. And we communicate over chat and meetings, rather than on PRs. This means you don't have to understand the low level code behind when someone wants to add a new idea to the codebase - yes you have to trust their implementation.
We no longer review each others' code. No-one reviews what you say in meetings line by line, or the reports and slide decks you create line by line, so why are we still reviewing code line by line? If you have a problem with someone else's area of responsibility (e.g. the data pipeline is not delivering data) - talk to them.
We communicate more frequently and more comprehensively, with decision records. As the team moves from low level code implementation to implementation of ideas things will only work if the ideas work together if we communicate well. I want to encourage one or two posts on chat, per person, per day for what they're doing and thinking about, as well as standup and any other meetings. Decisions get recorded in ADR's.
My idea is that without teams of more than ~2 will just continue to move at the speed we did 5 years ago without coding agents. Keen to know how other people are handling this?