Today's hot take in AI assisted agile development...Claude Desktop and MCP
After running a bunch of experiments over the past few days, I think I’ve reached an MVP AI assisted agile development flow using Claude Desktop with Model Context Protocol enabled (see my config here), an editor with AI assisted autocomplete (currently Windsurf) and a Warp terminal. It balances speed of development with human in the loop feedback to provide quality checks along the way.
Workflow:
Create a Claude project and set the responses to “concise”.
Set the project instructions to my ever evolving prompt that outlines the way I want to work.
Start a new chat.
Sometimes I start with telling the model what I want to implement and sometimes I start by writing a skeleton of the code I want to write, typically in the form of type signatures and/or test stubs with comments, and ask the model to start with that.
Regardless of the first step, I iterate back and forth with the model. This can either be with instructions in Claude Desktop with the changes I want to see or the output from running a command in the terminal because I’ve made some code changes.
I use WIP git commits along the way when the tests/command go green to easily save my work. This forces me to take a break and evaluate if I’m still making progress towards my goal.
When I get the “chat might be too long” message at the bottom, I take a break and evaluate if I’m going down a rabbit hole or if I’m still making progress.
The biggest limitation right now is that Claude Desktop has no way of running commands at the terminal. I have to run the commands and then copy/paste the results back into the Claude Desktop app. I’m hoping to solve this limitation soon via MCP server to run commands in an isolated environment against the codebase.
Takeaways:
I believe my 20+ years of experience allow me to propose solutions and ask questions that help the model get closer to what is in my head more quickly.
I am not sure how this translates to someone with less experience. If you are interested in trying it out to see if it useful for you, I’m happy to take the feedback via a GitHub issue.
Working in small steps/features works much better that “generate me a bunch of code that implements this feature”.
Since I don’t have another human to help me with the discipline, it requires me to be a bit more aware about going down a rabbit hole.
Next experiment: Since Cursor allows me to give the chat model context via a global configuration, I want to see if I can reduce the windows I have open from 3 to 2 by using the Cursor chat instead of the Claude Desktop. I’m still not a fan of terminals in my IDE but that’s a personal preference.
Stay tuned for the results of that experiment in the next few days…