9 min read

The toolchain is the easy part of this shift

Rolling out Claude Code or Codex takes an afternoon. The quality assurance and measurement that turn that into a reliable practice take an approach.

Agentic engineering is delegated development

Agentic engineering means AI agents, under human direction, independently write, test and revise substantial parts of the code, not editor autocomplete, and not uncontrolled "vibe coding" without review. The difference from simple AI assistance lies in the scope of delegation: an agent gets a task, not a single line.

That larger scope is exactly what makes the rollout more demanding than buying a license. A team that hands agents tasks instead of lines has to recalibrate specification, review and quality assurance. Otherwise the problem just moves from writing bugs to shipping them unnoticed.

The term is deliberately narrower than "AI in software development" in general. A team that occasionally accepts an assistant's suggestions is not yet doing agentic engineering. The transition begins where an agent independently pursues a multi-step plan (creating files, writing tests, changing code, checking the result), and a human judges the outcome, not every single step.

The starting point depends on the codebase

A greenfield project can build agentic engineering in from day one: architecture, test coverage and documentation grow alongside the code. An existing engineering team runs into grown systems, unevenly distributed knowledge and a codebase that was never documented for collaboration with an agent. Both need an approach, but a different one.

In an existing team, the first step is rarely the toolchain. It's the question of which part of the codebase is actually understood and tested well enough to let an agent work on it safely. Modules with thin test coverage or unclear ownership are the wrong starting point: there, an agent masks existing problems instead of exposing them.

The toolchain decision

The choice between Claude Code, Codex, Cursor or another tool matters less than most teams assume. Three properties matter more: one consistent tool across the whole team, so reviewers know what they're looking at; integration into the existing CI/CD pipeline instead of a parallel process; and the ability to scope permissions: which systems, repositories and actions an agent can actually reach.

One often-overlooked point: every action an agent takes (commit, pull request, comment) should be clearly attributed to an agent run in the repository, not disappear under the name of the developer who kicked it off. Without that attribution, any later analysis of quality or incidents becomes reconstruction work.

Switching toolchains mid-project costs more than it usually delivers, because prompts, conventions and established review practice don't carry over automatically. The pragmatic order is therefore: trial a tool, evaluate it against a clear set of criteria, then commit to it for the length of a project or quarter, instead of switching toolchains with every new model release.

Specification before execution decides quality

The discipline that makes the biggest difference is simple and still routinely skipped: a written requirement before delegating to an agent, not a chat prompt off the cuff. A ticket with clear acceptance criteria reproducibly produces better results than an informal instruction, regardless of model.

The review process has to adapt to AI-generated diffs. A reviewer checks whether the code works, whether the solution fits the target architecture, and whether the agent took a shortcut that isn't obvious at first glance: duplicating logic instead of reusing it, or quietly dropping error handling. Automated gates (tests, linting, security checks) run before every merge regardless of who wrote the code. An agent that writes its own tests deserves an extra check here: do the tests really verify the behavior, or do they just mirror the code the agent itself wrote?

Speed without guardrails is not progress

Teams that let agents run unreviewed, optimizing purely for velocity metrics, build up invisible complexity and duplicate logic. "The agent built it fast" is not the same as "the agent built it right." The most common anti-pattern is measuring output alone (lines of code, number of merged pull requests) without distinguishing exploratory prototype code from production code.

A second anti-pattern is just as widespread: agents run without a human checking architecture decisions, because the team assumes speed gains are free. They aren't. They just shift where the cost lands, usually later, as rework in places nobody understands well anymore.

Cycle time, error rate, and review throughput count

What's meaningful is cycle time from requirement to production, the error and rollback rate after release, reviewer throughput (is the bottleneck shifting from writing to checking?), and the share of code that passes review unchanged. The last one is a direct indicator of specification quality, not just of the agent's capability.

These metrics only mean anything against a baseline recorded before the rollout. A team that only starts measuring after the switch can never prove what actually changed, not for its own steering, and certainly not for an investment committee.

Reviewers become the bottleneck

The more code agents write, the scarcer review capacity gets, not writing capacity. That changes where a team needs to invest: targeted training in review skills, better diff-analysis tooling, and in some cases a second agent that pre-checks a first draft before a human decides. The human remains, in every case, the point where accountability lands. The only question is how efficiently they can carry that accountability.

A senior engineer who used to spend most of their time writing code themselves spends, in a mature agentic team, a growing share of their time on review and architecture decisions. That's not a demotion of the role, it's a shift, one that teams underestimate if they still plan capacity based on the old split between writing and checking.

Roles shift from writing to deciding

The biggest source of resistance is rarely the technology itself, but the unspoken worry that one's own role becomes redundant. That worry doesn't disappear through announcements. It fades when the team sees how its own work shifts: less repetitive writing, more decisions about architecture, prioritization and quality. Whoever names that shift openly, instead of staying silent about it, earns participation rather than resistance.

Just as important is making clear early on whose accountability doesn't change through the rollout: whoever owns a product end to end stays the owner. Uncertainty mostly arises where this question stays open, not where it's answered clearly.

The rollout runs in pilot stages

The reliable path is staged: a pilot with one team and a clearly bounded workflow, quality thresholds fixed before scaling, a measured baseline before and after the rollout, and structured enablement of the rest of the organization once the pilot shows solid results. Skip that sequence and a promising toolchain quickly becomes just another tool that fizzles out in daily work.

Enabling the rest of the organization is not a one-off workshop. A team learns the new guardrails fastest on real tasks, with experienced colleagues from the pilot team as multipliers, not on synthetic exercises that have little to do with the actual codebase.

Fast wrong code is not progress, it's fast tech debt.

Guardrails that should be in place before rollout

  • Specification before delegation

    Every task handed to an agent starts with a written requirement, not a chat prompt.

  • Automated gates

    Tests, linting and security checks run before every merge, regardless of who wrote the code.

  • Reviewers with architecture accountability

    A human checks whether it works and whether the solution fits the target architecture.

  • Permission scoping

    Agents get access only to the systems and actions the task actually requires.

  • Measurement from day one

    Cycle time, error rate and review throughput are captured as a baseline before rollout.

Initial call: 30 minutes, concrete.

We introduce agentic engineering into existing teams: toolchain, guardrails and measurement, not just the license.