A New Team Role - Validator
I've been speeding up the development cycle. My AI avatar (Agent-Sam) is getting tickets from the AI PO (Agent-Knowledge), writing tests and code and raising PRs. GitHub has automated code reviews, CodeQL, dependabot and style checking, but those things are no good stuck in GitHub.
So I built a new tool called Cotejar that will take all of the outputs created from a PR and return them to the AI agent, making another feedback loop automated and providing another massive speed increase. Agent-Sam will take notes from the automation tool, make fixes and commit to the feature branch again to restart the cycle.
All of these things are great, but there is something missing. We have SAST tools making sure that security problems are caught, AI code review looking more dispassionately at the code making sure that it still makes sense and some convoluted context or instructions haven't lead Agent-Sam to writing something inappropriate. We even build and deploy into the AWS dev environment before merging so we can capture any deployment problems as part of the review. But nothing is checking that the change actually addresses the meaning of the ticket, that the code written achieves the objective.
What is missing is the software architect view. The code that Agent-Sam has written might be very good quality, it might pass all of the unit and integration tests, but it might also have created a table in the database where one already exists or it might have missed the point of the ticket completely. Agent-Sam might not have noticed that the data it needs is already available, or that small tweaks might be all that is needed, so a new AI agent is in the team - Agent-Validator.
The validator has architecture documents and a view of the project in building blocks. It knows what components and services are already there and has specific instructions to look for duplicated services. It needs to summarize the change in the PR to itself, and then see if any part of that summary matches current features and raise a red flag if necessary. Agent-Sam wouldn't be able to do this, the validators context is the whole project but in summary not detail. The development AI wouldn't reliably have all of this and the detail of the changes, so I think that this is a new role in the team.
"Ah", you are saying to yourselves "but this can be done at the design stage", and it is. The tickets that Agent-Sam works on are much smaller than tickets a human developer would get. We don't work on tickets that take more than 1 hour!
Human teams are sizing on complexity as they should, but looking taking complexity that will take days to design and deliver. The AI needs something much finer, and that makes it easier to summarise and I'm hoping that Agent-Validator will be able to spot technical design issues very quickly, but I guess I'm about to find out.