Building an Agentic Development Workflow That Ships
The pitch for agentic development is always the same: point a capable model at a backlog and watch code appear. The reality is messier, and the gap between the two is where most attempts stall out. What worked for us was refusing to let the agent start from ambiguity.
We adopted OpenSpec so that every change begins as an explicit, reviewable specification — intent, acceptance criteria, and scope boundaries the agent can’t quietly redefine. It sounds like overhead until you watch how much rework it eliminates. A spec is a contract both the agent and the human reviewer can point to when something drifts.
The second unlock was giving agents first-class access to the tools the team already lived in, through MCP: Linear for status, Notion for docs, Slack for approvals, GitHub for review, Google Cloud for triage. An agent that has to ask a human to paste in context is an agent that will always be slower than the team it’s meant to accelerate.
None of this works without guardrails — specification review gates, automated test coverage requirements, and human approval checkpoints before anything merges. The goal was never to remove judgment from the loop. It was to spend that judgment on the decisions that actually need it, and let the agent handle everything downstream of a good spec.