Blog project management for software teams AI agents DORA metrics
Project Management for Software Teams in the AI Era
Project management for software teams made practical: proven workflows, QA metrics, and how to coordinate human developers and AI agents on one board.

Only 16% of software projects counted as successful in the Standish Group's 1994 CHAOS report. About 53% were "challenged," meaning late, over budget, or cut down, and 31% were canceled. By the 2009 summary the success rate had risen to about 32%. Under the 2015 "Modern Resolution" definition, which judged incremental delivery rather than the original plan, success sat near 29%. The 2020 edition still reported 31% successful, 50% challenged, and 19% failed, according to the CHAOS figures compiled by year. Technical skill didn't decide those outcomes. Coordination did.
That gap is what project management for software teams has to close. It isn't a status ritual layered on top of coding. It's the control system for scope, timing, cost, and requirements that keep moving. Three forces decide whether that system works: how you design the workflow, how you measure delivery, and how you coordinate AI agents that can finish tickets faster than the team can verify them.
Why Software Projects Still Go Sideways

Those results span waterfall plans and agile programs. The method changed. The failure mode didn't. Teams that can write solid code still ship late, ship less than they promised, or stop. A board that only shows "coding is happening" hides the risks that kill a release: unfinished work, blocked dependencies, scope that drifted without a decision, and changes nobody can validate.
Delivery is a control problem
Treat the board as an operational control system. It has to answer four questions at any moment.
- Scope: What is in, what is out, and who approved the change?
- Timing: What is blocked, and what can ship without the blocked piece?
- Cost: Where is capacity going, including rework that never appeared on the original plan?
- Requirements: Which decision replaced the earlier one, and is that record still findable?
If any answer lives only in a chat thread, the project is already exposed. Standish's later shift toward incremental delivery is the useful lesson. Judging a team only against a plan written months ago punishes the adaptation software needs. Judging them only on activity punishes nothing, and then the compromised release still arrives.
What technical ability doesn't cover
A strong engineer on a weak system still produces late, partial, or canceled work. The controls that change the odds are smaller units of work, explicit priorities, continuous feedback, and a named owner. Those aren't bureaucracy. They're how a team notices that a dependency has gone quiet before the release date does.
The rest of this piece takes those three forces in order: workflow design that protects focus, delivery metrics that balance speed with stability, and coordination when agents sit on the same board as people. None of that requires a new methodology brand. It requires a board you can audit.
Core Principles of Project Management for Software Teams
The failure pattern above collapses into four rules. Break work into increments a reviewer can check alone. Make priority explicit so nobody guesses. Give every task one visible owner. Keep a durable record of decisions and dependencies. Skip one and the others leak.
Coordination is its own engineering activity, not a side effect of writing code. A case study of software ecosystems spanning several agile organizations found that many problems came from long communication paths and missing processes for managing them. The results were slow replies, weak communication of priorities and deliverables, and information that arrived altered or lost. Separate research with 775 Microsoft software engineers treated coordination inside and between teams as work in its own right, not an accident of coding, as covered in research on coordination across agile organizations.
What a healthy task contains
Open your board and read one card. A card you can trust has six fields, and a missing one is a defect in the system, not in the person.
- Owner. One name. Shared ownership is how two people both assume the other is doing it.
- Status. A real step in that work type's workflow, not a vague "in progress."
- Blockers. The blocking relationship, named, not implied by a comment from last week.
- Acceptance criteria. Written before build starts, small enough to verify without a meeting.
- Latest decision. What changed, and what was rejected.
- Next handoff. Current state, remaining work, and the next action, so a pause doesn't erase the card.
Practical rule: If a new teammate can't resume the card from those six fields, the card isn't a task. It's a reminder.
Route questions and approvals through that record. Chat and meetings are fine for speed. They are a poor system of record, because priority and context decay as the path gets longer. For parallel human and agent work, exclusive ownership or a time-bounded claim stops two sessions editing the same task, and an activity log makes the recovery path auditable.
Principles don't fix a day that is already shredded by interruptions. The workflow has to enforce them.
Free for one person. No card. Connected in a minute.
Designing Workflows That Protect Developer Focus

