

Previously on the Software Architecture Blog… The 5 Commandments of Vibe Coding.
Now, for the 10 Commandments of Agentic Coding (with a few bonuses)
Even in the last few days, I've seen more and more people, once firmly in the 'just say no to AI for coding' camp, marvel at recent capabilities. But there's still lots of frustration, failed projects, and general anxiety out there.
Much of this can be attributed to skill issues. This technology is so new that there hasn't been enough time to figure out and communicate best practices. By diving in to many different projects, across a wide swath of domains, I've been able to piece together some guidelines.
It's easy to lose sight of what this is all really about. (For the time being, at least!) we are writing software for people.
Avoid Fooling Yourself (and you are the easiest person to fool). Richard Feynman had the right idea about this. Be careful to make sure that what you think the agent is doing, has correspondence in the real world.
Value Human Connection Over Perfection/Productivity. It's easy to get caught in a bubble, but make sure that, whatever you're working on, that you check in with other people -- stakeholders, peers, friends, whatever.
Humans learn from mistakes. Agents learn from "no"s. It's the easiest thing in the world to unthinkingly accept agent suggestions, or even let them run autonomously. But especially in the early stages of a project, saying 'no' is a key event that shapes the agent's approach and understanding of what you're trying to achieve.
Good taste makes the biggest difference. When things are difficult to build, there's a kind of natural filter blocking bad ideas. But when things are easy to build, good taste becomes the difference between success and failure.
Agents take on the drudge-work. What's left elevates the level of responsibility heaped upon the operator.
Understand the 'Why?' But Cultivate the 'How Else?'. You almost can't ask "why are we doing this" too often -- but you also need to stop and consider alternatives, which are cheaper than ever to explore.
Take Responsibility When It Breaks. If you re doing something that hasn't been done before, you risk hitting a wall where AI can't make forward progress. If this happens to you, then all eyes are on you to find a way out.
Fences Make Good Agents. This is longstanding software architecture principle, but even more important now. To prevent a huge mess, keep individual agents areas of responsibility bounded, with crisp contracts policing information and event flow across boundaries.
Own the Architecture. Seemingly small decisions up front can have huge ramifications down the line. Take time to get things right. Good taste and experience are almost priceless here.
Software agents are no replacement for the need for deep thinking. In fact, they amplify the need for it.
Maintain Broad Context. Human-only software development is messy, and lots of context gets papered over via seemingly endless meetings. What if those meetings weren't available? Are you able to communicate all the many contextual hints that actually serve as inputs to the process?
Make the Hard Decisions. Many things are good for outsourcing to agents. But draw the line at the hard decisions -- these tend to be what makes a project special. Own them, and make sure you have a way of enforcing them.
Curate Rich Abstractions and Strong Concepts. Agents are trained on mediocre code and don't naturally develop many strong concepts, or anything more than run-of-the-mill abstractions. A hallmark of good software is a well-defined set of concepts that, once established in the code, agents will happily follow the pattern set down.
Always Look With Fresh Eyes…and Be Willing to Throw Stuff Away. Ideas are cheap because the supply exceeds the demand. It's often the case that the first thought (whether a human thought or an Agent suggestion) isn't the best. And agents in particular like to create hybrid combinations of two mediocre ideas. If an initial direction seems off, discard or defer it in favor of something better.
Follow these general guidelines and you've have far better success with agentic coding than anyone feeling their way through the dark.
For more free insights, get the Architect+ Digest.

"I put my name on everything I do"