What are the keys to successful AI based Software Development?
- Dave Snyderman
- Dec 22, 2025
- 2 min read
Clearly specifying requirements and detailed testing.
That's really all you need to do.
Want more?
Write your specification with an eye towards what needs to be in the software. How you want it to run. What's the look-and-feel. The more specific you are, the more likely you are to get a final package that meets your needs.
AI agents are like the Genies in fairy tales. In theory, at least, you always get what you asked for. But not necessarily, what you wanted-- unless you're very careful and detailed with your specification.
Make sure, especially, that workflow steps are spelled out. You'll want to make it clear to the AI what your user interface should look like. If you want a button instead of a link, say it. Likewise, dropdowns or checkboxes need to be clearly described.
While I'm a fan of using the own-the-process AI, if you're creating data analysis code, you'll probably want to be more hands on and use an IDE contained AI.
Make sure that everything you want the software to do is documented and if you have a specific way you'd like the software workflow to function, make sure that's documented as well.
The next component is that you need to make sure the AI creates what you asked.
Have the AI create as many automated tests as possible. Also, have the AI run the tests as part of the development process-- there is no other way for it to get close to a working project.
The goal is to have the agent run the tests at each point in the development. First, run the new tests specific to this development. Then, run the entire test set. Keep doing that until everything works.
The reality isn't as simple. Claude claims it's running the test and everything's working but I often find that's not the case. So there's a clear role for the developer to hold Claude accountable.
There are discussions of how to use two different AI agents in a kind of checking on each other mode. So, have Claude create the code and Cursor or some other agent run the tests. Presumably, that keeps Claude from claiming the tests are working when they aren't.
Even if the automated tests work, they can't possibly cover all the pieces of all the workflows. So there's always a role for end-to-end testing by developers and testers and users. That's the only way to do full integration testing and make sure that the worklfows are fully functional.



Comments