Focus is a delivery control, not a personal habit. In a survey of 141 software developers, 56% said they couldn't stay fully focused on a typical day. 32% switched tasks more often than every 30 minutes, and 24% switched every 30 to 60 minutes. They tied that switching to lost focus, higher cognitive load, more errors, and longer completion times. A separate look at 5,076 recorded tasks from 19 developers found requirements work especially exposed to interruption, with timing, source, priority, and the context of the paused task all changing the outcome, as reported in a study of task switching among developers.
Controls that cut reorientation cost
Work-in-progress limits, a single owner, and batched interruptions are quality controls. Each switch spends reorientation time and raises the chance of a mistake. Cap how many cards sit in active columns. Refuse a second owner. Park nonurgent questions for a set window instead of answering them the moment they arrive.
Different work needs different steps. A bug workflow wants reproduce, fix, verify. A feature workflow wants scope, size, approve, build. A spike ends in a decision, not a merge. A review workflow ends when a person accepts, not when a bot goes green. Stuffing all of that into one generic "To do / Doing / Done" board hides which step is stuck.
A handoff anyone can resume
When work pauses, the handoff is four lines: current state, decisions already made, remaining work, next action. That's enough for a person coming back after lunch or an agent starting a fresh session. Without it, the next session reconstructs context from chat history and repeats work.
The same idea shows up in how teams protect deep work once the board stops being a suggestion box. Watch the flow from a shredded day to a protected one:
Start with one limit this week. Pick the column where cards pile up and set a number the team can't exceed without finishing or explicitly unblocking something. Tool choice can wait. The limit is what changes the error rate.
Building QA and Delivery Metrics Into Your Process
Ticket counts reward motion. Delivery metrics reward a change that reaches production and stays there. Since 2013, DORA has used four measures, later five: deployment frequency, lead time for changes, change failure rate, mean time to recover, and deployment rework rate. Frequency is how often you release. Lead time runs from commit to a successful production deploy. Change failure rate is the share of deploys that break production. Recovery time is how fast you restore service. Rework rate is the share of deploys that are unplanned fixes. In 2021, "availability" was reframed as reliability. The point of the set is balance: speed without stability is not performance. In 2024, higher AI adoption lined up with an estimated 1.5% decrease in delivery throughput and a 7.2% reduction in delivery stability, a reminder that new tools don't automatically help, per the history of the DORA metrics.
| Metric | What it measures | What it reveals |
|---|---|---|
| Deployment frequency | How often changes reach production | Batch size and release friction |
| Lead time for changes | Commit to successful production deploy | Review queues, handoffs, weak automation |
| Change failure rate | Share of deploys that cause production failures | Thin QA and risky batch size |
| Mean time to recover | Time to restore service after a failed change | Observability and ownership of incidents |
| Deployment rework rate | Share of deploys that are unplanned fixes | Capacity eaten by avoidable rework |
Read them as a set
A short lead time with a high change failure rate means you're shipping defects quickly. A low failure rate with a long lead time means review queues and manual gates are the bottleneck. A high rework rate means the plan is fiction: capacity is going to fixes that were never scheduled. Optimize one number alone and the others move the wrong way.
Wire this into QA at delivery, not as a phase after "dev is done." Small batches, a defined owner for recovery, and a failure rate you look at in the same review as frequency. Human review still has to catch what automation misses, which is why AI code review belongs in the same loop as these metrics rather than beside them.
A green build is not a successful change. Recovery time and rework rate tell you whether last week's speed was borrowed from this week.
You don't need a perfect pipeline to start. Count deploys, note which ones you rolled back or hotfix, and time the restore. Crude numbers beat a velocity chart that can't see a failed release.
Managing AI Agents as Members of the Team
More completed tickets can be a quality problem. Agents amplify the system you already have. Weak requirements, thin tests, fuzzy ownership, and loose release controls don't get kinder when generation gets faster. They produce defects sooner, and the board looks busy while stability drops.
The 2025 DORA research, covering nearly 5,000 technology professionals, found AI adoption positively associated with throughput and product performance and negatively associated with delivery stability, as described in the announcement of the 2025 DORA report. Throughput up, stability down, is the trade-off to manage. It isn't a reason to ban agents, and it isn't a reason to celebrate ticket volume.

