What does AI based software development mean?
- Dave Snyderman
- Dec 22, 2025
- 3 min read
Updated: Jan 3
Let's start with "traditional" software development—though that phrase is about as useful as "traditional soup making." Soup can be meat-based or vegetarian, thin broth or hearty stew, clear consommé or creamy bisque. Software development has just as much variation.
But soup, at its core, is a liquid with stuff in it. Usually some fat for richness and salt to bring out the flavors. Everything else is details.
Likewise, software development involves some planning—extensive documentation in regulated industries, barely a napkin sketch in startup mode. It involves actual coding—structured (waterfall) or iterative (agile). And it requires testing—rigorous and documented, or more seat-of-the-pants. The specifics vary wildly, but those core elements are always there.
So how does AI change things?
The Big Questions
When you're using AI tools to develop software, you need to figure out five things:
1. What mode do you want to work in? (AI owns the process vs. AI assists you)
2. What ground rules are you giving the AI? (How should it approach development?)
3. What do you want to build? (Your specification)
4. How will you verify it works? (Testing strategy)
5. What else are you asking the AI to do? (Documentation, deployment, etc.)
Mode: Owner vs. Assistant
This is a bigger decision than it sounds. You can have the AI agent handle the whole development process end-to-end, or you can have it act as an assistant while you drive.
Agentic mode (AI owns the process): This is how Claude is designed to work. You interact with it in a terminal, give it natural language commands, and it works with entire files and projects. You describe what you want; it figures out how to build it.
Assistant mode: Tools like GitHub Copilot work this way. They live inside your code editor (developers call it an IDE—Integrated Development Environment), completing lines of code as you type and responding to commands embedded in comments. Some assistants also have a chat interface that operates more like agentic mode.
My belief—and this will only become more true as these tools improve—is that agentic mode is more efficient for most development work, especially for code that resembles patterns the AI has seen before.
The exception is truly novel code. If you're implementing a cutting-edge algorithm from a research paper, or solving a problem that hasn't been solved before in publicly available code, you'll probably need more hands-on involvement. AI excels at recombining and adapting existing patterns. For genuinely unprecedented work, you bring the insight and the AI assists with the mechanics.
Ground Rules
I cover this in depth in a separate post ("How Do You Do AI-Based Software Development?"), but the short version: create a configuration file that tells the AI how you want it to work. For Claude, that's a CLAUDE.md file specifying your technology stack, development workflow, documentation requirements, and coding standards.
Specification: What Are You Building?
This is where you invest the most effort. You need to communicate clearly what you want the AI to create.
You can work iteratively—describe a feature, have the AI build it, refine, repeat. This is quick to start but often less efficient overall, and you're more likely to end up with gaps in functionality.
I prefer writing a comprehensive specification upfront:
- Non-functional requirements: Technology choices, performance expectations, authentication approach, deployment model
- Overview: The big picture of workflows and features
- Detailed steps: Broken down by feature, each with specific tests to verify the functionality
Working with Claude still requires iteration to converge on a working solution. After each development step, test to make sure things are actually working before moving on.
Testing: Does It Work?
Part of "making sure the software does what you want" is testing during development—that iterative cycle mentioned above. The other part is thorough testing at the end.
The AI can generate testing documentation. You should also have tests baked into your specification. Automate as much testing as possible; the AI can create those automated tests too.
What Else Can AI Do?
Beyond writing code, AI agents can produce:
- User documentation: How to use the software
- Testing documentation: Test cases for manual and automated testing
- Deployment documentation: How IT deploys, configures, and operates the software
- Developer documentation: Notes on the codebase for future maintenance
- Any other documentation your processes require
AI can also generate configuration files for your preferred code editor, so you can open the project and have all your IDE settings ready to go.
Another valuable capability: containerization. AI can create Docker configurations for easy deployment, both on-premises and in the cloud. Having your application containerized from day one makes deployment and scaling much simpler.
Finally, AI handles version control housekeeping. It can commit your code to Git with meaningful commit messages and push regularly to your repository. One less thing to think about.



Comments