Old Workflow
The workflow used to be:
- Create an issue
- Develop the requirements
- Follow through with the development
- Consider any tests (unit, integrated)
- Create the PR subsequently
- Review the scope of change
- Merge the change
New Agentic Workflow
Now the new agentic workflow is that I will use AI in pretty much every stage of the development process. It starts off with the first part of developing the issue, and in the issue I will take a look and talk to the AI model, develop requirements, whereas in the old process I would just brief it with one or two points. Now I can get a full summary and suggestive ideas on how to better structure it with better system design.
Then the next step is to implement the feature. Even in that, it is just creating a branch and then again the agentic AI to implement the changes and ensure that it sticks to the scope and that the agent doesn't go over ambitious or underdeliver on the change I want. I am picky about the tidyness of the code and where things go. Scaling well comes from the little steps. This is where the seniority shines. If I'm still a beginner, I try to figure it out on my own to understand the context and decisions made.
For best practise, I make sure to create unit tests and review this manually depending on my competency with the language. The purpose is regression and ensuring the scenarios tested cover the system and how I want it to operate.
The next step is the pull request. After it's creation, I use another generative AI model to review the pull request to see if there are any syntax or semantic issues with it. Considering the overarching design of this new change introduced to the system.
Reflection
This new workflow is great as the starting point. Though it can become too much of a pillar to depend on. It does make me question, how does my skills grow with time? How does my skill not regress but grow when I'm not in the loop, in the weeds of the issues faced?