8 Comments
User's avatar
Jeremy's avatar

Hi Kent I really must get down to reading your book "Extreme Programming Explained" it's been on my shelves for years. As a "Solo" myself and retired to boot. I take a slightly different approach. I don't have anyone to talk to so I use my AI Agent as a pair programmer. After my ignorant start I have found it works well for me if I discuss things with "Badger" he got that name because in my early days I found that he could root through the code and catch bugs. Pretty damn good he is at that. But, let him do things uncontrolled he sneaks off and starts smoking pot. Then the hallucinations begin... But more than anything for me is that using an AI Agent as a pair programmer allows me the opportunity to think about what we are working on then we can kick these ideas around to see how they may or may not help the project. Plus he knows a lot more about coding than I ever will. It's the very reverse of producing code as quickly as possible. I think real coding is like the slow food movement, it's more satisfying and in the end more productive to slow things down and think about things. That's what I think coding is about, getting things right in time, not wrong rapidly. That's where this AI mania is going wrong releasing dozens of unmanageable agent just running up bills. Madness! Humans need to take back control as soon as possible. Any way Kent "Keep on truckin'". I really do enjoy your mailings, they are thoughtful and reflective.

Javier Bonnemaison's avatar

So let's assume that reasonable people agree that development speed increases should not come at the expense of trust (does the stuff work and is it safe?); what exactly is the value of using LLMs for augmented coding then? Not a rhetorical question, I am interested in what you think. What kinds of things you really couldn't do before without them, or you do much better with them now?

Kent Beck's avatar

Let's assume that trust was accumulating faster than code in healthy teams in the Before Times. Now we can develop faster, assuming we keep both cart wheels turning at the same pace.

The other thing that's clear is that experiments are cheaper now, vastly cheaper, so we can afford many more of them on the same budget.

Markus Eisele's avatar

I think that development speed almost exclusively focuses on code these days. That won’t help work software delivery. New practices have to be adopted across the lifecycle. And we’re not even looking at a lot of those outside of code most of the time yet.

Rohan Jaiswal's avatar

Your observation that trust evaporates in an instant terrifies those of us building AI.

We document this asymmetry at projecktai.substack.com because generative models shatter the binary structure of classic programmer testing.

What specific rituals will replace continuous integration for non-deterministic systems?

Anil Savani's avatar

May be this is what I have been waiting for since long time, had always been thinking where is XP in this time and how does it overall connects with everything we are experiencing now. And this tells its not so different even with augmented code. Exciting to learn more how XP principles will evolve.

ramsp's avatar
2dEdited

Excellent article! What do you think about workflows like spec-driven design, do you think it’s a way to build trust when using LLMs?

Luca Valentino's avatar

I keep saying that "Vibe Coding" should be renamed to "Fast Coding." It’s the software equivalent of fast food, which mostly yields junk food. Similarly, fast coding usually results in junk code. To avoid severe consequences to our health and our trust, we need slow food and slow code instead.

​There is a famous saying from Naples: "The hurried cat gave birth to blind kittens."