Software development just changed, and most teams are still acting like it did not.

Reading Time: 6 minutes

Tools like OpenCode, Claude Code, and Codex are not just better autocomplete. They are coordination engines. If you use them like a single assistant, you will get incremental gains. If you use them as parallel, specialized agents with structure and discipline, you get a step change.

I have seen it firsthand.

Stop Thinking in Terms of One AI

Most developers still treat these tools like a smarter IDE plugin. One prompt in, one answer out.

That is the wrong mental model.

The real power comes from running many agents in parallel, each with a defined role, each accountable to shared artifacts, and each checking the others. When you do that, you stop coding line by line. You start orchestrating a system.

Think like this:

  • One agent acts as product manager, refining the PRD.
  • One agent owns architecture.
  • One agent focuses on backend implementation.
  • One agent handles frontend flows.
  • One agent writes tests.
  • One agent reviews everything critically.
  • One agent refactors aggressively.

You are no longer “writing code.” You are managing a high velocity engineering organization that happens to run inside your terminal.

TODO.md Is the Coordination Layer

Without structure, multi agent setups collapse into chaos. Context drifts. Assumptions diverge. Quality degrades.

The simplest and most powerful control mechanism I have found is a living TODO.md.

Not a vague checklist. A precise, prioritized execution plan:

  • Clear features with acceptance criteria.
  • Explicit constraints.
  • Dependencies called out.
  • Technical debt items listed separately.
  • Refactor passes scheduled, not optional.

Every agent reads it. Every agent updates it. No one operates outside it.

This does two critical things:

  1. It creates shared memory.
  2. It creates accountability.

Agents stop hallucinating direction because the direction is written down. They stop freelancing architecture because the plan constrains them.

It is shockingly effective.

Specialization Beats General Prompts

General prompts produce general output.

When you assign roles with explicit mandates, quality jumps.

For example:

  • The architecture agent is forbidden from writing implementation code.
  • The implementation agent cannot modify system level decisions without flagging them.
  • The reviewer agent must challenge assumptions, not just style.
  • The refactor agent is measured on simplification, not feature velocity.

Then you add cross checking:

  • Reviewer critiques implementation.
  • Architecture agent validates structural coherence.
  • Test agent ensures coverage and edge cases.
  • Refactor agent revisits everything after feature completion.

This creates constructive tension. That tension is what real engineering teams rely on. Now you can simulate it.

Vibe Coding, But Structured

People talk about “vibe coding” as if it means improvisation.

That is a mistake.

The best results come from pairing creativity with brutally clear documentation:

  • A well written PRD.
  • A granular feature list.
  • Defined non functional requirements.
  • Clear domain boundaries.
  • Explicit constraints.

With that in place, you can move insanely fast without losing coherence.

You can prototype in an hour what would have taken weeks before, not because the AI is magical, but because iteration cost is near zero. You can try three architectural approaches before lunch. You can explore edge cases without burning sprint capacity.

Speed without structure is chaos. Speed with structure is transformation.

Refactoring Is Now Cheap

Historically, refactoring was expensive. It required team coordination, regression testing, political capital.

With better agents in the loop, refactoring becomes continuous.

You can:

  • Ask for aggressive simplification.
  • Remove abstractions that no longer serve you.
  • Collapse duplicated logic.
  • Extract reusable modules.
  • Tighten domain boundaries.

And you can do it repeatedly.

The key insight is this: the best agents are often better at refactoring than at first pass implementation. So you let one build fast, then bring in a stricter, more analytical agent to reshape it.

This is how you get both speed and quality.

From Tickets to End to End Agile in a Week

I recently overhauled my project Tickets from a basic system into a full end to end Agile solution.

In one week.

The new system is easily ten times better:

  • It covers roughly twice the use cases.
  • It enforces Agile best practices by design.
  • It structures backlog, sprint planning, execution, and review.
  • It prevents common anti patterns through workflow constraints.

In the past, that level of transformation would have taken months, possibly a year, especially if done cleanly.

This time, the process looked like this:

  1. Rewrite the PRD from scratch.
  2. Break it into atomic features.
  3. Populate a strict TODO.md.
  4. Assign roles to agents.
  5. Build in vertical slices.
  6. Run review and refactor passes after every milestone.
  7. Tighten and simplify repeatedly.

What used to be an overwhelming rewrite became a controlled, high velocity evolution.

Complex Apps in Weeks, Not Years

The uncomfortable truth is that most timelines were inflated by coordination overhead and cognitive limits.

When:

  • Documentation is always up to date.
  • Tests are generated alongside features.
  • Refactors are cheap.
  • Review is constant.
  • Architecture can be iterated rapidly.

The bottleneck shifts from typing to thinking.

If you are clear about what you want, these tools will compress time dramatically. If you are fuzzy, they will amplify your confusion just as fast.

That is the tradeoff.

The Real Skill Shift

The competitive edge is no longer raw coding speed.

It is:

  • Writing sharp PRDs.
  • Designing clean abstractions.
  • Decomposing problems precisely.
  • Orchestrating agents effectively.
  • Knowing when to refactor.
  • Being ruthless about scope.

The developers who win in this new environment will not be the fastest typists. They will be the best system designers and AI conductors.

If you are still treating OpenCode, Claude Code, or Codex like a fancy autocomplete, you are leaving an order of magnitude on the table.

This is not incremental improvement.

It is a different way of building software.


Discover more from AJB Blog

Subscribe to get the latest posts sent to your email.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.