I’m trying to make heads from tails in this “AI will eat the world” era.

You have the ones vibe-coding thousands of LOCs.
Do they believe their code will stand to scrutiny?
Quite likely they don’t care as much because they know existing “hand-woven” code is just as bad.
And in many cases/places “seems to work” + “superficial review” = shippit = get paid.

You have the news reciting impressive AI “wins” like Jaana Dogan told us a while back. Well yeah, you had spent a year doing all the time-consuming work to define what needs to be done, communicating, iterating. And all this took no time? It was an already well-defined epic that took coders 1 year to implement?
Are we starting to defaulting to Waterfall again? Without any lessons learnt?

That’s where I think we should be starting. Mapping how we work, what takes time, what we get wrong most often, then streamlining that. Business, product, users. All have input into what gets built and what gets changed. Optimize the process that creates the definitions of what needs to be implemented. I’d venture a guess that this would save one order of magnitude more time than automating software development.

Then comes the hyped part.
Let the overzealous “I have an army of agents” coders build the thing in a day. Would I want to support this built-in-a-day complexity that not even the “author” understands? Would I want to review these thousands of lines one by one? Then do it again for the next PR? Oh, definitely not.

How about we treat it like the black box that it is? Put it through the wringer and see what comes out. Make sure that whatever “shippable”/“supportable”/“good” software means to us is defined in the test suite.

If it passes the test suite ship it. When it fails, update the suite. (easy to write, much much harder to do) Repeat.