The Agile Manifesto was right in 2001.

Comprehensive documentation was slow and expensive, and the manifesto chose speed and people over paperwork. That was the correct call for the moment. I have always believed the actual tradeoff was never about the cost of writing things down. The challenge was always getting people onto the same page, and giving them artefacts that could support their own reasoning afterwards. Cheap documentation does not solve that. It just makes the artefact cheaper. It says nothing about whether the people producing it, or reading it later, actually understand the same thing.

One of the manifesto's twelve principles states: "The most efficient and effective method of conveying information to and within a development team is face-to-face conversation." Alistair Cockburn, one of the manifesto's seventeen signatories, describes software development as a cooperative, communication-centred activity, carried mostly through tacit understanding that a document was never going to fully capture. That principle was protecting that channel, the ambient, informal way a team absorbs shared context by working near each other, not the cost of paperwork.

That collective-understanding problem has not eased. I think it has become much, much harder. More of the work now happens without the room: asynchronous, distributed, mediated by an assistant that can produce a precise specification in minutes. Specification-driven development treats that precision as the answer: make the upfront spec detailed enough, and the certainty follows from it. I do not think that is right, and it is not what solved this before either. A specification, however comprehensive, is still just an artefact. Precision on the page is not the same as being understood by the people who have to live with what it produces, and the more common failure is even more basic: nobody can find it, and nobody keeps it current.

That is closer to why verification has become the real difficulty. When a team built shared understanding by working near each other, a person reviewing new code could draw on everything they already, tacitly, knew about the system to judge whether it was right. That backdrop is thinner now. You can generate working software faster than anyone can verify it is actually correct, and I think part of why is that the channel which used to make correctness legible to a team is doing less of that work than it used to.

Is the Agile Manifesto still right today?