Enhancing Team Collaboration for Better Outcomes
“The addition of roles different from just the Engineer consistently improves both revisions and executability.”
Something we’ve learned in the human sphere. Better results occur when individuals in the team collaborate as equals but own accountability for different aspects of the outcome. The experts (mentor and believable authority) not specialists (only one doing this work) way.
Beyond the traditional roles described in the paper, I’d consider privacy, compliance, human safety, responsible/sustainable use of resources, business domain expertise (RAG based on internal knowledge).
I’d suggest an updated set of engineering perspectives: advocate for quality test coverage, advocate for adoption of software design patterns, advocate for “you arent going to need it”, “advocate for maintaining any patterns existing in the existing code”. There’s the design perspectives usability, accessibility, branding, simplicity.
Product perspectives require some nuance as well to consider the best solution for the end user, direct, and extended stakeholders, business targets and other milestones, etc.
Have them debate and arrive at a solution, escalating to the human when there is a well balanced set of concerns in a decision. This produces a discussion transcript that can help the human evaluate not just what was generated but why so they iteratively improve the outputs and the agents instructions.