DEV Community

Michael Tuszynski
Michael Tuszynski

Posted on Originally published at mpt.solutions

Gartner Says Over 40% of Agentic AI Projects Will Be Canceled. The Expensive Ones Are the Ones That Aren't.

A support-ticket triage agent goes live on a Monday with a 90-day pilot budget and a vague goal: "reduce agent handle time." On day 90 the numbers are mixed. Handle time is down on some queues and up on others, and three reviewers spend part of each week fixing the agent's routing mistakes. Nobody calls it a failure, because nobody wrote down what failure would look like. So the project keeps its funding, and it is still running a year later.

That project won't appear in Gartner's cancellation count. It's the expensive outcome.

A cancellation is the cheap way for a pilot to end

Gartner predicts over 40% of agentic AI projects will be canceled by the end of 2027, citing escalating costs, unclear business value, and inadequate risk controls. Reuters ran it as a failure headline, and so did nearly everyone else.

I read it the other way. A canceled project stops spending. The team moves to the next bet and the inference bill stops. If the cancellation comes at the end of a bounded pilot, the organization paid a known amount to learn something true.

The projects that should worry a budget owner sit in the other 60%. Some of them are working. Some of them are zombies: pilots that never cleared a value bar and never got killed. They keep paying for inference, integration upkeep and human supervision, and they hold onto engineers who could be building something that works.

The 40% is a forecast, and it only counts the failures someone admitted to

Two cautions before anyone puts this number in a board deck.

First, it's an analyst prediction about 2027, not a measurement. The survey data in the same press release comes from a January 2025 poll of 3,412 Gartner webinar attendees. In that poll, 19% reported significant agentic AI investment and 31% were waiting to see. People who sign up for a Gartner webinar on agents aren't a random sample of enterprises. Treat the 40% as an informed guess about direction.

Second, the forecast counts cancellations, and cancellation requires a decision. A zombie never triggers one. As Forbes' read of the Gartner report puts it, the causes are management failures, not model failures. A management failure that keeps a project alive is the same failure as one that kills it late. It's just harder to see.

So the 40% tells you nothing about how many of the surviving 60% deserve to survive. The one tool that answers that is a document written before the pilot starts.

The kill threshold has to exist before the first prompt ships

My earlier post, "Most Agent Projects Die. The Survivors Share a Shape," covered why survivors survive. This one is about the artifact the survivors' sponsors write and the zombies' sponsors skip: a kill sheet, signed before the pilot starts.

It has five fields. Here it is for the triage agent:

# kill-sheet.yaml: signed before pilot start, not edited after
project: support-triage-agent
metric:
  name: median_time_to_correct_queue   # one metric, not a dashboard
  baseline: 4.2h                        # measured over the 30 days before launch
  target: 2.5h                          # what "worked" means
  measured_on: 2026-04-01               # day 90, a fixed date
monthly_run_cost:
  inference: 3800
  integration_upkeep: 4000              # 0.25 engineer, loaded
  human_review: 6750                    # 3 reviewers x 30h x $75
  total: 14550
cost_ceiling: 12000                     # above this, value has to be proven
cancel_authority: VP Support Operations # a name, not a committee
extension_used: false
Enter fullscreen mode Exit fullscreen mode

The format matters less than when it gets written. Every field in it is easy to fill in on day zero and very hard to fill in honestly on day 90, once people have spent a quarter on the project and the sponsor has told leadership it's going well.

Some notes on the fields.

One metric. If you give an agent five metrics, it will move one of them, and that one becomes the story. Choose the metric the business would pay for, and measure the baseline before launch. A baseline reconstructed after the fact always comes out flattering.

The date is fixed. "End of Q2" turns into "once the new model ships" turns into "after the reorg." Put a calendar date on it.

Human review is part of run cost. It's usually the largest line, and usually the one left out. In the sheet above, review time is 46% of monthly cost. Inference is 26%. If your sheet shows only the token bill, it understates run cost by a factor of three or four.

The ceiling sits below current run cost. That's deliberate. A pilot that costs more than the ceiling has to clear the metric target to continue. It doesn't get to argue it's "almost there."

Cancel authority is one named person. If killing the project needs a committee, it won't happen, because no committee member wants to own the decision.

Expect the cancel-authority line to draw the most pushback. It's the only field that puts a person's name next to a possible failure.

A zombie costs six times what an honest cancellation does

When the triage agent misses its target on day 90, there are two outcomes to price.

Cancel on day 90 and the cost is three months of run cost, $43,650. That's the tuition.

Now say it stays alive for nine more months on "let's give it another quarter," and then another. The zombie bill has two parts:

def zombie_cost(monthly_run: float, months_past_kill: int,
                team_monthly_loaded: float) -> dict:
    run = monthly_run * months_past_kill
    # Opportunity cost, floor estimate: the loaded cost of engineers who could
    # have been on the next-best project. Their real cost is that project's
    # value, which is usually higher and harder to defend in a spreadsheet.
    opportunity = team_monthly_loaded * months_past_kill
    return {"run": run, "opportunity": opportunity, "total": run + opportunity}

zombie_cost(14_550, 9, 16_000)
# {'run': 130950, 'opportunity': 144000, 'total': 274950}
Enter fullscreen mode Exit fullscreen mode

The opportunity line assumes one full-time engineer's worth of attention ($16,000 a month loaded), split across the two people still tuning prompts and triaging complaints. It doesn't overlap with the 0.25 engineer already counted under integration upkeep. And it's a floor. The true cost of those engineers is whatever they would have shipped instead.

That comes to $274,950 against $43,650, about 6.3 times the cost of the honest answer. Every month of delay adds $30,550. On top of that, the zombie keeps three reviewers in the review habit, and it makes the next agent proposal harder to fund, because leadership now associates "agents" with a project that never ended.

None of these numbers are exotic. They're the triage agent's own costs from the sheet above, multiplied by the time nobody decided anything.

Late bloomers get one extension, written down in advance

The strongest objection is real. Some value takes time to show up. A triage agent may get much better after six months of corrections feed its routing rules, or once the support team stops working around it. A strict day-90 date kills that project before it matures, and it rewards pilots that look good early over those that compound.

That argument holds only when there's a mechanism behind the slow value, and a mechanism can be written down. So the kill sheet gets an extension rule, agreed at signing:

  • One extension, no more than 60 days. A second extension is a cancellation.
  • Before the extension starts, the sponsor names the mechanism ("routing accuracy improves as correction data accumulates") and a leading indicator that can be measured now ("misroute rate falls from 18% to 12% by day 150").
  • The cost ceiling doesn't change. If the extension needs more money, it's a new project and gets a new sheet.
  • The same named person signs the extension and owns the decision at its end.

This answers the late-bloomer case on its own terms. A real late bloomer can say why it's slow and what will move first. A zombie can only say it needs more time. The rule lets the first through and stops the second, and "we're seeing promising signals" doesn't count as a mechanism.

The cost of this discipline is that some projects that would have made it will die. A kill sheet will occasionally cancel a winner. That trade is fine. A false cancellation costs one pilot's tuition plus a restart. A false reprieve costs $30,550 a month with no end date.

Go back to the triage agent on day 90. With the sheet, the VP of Support Operations reads one number, median time to the correct queue: 3.6 hours against a target of 2.5. She either signs one 60-day extension tied to a misroute rate or ends it. Without the sheet, the same 3.6 hours gets called "a 14% improvement" in a status deck, and nine months later the project has cost $274,950.

Top comments (0)