Skip to content

Blog Article

AI Agent Project Management

AI agents don't replace Jira. They need their own lanes, review gates, and handoff points. Here's the 5-lane kanban that makes it work.

AIWorkflow

Every team I talk to has the same question: 'How do we actually manage AI agents alongside human developers?' They've tried letting agents loose on their codebase. The results were messy — duplicate work, unreviewed commits, agents 'fixing' things that weren't broken. The problem isn't the agents. It's the lack of a project management system that treats bots as real participants.

Why Traditional PM Tools Don't Work for Agents

Jira, Linear, Notion — they're all designed for humans. A human reads a ticket description, applies judgment, does the work, updates the status. An AI agent can do all of those things, but it needs structure that human PM tools don't provide: machine-readable acceptance criteria, scoped file permissions, automated review gates, and explicit handoff points between bot work and human review — the foundations of agent orchestration.

We tried using Linear for our own agent workflows early on. It lasted a week. The agents could read tickets, but they had no way to signal 'I'm done, please review' in a way that triggered a human workflow. They'd mark tickets as Done when the code was written — before review, before CI, before anyone looked at it. The status labels meant different things to bots and humans, and the result was chaos.

The 5-Lane Kanban

We built a kanban board with five lanes that both humans and agents understand. Each lane has explicit entry and exit criteria. An agent can't skip from 'In Progress' to 'Done' — it has to pass through 'Human Review' first. Here's the full pipeline:

# AppHandoff 5-Lane Kanban Pipeline

┌─────────┐  ┌─────────────┐  ┌──────────────┐  ┌──────────┐  ┌──────┐
│ Backlog │→ │ In Progress │→ │ Human Review │→ │ Approved │→ │ Done │
└─────────┘  └─────────────┘  └──────────────┘  └──────────┘  └──────┘

Backlog:       Ticket filed by a human or an agent. Ready for pickup.
               Entry: human or agent files a ticket
               Exit:  agent or human claims the ticket

In Progress:   Agent (or human) is actively working.
               Entry: ticket is claimed
               Exit:  PR opened + CI passes

Human Review:  Code is written. A human must review.
               Entry: PR opened with passing CI
               Exit:  human approves or requests changes

Approved:      PR approved. Ready to merge and deploy.
               Entry: human approves PR
               Exit:  PR merged to main

Done:          Shipped. Ticket auto-closed on merge.
               Entry: PR merged + deploy confirmed
               Exit:  archived after 30 days

The critical lane is Human Review. That's the gate that prevents agents from shipping unreviewed code. It's not optional — the system enforces it. An agent that opens a PR without passing CI gets its ticket bounced back to In Progress automatically.

Multi-Role Tickets

Each ticket has explicit roles: frontend, backend, design, QA. This matters because agents with narrow scope make fewer mistakes. A frontend agent assigned to a UI ticket only sees frontend files. It can't accidentally refactor the API client layer or modify shared utilities. Role scoping is the simplest guardrail that produces the biggest improvement in agent output quality.

In our experience, role-scoped agents produce PRs that are 60% smaller and get approved 3x faster than unscoped agents. The reason is obvious once you see it: smaller scope means fewer files changed, which means faster review, which means faster merge. The shared Kanban board (/shared-kanban-humans-bots) shows role assignments per ticket so everyone — human and bot — knows who owns what.

How Agents Pick Up Work

Agents don't browse the kanban board like humans do. They call MCP tools. When an agent connects to the AppHandoff MCP server (/mcp-server), it can call get_handoff_requests to see available tickets filtered by role, priority, and project. It picks a ticket, generates an implementation plan, and waits for human approval on the plan before writing code.

// Agent workflow via MCP:
// 1. Get available tickets
await mcp.call('get_handoff_requests', {
  project_id: 'proj_abc123',
  status: 'backlog',
  role: 'frontend'
});

// 2. Claim a ticket and generate a plan
await mcp.call('update_handoff_request', {
  handoff_id: 'HO-142',
  status: 'in_progress',
  plan: 'Add route alias /tickets -> /issues handler...'
});

// 3. After human approves plan → write code → open PR
// 4. Ticket auto-moves to Human Review when PR passes CI

This plan-first approach catches bad ideas before they become bad code. We've seen agents propose plans that would have introduced breaking changes — renaming database columns, restructuring shared types, modifying auth middleware. The plan review step catches these before a single line of code is written. It's cheaper to reject a plan than to reject a 400-line PR.

Complementing Jira, Not Replacing It

AppHandoff's kanban board handles the agent-driven work: interface changes, agent-built fixes, validation. Your existing Jira or Linear board handles the human-driven work: feature planning, sprint goals, product decisions. The two systems complement each other.

In practice, teams use Jira for 'what to build' and AppHandoff for 'what's broken between frontend and backend.' A Jira ticket might say 'build user settings page.' The AppHandoff board carries the tickets that make it real — the endpoints to build, the contracts to publish, the roles to complete. Human intent lives in Jira; machine execution lives in AppHandoff.

Real Numbers from Our Team

We dogfood this system on AppHandoff itself: the platform's own tickets run through the same 5-lane pipeline, with agents claiming roles and humans reviewing plans and PRs. The changes that need correcting get caught at the plan review stage or the PR review stage — not in production.

The key metric is zero agent-caused production incidents in 90 days. Not because the agents are perfect — they're not. Because the pipeline catches their mistakes before merge. That's what project management for AI agents actually looks like: not trusting them less, but verifying them better.