Controls that keep output honest
Separate human-written and agent-written work in your tracking so you can see which stream drives rework. Require small changes a reviewer can verify alone. Set approval thresholds: an agent may open the change, and a person accepts anything that touches auth, data, billing, or a public API. Watch review latency next to failure rate. A queue of unread pull requests is the bottleneck, not coding speed.
Agents need the same briefing a new teammate needs: project intent, where things live, who holds what, open tasks, and the last handoff. They also need rules that outrank their defaults. Project rules are lasting instructions a person writes, the "always" and "never" kind, saved on the project and shown first in every briefing, ahead of the agent's own habits.
Two sessions on one task will overwrite each other unless ownership is exclusive and time-bounded. Activity has to name the person and the agent, or you can't audit a bad change. For how that coordination looks day to day, see AI agent workflow automation.
Speed without a claim, a briefing, and a handoff is just two sessions editing the same file.
Reserve human attention for risk. Let agents take the small, verifiable, unblocked work. If stability metrics worsen after you add agents, shrink batch size before you add more sessions.
Choosing Tools That Coordinate People and Agents
Most boards were built for people. Agents can read them. They can't claim work, start from a briefing, or leave a handoff the next session is required to use. That's the wrong shape once several coding agents run in parallel.
Judge a tool on three questions.
- Can an agent act, or only read? Read-only access means a person still routes every task. The agent is a faster typist, not a teammate.
- Can two sessions take the same task? If nothing stops the second session, you will get conflicting edits. A warning in chat is not a lock.
- Is every change attributed to a person and, when relevant, an agent? Mixed history makes recovery a guessing game.
Conventional trackers fail the first two. They're excellent at human workflow and silent on collisions between agents.
We built our board so agents are members, not plugins. They connect over MCP, claim work, keep the Brief current, and hand off cleanly. A claim is a lease. When two agents want the same task, the first claims it. The second is told who holds it and when they were last active, then leaves a comment or asks for the claim. The lease frees itself after 30 quiet minutes, so a crashed session doesn't pin the card forever.
Every session starts from a briefing: brief, rules, where things live, who's working, open tasks, latest handoff. Every session ends with a handoff in four short parts: what was done, what is unfinished, what comes next, and which tasks it touched. The next person or agent starts from that, not from a cold chat.

If your work is still human-only, a straightforward kanban board is enough, and a kanban board with WIP limits will outperform a fancy tool nobody updates. Add agent coordination when agents already do real work: code, specs, bug fixes. Until then, claims and briefings are overhead.
Putting Your Project Management System Into Practice
Don't adopt a framework. Change the board in an order that pays for itself.
This week, in order
- Audit ten cards. Check owner, status, blocker, acceptance criteria, latest decision, and next handoff. Fix the cards that fail before you add process.
- Set one WIP limit and a single-owner rule. Do this before any tooling change. Focus is the cheapest win, and it doesn't depend on a migration.
- Instrument delivery at the fidelity you have. Count deploys, failed changes, recovery time, and rework. Crude and weekly beats precise and never looked at.
- Add briefings, claims, and handoffs only if agents already ship work. If they don't, skip this step. If they do, treat a missing handoff the way you'd treat a missing pull request description.
The first step that actually sticks
Pick one project, not the portfolio. Apply the card audit and the WIP limit there for two weeks. If lead time or rework doesn't move, the limit is too high or the cards are still missing acceptance criteria. Adjust those before you touch anything else.
Teams that skip to a new tool keep the same overloaded columns under a new logo. Teams that fix ownership and batch size first get a board an agent can join without doubling the review pile. When that second problem shows up, move the project onto a board where agents claim, brief, and hand off, instead of one they can only read.
Projectify is a project management board where people and AI agents share the same work, with claims that stop two sessions colliding, briefings so nobody starts cold, and handoffs so the next session knows what changed. If your agents already write code and your board still treats them as readers, see how we coordinate them at Projectify.