I have been using AI to help with coding for about a year now. I started small: adding documentation to existing code, converting formats, then experimenting with simple programs. Baby steps. Now I am confident using Claude Code to develop significant pieces of work, and along the way I have settled on a five-step procedure that gives consistently good results.
Step 1 – Project outline
I write a description of the objectives and the functions to be developed, setting it out in as much detail as I can. In the old days we called this a functional specification. This is less formal, but the purpose is the same.
Step 2 – Detailed specification
I feed the outline into Claude Code and ask it to comment, identify the tasks, and list the requirements for each task. I use Claude Code rather than ordinary chat because it can see three things that matter:
- CLAUDE.md, a file you set up with standing instructions on your development methods
- the database schema (I use JSON Schema)
- the existing code base
Claude asks questions, I make points and suggestions, and we go back and forth until the details are nailed down. This takes time. Sometimes I have to sleep on an issue and come back to it the next day. It is a genuinely cooperative process.
The result is a very detailed specification listing every task and the requirements for each.
Step 3 – Coding
This is the quick and easy bit. I simply say “do task 1”, then “do task 2”, and so on, with a smoke test after each task to check the result is as expected.
It can also be worth asking a different AI to look over the code and comment on its structure and technique, without showing it the specification. A fresh pair of eyes, even artificial ones, often picks up something.
Step 4 – Testing
I ask Claude Code to update the test plan to cover the new functions. The plan has two parts:
- a regression test, to confirm we haven’t broken anything outside the functions we changed or added
- a more detailed test of the new or changed functions
I prefer to do the testing manually. It gives me a chance to review the whole system and spot things that aren’t quite right. Somehow, looking with a fresh eye, we always find something.
Step 5 – Release note
Throughout development, Claude Code has been committing each change to GitHub with a comment against every commit. At the end, it summarises these into a release note.
I have seen this before!
Yes. This is the process we have followed since the beginning of IT. Nothing new here, just AI wheeled in to help at each step. But the results so far are impressive: weeks or months of work reduced to days, with high-quality code and documentation.
What about incremental development and prototyping?
Different jobs need different techniques. If the user is vague about the requirements, a prototype can work wonders at the specification stage, and AI is very good at producing one quickly.
The same goes for incremental development: just apply the five-step process to each increment.
Leave a Reply