When I started Sherwood I designed the whole thing up front — including the front-end, before I’d built any of the backend. It felt productive. I expected that the agent would just be able to code until it was done, but by the time we got to the front-end, the backend had already drifted from the plan, and I had a pile of drift to reconcile that I should have caught earlier. You hear a lot of the term ‘Human in the Loop’ posed as a solution for this problem, and it’s true that it helps, but this also slows development, and I don’t want to be a bottleneck. So today I learned that designing too far ahead is its own kind of drift. A human in the loop catches it, but agents write faster than one person can review, so keeping pace will eventually have to be automated.
Post-note: the industry is starting to call a version of this spec-driven development — write the spec, let the agent build to it. Whether today’s agents can actually keep drift in check without that human in the loop is still an open question.