Piloting Bob on Maximo: Metrics, Competitors, and the Open Questions

🎯 Who this is for: Maximo leads, delivery managers, architects, and the person who has to defend an AI tooling budget in front of finance. You have read the Bob pitch and the 69% headline. You now need to decide what to do on Monday: buy, wait, or run an experiment, and how to make the experiment prove something.

Series: IBM Bob for Maximo Teams | Part 5 of 5 (finale) | Read time: ~40 minutes
Previous: Part 4, Bob Meets Maximo | Series index: Start here

🔥 The Pilot That Proved Exactly What It Was Designed to Prove

Here is a conversation we have watched happen, in different clothes, at more than one shop.

"The pilot went great," says the sponsor. "Everyone loved it."
"How many tasks did it complete?" — "A lot. The team said it felt twice as fast."
"Who reviewed the output?" — "The same two seniors, in the evenings."
"How many of those changes broke something later?" — "We didn't track that."
"What did it cost per task?" — "We don't know yet. The invoice isn't in."

Nothing in that exchange is dishonest. Everyone is sincere. And none of it is evidence. It is a vibe report about a tool whose whole marketing position is that it is not vibe coding.

IBM's own executives make that distinction on stage. Neel Sundaresan, who runs Automation and AI at IBM, said: "It's not about vibe coding; it's about literal programming. It's not about accessibility, it's about security." IBM Think content goes further and says vibe coding "caused a new type of technical debt called security debt." If the vendor holds that line, the least a customer can do is hold the same line in the pilot.

In Part 1 we described what Bob is. In Part 2 we covered models, security, and the self-hosted option. In Part 3 we locked down the controls, the audit trail, and the economics. In Part 4 we walked through the four doors between Bob and Maximo. This final part answers the question the other four set up: how do you find out, with your own data, whether Bob is worth having on your Maximo estate?

💡 Key insight: The goal of a pilot is not to feel good about a tool. It is to produce a number you would be comfortable defending to the person who funds it, and a list of things you still do not know. This part gives you both.

📌 The Short Version

QuestionShort answerWhere it comes from
Can we plan around IBM's customer metrics?No. All are IBM-reported, unaudited, and some carry inconsistent baselinesIBM newsroom; field guide §9
What do independent sources say?Useful but limited evidence; six recurring criticismsIDC, RedMonk, The Register, Futurum, practitioners
Is Bob the only serious option?No. Copilot, Cursor, Claude Code, and Kiro cover the same groundField guide §11
What should a Maximo shop do first?Run a six-week, 20 to 30 task, matched pilotThis part
Which metrics matter most?Defect escape rate, review hours per accepted change, Bobcoins per accepted taskThis part
What stops a pilot?Any security incident, a defect escape rate above baseline, or review hours growing faster than outputThis part
What can we not yet answer?Sixteen items, including self-hosted audit logging and SaaS model versionsField guide §16

A note on labels, because we use them throughout. [IBM] means the claim appears on an IBM page, press release, or IBM-published customer story. [IND] means it comes from an independent analyst, journalist, or practitioner. [TMG] means it is our assessment. We did not run Bob against a customer's production Maximo to write this series, and we say so where it matters.

📊 The Numbers IBM Publishes, and What Each One Is

Start by laying every figure on the table. The rule for this section comes straight from the field guide: every figure here is IBM-reported or appears in an IBM-published customer story, and none has been independently audited. The Register described IBM as "the latest to lean on its own staff to 'prove'" AI efficacy, and StockTitan noted that the productivity metrics are self-reported.

The customer scoreboard

Claim [IBM]Exact figureWhat it actually isWhat is missing
IBM internal adoption6,000+ (Oct 2025), 80,000+ (Apr 2026), 100,000+ (Jun 2026)Employees onboardedActive use, retention, task mix
Productivity"average 45% productivity gain"Self-reported survey of usersBaseline, sample, definition of productivity
IBM Maximo dev team"estimated 69% time savings"One sentence about IBM's own product teamTask mix, baseline, sample size, method, whether review time counted
IBM Instana"average 70% reduction in time spent on selected tasks," about 10 hours a weekInternal team estimate on selected tasksWhich tasks were selected and why
Blue Pearl"30-day Java upgrade in 3 days," over 160 hours saved, "zero defects post-deployment"Customer storyA second IBM release frames it as nine months with 14 engineers done in three days
APIS IT (Croatia)"10x faster architecture analysis," "100% accuracy" documenting JCL and PL/ICustomer storyHow accuracy was evaluated
EYTax platform modernizationCustomer storyNo metric at all
Jack HenryAccelerated RPG workflowsCustomer storyNo metric
CrushBank4 people over 4 to 6 weeks became 1 to 2 developers in about half the timeIBM customer materialScope definition
NovadocTool built in a weekend versus 2 weeksIBM customer materialComparison basis
IBM Z product page"20 to 40% faster" complex engineering, 50 to 80% effort cut on structured workflowsProduct pageStudy design
IBM Payments CenterTesting effort down more than 70% on a regulated payments platformIBM Think perspectiveScope of the testing

How to read a case study, using Blue Pearl as the teaching example

The Blue Pearl story is a gift for training your skepticism, because it appears twice with different shapes. One IBM release says a typical 30-day Java upgrade took three days, saving over 160 engineering hours. A later release describes the same work as nine months with 14 engineers compressed into three days. Both cannot be the baseline. One is a per-upgrade number, the other is a program number, and nobody tells you which units the "three days" are in.

That is not an accusation. It is what marketing material looks like when several people write several releases. But it demonstrates the five questions you should ask of any vendor result, including ours:

QuestionWhy it mattersBlue Pearl example
What was the baseline, and who measured it?An estimate of "normally" is not a control"Typical 30-day upgrade" vs "nine months, 14 engineers"
What was counted in the "after"?Review, test, and rework are the expensive partNot stated
Who did the work?Experts on a known codebase flatter any toolCustomer engineers, unspecified
What was the unit?Per task, per project, per year are different claimsBoth appear
What did it cost to get there?Coins, licenses, and senior review timeNot stated

The Maximo number, one more time

The IBM Maximo team figure deserves a short repeat because it travels furthest. IBM says the Maximo development team used Bob for code generation, refactoring, and updates that "normally take days" and finished them in hours, for "an estimated 69% time savings." As we showed in Part 4, that is unusable for planning: no task mix, no baseline, no sample, no method, and the team that did the work is the team that owns the codebase.

IBM's own Think writing helps you here. Adam McDaniel's pieces say "Token consumption is a cost signal, not a value metric," "AI doesn't fix a team. It amplifies what's already there," and "Review capacity becomes the limiting factor." Quote IBM to IBM. It is the politest way to ask for a pilot.

The statistics IBM borrows from others

IBM's content also leans on third-party numbers. They are worth knowing because your stakeholders will have seen them.

StatisticOriginLabelUse with care because
85% of DevSecOps professionals say AI moved the bottleneck from writing to reviewing codeGitLab 2026 AI Accountability Report, cited in IBM's Jul 9 releaseThird-party, repeated by IBMIt is a perception survey
Developers 19% slower while believing they were 20% fasterMETR studyThird-party, repeated by IBMSmall sample, early-2025 tools (see below)
84% use or plan to use AI; 46% distrust accuracy vs 33% trustStack Overflow 2025 surveyThird-party, repeated by IBMSurvey of attitudes, not outcomes
79% of executives see AI productivity gains; only 29% can confidently measure ROIIBM IBVIBM researchThat 29% is the gap this pilot closes
60 to 80% of development budgets go to modernizationIBM Apr 28 release, external footnoteCited by IBMFootnoted source, not verified here
About 60% of work is migration, modernization, and maintenance; new code about 15%Sundaresan, Think 2026 recapIBM execDirectionally matches Maximo reality, which is why this matters to you

That last pair is the interesting one for a Maximo shop. If 60% of enterprise software work is migration, modernization, and maintenance, then the work Bob targets looks a lot like a Maximo estate: upgrade analysis, Java-to-script conversion, integration upkeep, report fixes. The fit argument is real. It is the magnitude argument that is unproven.

🧪 What Independent Sources Say

Independent coverage of Bob is real but thin, and the best analyst source says so itself. IDC's Adam Resnick wrote that "the external evidence base remains limited at GA" and described Bob's ecosystem anchoring (IBM Z, OpenShift, watsonx, HashiCorp) as both "its structural advantage" and "its natural boundary." Note that the IDC paper is published through IBM, which is common for analyst work and worth keeping in mind.

The independent views table

Source [IND]ViewWhat to take from it
IDC, Adam Resnick (May 2026)Bob is IBM's "most direct move yet into the agentic development tools market"; evidence base limited at GACredible direction, thin proof
RedMonk, Kate HolterhoffAutomatic model selection is "a double edged sword"Convenience and opacity arrive together
VentureBeatThe difference versus Cursor and Claude Code "is not about capabilities but about control"The pitch is governance, so test governance
Futurum, Mitch AshleyOn COBOL: "The best answer may well be a combined IBM plus Claude team"; self-hosting puts Bob "where cloud-first coding agents struggle to reach"Competitors can be complements
The RegisterIBM leans on its own staff to "prove" efficacy; broke the PromptArmor storyRead vendor metrics as marketing
BERIAir-gapped Bob swaps Claude for Nemotron and Laguna; no evals, GPU sizing, or price publishedSelf-hosted is a different quality tier
Uwe Graf (IBM Champion, Planet Mainframe)Useful for analysis, refactoring, training; during COBOL refactors Bob "occasionally defaults to older control-flow constructs"; some VSAM tuning reasoning "needed a closer technical review"Output needs expert review
IBM i community, GitHub issue #3078Bob 2.0.3 "confidently hallucinates" what a real CL parameter value doesConfident wrongness exists
Northdoor, Tom RichardsBob is "vibe coding putting on a navy blazer and walking into the enterprise boardroom"The skeptic's headline
Yann Bordelanne (Sopra Steria, summarized on DEV)Quality "depends heavily on the quality of the context provided"; formula "Context + Tools + Governance + Human Validation"The only Maximo-specific independent test we know of

The six recurring criticisms, and a pilot test for each

Independent coverage keeps returning to the same complaints. A good pilot converts each complaint into something you can observe.

#Recurring criticism [IND]What to observe in your pilot
1Productivity numbers are self-reportedUse timestamps, not surveys, and compare the two
2Model choice is a black boxLog the date, time, and task for every response you rate; ask IBM which model family handled it
3No OS-level sandbox; commands run as child processesUse a disposable dev container and keep secrets out of the workspace (Part 3 covers .bobignore and workspace trust)
4Legacy-language output can be dated or confidently wrongSeed review with known pitfalls (for Maximo: deprecated Java APIs, count() in scripts, unclosed MboSets) and see whether Bob flags or repeats them
5Air-gapped mode runs on a weaker model tierIf you will self-host, run the pilot on the self-hosted model, not the SaaS demo
6Admin audit covers identity and admin events more than agent actionsTry to reconstruct, from logs alone, what the agent did to one specific change

The METR study, with its own caveat attached

IBM repeats the METR finding, so you will meet it. Here is what it was. METR ran a randomized controlled trial with 16 experienced open-source developers working on 246 real issues in mature repositories, averaging about two hours each. Developers forecast that AI would speed them up by 24%. With AI tools allowed, they took 19% longer. After the fact, they still believed AI had sped them up by 20%. Time was self-reported by the developers while their screens were recorded.

The authors were careful about what they did not claim: not that AI fails to help most developers, not that results apply beyond that setting, not that future AI won't improve, and not that other usage approaches couldn't produce speedups. They flagged learning effects (developers had about 50 hours of Cursor experience) and possible sampling bias. And the METR page now carries a prominent banner that these results are out of date, pointing to a February 2026 update on late-2025 tools.

So do not use METR as a stick to beat Bob with, and do not let anyone use "AI makes you faster" as a counterweight either. Use it for the one thing it proves beyond argument: people are bad at estimating their own AI-assisted speed. That is why the pilot in this part measures with timestamps and treats surveys as a separate, labeled column.

💡 Key insight: The perception gap is the whole case for measurement. If developers who just did the work cannot tell whether they were 19% slower or 20% faster, your sponsor, who only saw the demo, certainly cannot.

⚔️ The Competitive Landscape, Through a Maximo Lens

Bob does not arrive in an empty field. The field guide's landscape table is a fair starting point, and we extend it with the questions a Maximo team should ask.

Positioning table

ToolPositioning [IBM/IND]Versus Bob
GitHub CopilotUbiquitous IDE assistant plus coding agent; GitHub-nativeBroader ecosystem and user-selectable models; Bob is deeper on IBM platforms and governance
CursorAI-native VS Code fork; fast iteration; model pickerSame form factor; Cursor lets you pick models; Bob routes automatically and adds approval stages
Claude Code (Anthropic)Terminal-first agent; hooks, skills, MCP, subagentsVery similar primitives; Bob also uses Claude models on SaaS; Futurum suggests combining them for COBOL
Kiro (AWS)Spec-driven agentic IDE; replaced Amazon Q DeveloperComparable plan-then-implement discipline; AWS-anchored rather than IBM-anchored
watsonx Code AssistantIBM's predecessorSuperseded by Bob; IBM promises an adoption path but has published no end-of-support date

Where Bob is differentiated, and where it trails

Bob differentiators [IBM]Bob trails [IND]
IBM Z, IBM i, and Java modernization packagesModel transparency and choice
Self-hosted OpenShift deployment with air-gap supportIndependent evidence base
Enterprise IP indemnity (Enterprise plan only)Ecosystem outside IBM estates
Group policies for MDM/GPO-style controlAudit that reaches agent actions, not only admin events
IBM documentation RAGSelf-hosted model quality at GA

The price context

ToolEntry or team price (2026; verify on vendor pages)
Bob Pro / Pro+ / Ultra$20 / $60 / $200 per month (50 / 180 / 1,000 Bobcoins)
Cursor$20 / $40
GitHub Copilot$10 Pro / $19 Business
Claude (Pro / Max)$20 / $100 to $200
Amazon Q DeveloperReplaced by Kiro

Bob's base price sits in the market band. The differences are the opaque coin-to-token rate, no model choice, and indemnity only at Enterprise. Part 3 covers the Bobcoin economics in detail.

What matters for Maximo specifically

Most of the market comparison is about general coding. For Maximo, five questions decide more than the feature matrix.

Maximo-specific questionWhy it mattersHow to test
Can the agent act as an MCP client against the MAS 9.2 server or Max_mcp?Door 4 from Part 4 is the only door that touches live dataRead-only key, sandbox, tools/list, one safe read
Can you load house rules (autoscript standards, naming, logging) into the agent?Output quality tracks context qualitySame task with and without a rules file
Does the agent handle Jython and Nashorn script patterns, MboSet handling, and launch point selection?IBM's own community guidance says avoid count(), avoid service.log(), and don't call save() or close() on MboSets you did not get from MXServerSeed a script with these anti-patterns and check findings
Can approvals and policies be enforced centrally?Auto-approve is where the PromptArmor incident livedApply the Part 3 policy list, then try to bypass it
Is the cost per accepted task predictable?Coins are consumed by failed attempts tooThe ledger in this part

Notice that the last four are agent-neutral. That is deliberate. Run the same ledger against a second agent on a subset of tasks. If Bob wins, you know it; if it ties, you have negotiating leverage; and if it loses, you saved yourself a year of licenses. TMG's Max_Interfaces, Max_mcp, and Max_autoscripts are agent-neutral by design, so the Maximo-side setup does not change when the agent does.

A different category worth naming

One more thing for the landscape. Interloc Solutions has launched interloc.ai, which it describes as an agentic AI platform for IBM Maximo: an orchestrator coordinating specialized agents that interpret service requests, create and update work orders, and push approved actions through Maximo's existing APIs and security model. That is not a coding agent. It is an operations agent. We mention it so you do not conflate the categories: Bob helps people who build and maintain Maximo configuration and code, while operational agents act on the work management process itself. Different budgets, different risk owners, different pilots.

🧭 Eight Points of Guidance for Maximo Teams

The field guide ends its analysis with eight points. We expand each one into something you can assign to an owner and check off.

The eight points, expanded

#GuidanceMaximo meaningOwnerEvidence you can show
1Credible option, but don't buy it for the 69%Justify the pilot with fit (IBM skills, MCP, Local Dev Mode), not with the internal estimateSponsorBusiness case cites your pilot metric, with the IBM figure footnoted
2Plan, then actUse Plan mode for any Manage customization and attach the plan to the change recordChange managerPlan output linked in each change ticket
3Agents go through the API layer, never the databaseMAS 9.2 MCP server or Max_mcp, dedicated read-only API key first, scoped write key per use case, destructive tools annotatedSecurity / integration leadKey inventory, group definition, annotation list
4Lock auto-approve centrallyDisabledAutoApprovalGroups=edit,execute,mcp on machines touching client code; workspace trust; .bobignore for .env, keystores, maximo.propertiesEndpoint / securityPolicy file, screenshot of enforced state
5Feed it house rulesPut autoscript standards into .bob/rules/ or an AGENTS.mdTech leadRules file in the repo, with a before/after task
6Choose SaaS vs self-hosted deliberatelyRegulated utilities, defense, and public sector may need self-hosted: OpenShift 4.20+, about 36.5 vCPU and 53 GiB for Bob Core, plus GPUs, no Bobalytics, weaker model tierArchitect / complianceDecision record with the constraints that forced it
7Consultancies: watch the indemnity lineOnly Enterprise seats carry IP indemnity; Pro, Pro+, and Ultra seats on client code do notPractice lead / legalSeat type per engagement
8Measure value, not just activityPair Bobalytics' Bob factor with defect escape rate, review hours, and Bobcoins per completed taskPMOThe scorecard in this part

Guidance 3 in practice: the key and the group

Because point 3 is where most pilots go wrong, here is the shape of a conservative setup. The details come from the pattern in Part 4, and every name below is a placeholder for your own.

# Pilot identity (non-production only)
Service user:        BOBPILOT_RO            # one human owner on record
Security group:      BOBPILOT_RO_GRP        # read-only on 2-3 object structures
API key label:       bob-pilot-readonly-w1  # rotate weekly; store in secret manager
MCP annotations:     all create/update/delete tools flagged destructive
alwaysAllow:         []                     # empty until weeks of observation

The point is that the security group is the enforcement. Approval clicks and annotations are gates and hints, not walls. IBM's documentation notes that when you refresh authentication tokens for API keys, new tokens are generated and the current ones expire, so plan rotation and expect integrations that cached the old token to fail until updated.

Guidance 4 in practice: policy as a checklist

ControlSettingVerify by
Auto-approval disabled for risky groupsDisabledAutoApprovalGroups=edit,execute,mcpTry to enable auto-approve in the UI; confirm it is blocked
Workspace trustEnabledOpen an untrusted folder; confirm restricted behavior
Secret exclusion.bobignore lists .env, keystores, maximo.propertiesAsk Bob to read each file; confirm refusal
Update modeUpdateMode set to a pinned valueCheck the installed version on three machines
HooksEnforcedHooks logging every tool callReconstruct one change from the hook log
Bob Shell on CIPolicy coverage unconfirmed (documented as Bob IDE only)Do not run Bob Shell in CI during the pilot

That last row is an open question, and it appears again in the checklist at the end.

🎯 Designing the Pilot

This is the section to keep. Everything before it is context. Everything after it is what you do with the results.

Principles

PrincipleReason
Matched tasks, not volunteers' favoritesCherry-picked tasks guarantee a good story
Both arms timed with the same clockSelf-report is the exact failure METR documented
Count accepted work, not attempted workFailed attempts burn coins and reviewer time
Review is a first-class costIBM's own sources say it is the limiting factor
Pre-register the stop conditionsYou will be tempted to explain away a bad week
Record what you do not knowThe open-questions list is part of the deliverable

Scope: six weeks, 20 to 30 tasks, three task families

Pick task families that map to the high-fit rows from Part 4 and that you can test. Avoid anything that touches production data.

FamilyExample tasksWhy it suits a pilotVerification
A. Java MBO to automation scriptConvert a custom field-validation class to a script on an object launch pointPattern-heavy and testable; IBM skill existsUnit-style test in a sandbox; behavior diff
B. Autoscript review and refactorReview existing scripts against your standards; fix count() use, logging, MboSet handlingIBM skill exists; house rules applyReview checklist; performance measure on a copy
C. Integration or report changeAdd a field to an outbound integration payload; adjust a BIRT reportMedium-high fit; needs accurate API contextPayload diff; report output compare

Eight to ten tasks per family gives 24 to 30 in total. If you can only find twelve tasks, run twelve and report a wide uncertainty. Do not pad.

Arms and assignment

For each task, define the baseline method (what your team would normally do) and the Bob method. For a small pilot, a pure randomized design is unrealistic, so use matched pairs:

  1. Sort candidate tasks by estimated size (S, M, L) within each family.
  2. Pair tasks of similar size and risk.
  3. Flip a coin per pair to assign Bob or baseline.
  4. Have developers of mixed seniority on both arms. Do not give Bob only to your best people.

If your team is too small to split, use a crossover: each developer does comparable tasks in both arms, in alternating order, to cancel learning effects. Learning effects are real. METR flagged them, and Bob has its own idioms such as Plan mode and rules files that take a couple of weeks to use well. Plan a week-one warm-up that is excluded from the numbers.

The six-week schedule

WeekFocusGate to continue
0Policy applied, ledger created, rules file written, read-only key issued; baseline tasks selectedPolicy verified (checklist above)
1Warm-up tasks, excluded from analysisNo security incidents
2 to 3Family A and B tasks, both armsLedger complete for every task
4Family C tasks; first review-hour read-outReview hours per change not exploding
5Remaining tasks; 30-day defect window starts for early mergesDefects logged consistently
6Close ledger, compute metrics, write the go/no-go memoOpen-questions checklist updated

Because defects escape after merge, six weeks is a floor. Plan a short follow-up read at day 30 and day 60 after the last merge, and state in the memo that defect escape numbers are provisional until then.

📏 The Metrics, Defined So They Cannot Be Fudged

Vague metrics are how pilots prove whatever the sponsor hoped for. Each metric below has a definition, a formula, a source of truth, and a trap.

Headline metrics

MetricDefinitionFormulaSource of truthTrap to avoid
Defect escape rate (DER)Share of merged changes that cause a defect after review, within a fixed windowdefects attributed to merged changes ÷ merged changes, per arm, over 30 daysYour defect or incident tracker, tagged to the change IDCounting only defects Bob "caused" versus defects in AI-assisted changes
Review hours per accepted changeReviewer time from assignment to approval, including re-reviews after reworksum of reviewer hours ÷ accepted changesTimestamps in the pull request or change tool; reviewers log minutesReviewers skimming because the output looks polished
Bobcoins per accepted taskAll coins consumed on the task, including failed and abandoned attempts, per task that was acceptedcoins consumed ÷ accepted tasksBob usage data per user, tagged by task windowDividing by attempted tasks, which flatters the tool

Supporting metrics

MetricDefinitionWhy it earns its place
Acceptance rateAccepted tasks ÷ attempted tasksExposes tasks the agent could not finish
Rework cyclesNumber of review-then-change loops before acceptanceReview capacity is the bottleneck
Time to acceptedWall-clock from task start to acceptanceCaptures waiting on reviewers
Total human hours per accepted taskAuthor + review + test + rework hoursThe honest "time saved" figure
Perception gapDeveloper's estimated time saved minus measured time savedQuantifies the METR effect in your team
Policy exceptionsCount of blocked or overridden approvalsA security signal, not a productivity one
Standards findingsCount of violations of your autoscript standards in delivered outputTests the "feed it house rules" point

Cost per accepted task, with an illustrative calculation

You will need a unit cost. Bobcoin pricing is published as $20 per month for 50 coins on Pro ($0.40 per coin), $60 for 180 on Pro+ (about $0.33), $200 for 1,000 on Ultra ($0.20), with Enterprise priced as custom allotments and packs at $550 per 1,000 coins. IBM does not publish tokens per Bobcoin, and self-hosted pricing is not published. Individual overage was recorded at about $0.50 per coin by a third-party tracker. Verify all of these on bob.ibm.com before you use them.

Here is an illustration with invented numbers, to show the arithmetic. These are not measurements.

ItemBob armBaseline arm
Tasks attempted1212
Tasks accepted1012
Coins consumed (all attempts)60n/a
Coin price assumed$0.55 (Enterprise pack rate)n/a
Coin cost$33.00$0
Author hours (total)1840
Review hours (total)1410
Test and rework hours (total)98
Human hours per accepted task(18+14+9) ÷ 10 = 4.1(40+10+8) ÷ 12 = 4.8
Coins per accepted task60 ÷ 10 = 6.0n/a
Human cost at $90/hour per accepted task$369$432
Coin cost per accepted task$3.30$0
Total cost per accepted task$372.30$432.00

Read what the illustration says. Author hours fell sharply, review hours rose, and total human hours fell only a little. The coin cost is trivial next to the labor, which is typical: the bill that matters is people. A vendor figure that says "69% faster" and a measured figure that says "15% fewer total hours with more review burden" tell very different stories, and only the second helps you staff next quarter. If your real numbers look like this, the decision depends on defect escapes, and that is why DER is the first headline metric.

The ledger

Create the ledger before week one and make it a rule that no task starts without a row. A flat file is enough. Here is a CSV header and one example row.

task_id,family,size,arm,developer,started_at,accepted_at,author_min,review_min,test_min,rework_cycles,coins_used,accepted,change_id,defects_30d,standards_findings,dev_estimate_saved_min,notes
A-03,A,M,bob,dev2,2026-10-20T09:05,2026-10-20T14:40,95,70,40,1,6,yes,CHG-10482,0,1,120,"converted validation MBO; Plan output attached"

And a short script to compute the headline metrics per arm. It is deliberately plain so reviewers can audit it.

import csv
from collections import defaultdict

rows = list(csv.DictReader(open("ledger.csv")))
arms = defaultdict(lambda: dict(n=0, acc=0, coins=0, review=0, human=0, defects=0))

for r in rows:
    a = arms[r["arm"]]
    a["n"] += 1
    a["coins"] += int(r["coins_used"] or 0)        # failed attempts included
    if r["accepted"] == "yes":
        a["acc"] += 1
        a["review"] += int(r["review_min"])
        a["human"] += int(r["author_min"]) + int(r["review_min"]) + int(r["test_min"])
        a["defects"] += int(r["defects_30d"] or 0)

for arm, a in arms.items():
    acc = max(a["acc"], 1)
    print(f"{arm}: accept={a['acc']}/{a['n']}  "
          f"review_h/accepted={a['review']/60/acc:.2f}  "
          f"human_h/accepted={a['human']/60/acc:.2f}  "
          f"coins/accepted={a['coins']/acc:.1f}  "
          f"DER={a['defects']/acc:.2f}")

Two details matter. First, coins_used is summed for every row, accepted or not, so abandoned attempts raise the numerator. Second, human hours include review and test, so a change that is fast to write and slow to trust gets no free pass.

Capturing Bobcoins per task

Bob's usage data is reported per user, not per task, so you need a convention to attribute coins. A simple one works: each developer records the Bobcoin balance before and after each task window, and the project lead reconciles weekly against the account usage view. Where the tool shows usage in a different grain, reconcile the weekly total to the ledger sum and report any difference. If the totals disagree by more than about 10%, say so in the memo rather than quietly rounding.

🛑 Stop Conditions and Go/No-Go Thresholds

Write these down before week one and get the sponsor to initial them. People are far more flexible about stop conditions after the fact.

Stop conditions (any one halts the pilot)

TriggerAction
An agent action touches a production system or production dataStop immediately, revoke the key, run an incident review
A secret appears in a prompt, log, or outputStop, rotate, review .bobignore and workspace contents
An approval policy is bypassed or disabled on any pilot machinePause until the cause is fixed
Defect escape rate on the Bob arm exceeds the baseline arm by more than an agreed margin after 4 weeksPause and review the failure patterns
Reviewer hours per accepted change grow week over week for three weeksPause and test whether the bottleneck is rules, task choice, or review practice
Any task is found to have fabricated a Maximo object, field, or API that review missedLog as a critical finding and add to the review checklist

Go/no-go matrix

These thresholds are examples. Set yours with the sponsor, and set them before you see the data.

ResultReadingDecision
DER at or below baseline, total human hours down 15% or more, review hours not up more than 25%Credible, review-sustainable benefitGo for a wider rollout in the task families that won
DER at or below baseline, total human hours flat, review hours upWork shifted, not savedConditional: improve rules and task selection, re-pilot four weeks
DER above baselineQuality cost exceeds speed benefitNo-go until the failure patterns are fixed
High acceptance, low review confidence (reviewers say they cannot verify)The tool is outrunning your review processNo-go for that task family; consider only with stronger test harness
Good results only in Family AFit is narrowGo narrowly: license a few seats, keep the rest out

Notice that a narrow go is a perfectly good outcome. Java-to-script conversion alone may justify a small number of seats for a defined project, and you do not owe anyone an estate-wide rollout because a pilot succeeded somewhere.

🔬 Worked Scenarios: What You Will Actually See

These are the situations our practitioners expect, based on the Part 4 scenarios and the pattern of independent reports. They are forecasts of what to look for, not results, because we have not run a customer pilot.

Scenario 1: The conversion that passes the sniff test

A custom Java MBO validation class becomes an automation script. Bob's output compiles, runs, and passes the test you wrote. The reviewer approves in ten minutes.

What to check before you count this as a win:

CheckWhy
Is the launch point equivalent to where the Java ran?A different event changes when the logic fires
Are MboSet handling and cleanup consistent with IBM's guidance?IBM community guidance says not to call save() or close() on MboSets you did not get from MXServer
Does the script avoid count() where notExist() would do?IBM community guidance flags count() for performance because it requires returning all records
Is logging object-specific and guarded by isDebugEnabled?The same guidance recommends object-specific loggers over service.log()
Did anything about error messages or message keys change?Users see these

If the script passes all five, that task is accepted, counted, and its review time logged at its real value. If it passes the tests but fails two of the five, that is exactly the kind of finding that belongs in "standards findings" and in your house rules file.

Scenario 2: The review that finds real problems and invented ones

You point the autoscript optimizer skill at fifteen existing scripts. It reports forty findings. Some are real, such as count() in a hot path. Some are stylistic. A couple refer to a method that does not exist on that object.

This is where the independent critiques bite. The IBM i issue that triggered the "confidently hallucinates" comment was a wrong claim about a real parameter value. Your control is simple: every finding gets a verdict.

VerdictMeaning
ConfirmedReviewer reproduced or verified against IBM docs
Style onlyValid but not a defect; goes to standards, not defects
WrongFinding is inaccurate; log the claim and the correct answer
UnverifiableReviewer cannot tell; counts against review hours and is a warning sign

Report the wrong plus unverifiable share as a headline in the memo. If one finding in five is wrong, your review cost is real and no vendor percentage reflects it.

Scenario 3: The integration change that needs context

You ask for a new field in an outbound payload and a matching mapping change. Without an accurate API catalog in context, Bob guesses at an attribute name. With an object structure export and your standards file in context, it gets it right on the first pass. This is the Bordelanne conclusion in miniature: "The quality of the output depends heavily on the quality of the context provided."

The pilot test is cheap: run the same task twice, once with a thin prompt and once with rules and an API catalog, and log the coin cost and the review result of each. If context lifts acceptance and cuts review hours, that is evidence for investing in rules files regardless of which agent you buy. Max_Interfaces' endpoint library and Max_autoscripts' standards file are natural context sources, and both are MIT-licensed.

Scenario 4: The tempting read-write experiment

Week five, someone proposes: "Let's let it fix the stuck work orders through MCP." This is the demo from Part 4 and it is the moment a pilot either keeps its discipline or loses it.

QuestionRequired answer before proceeding
Is the key scoped to named object structures and a defined set of sites?Yes, in writing
Is there a dry run that lists the records it would touch?Yes, reviewed by a human
Are destructive tools annotated?Yes
Is this a non-production environment?Yes
Who approves, and where is that recorded?A named person, in the change record

If any answer is no, the experiment waits. A pilot designed to measure code-change productivity should not turn into a production automation project halfway through.

⚠️ Pitfalls and Troubleshooting

SymptomLikely causeWhat to do
Developers report big savings, timers show littleThe perception gap; self-reported timeReport both columns, trust the timers
Review hours climb while authoring hours fallWork moved from writing to reviewingImprove rules, add tests, shrink diff sizes; do not hide the shift
Bobcoin consumption is erratic across similar tasksUnknown model routing; long contexts; retriesRecord task context size and retries; ask IBM about routing
Coins per accepted task far above expectationsFailed attempts and abandoned sessionsCount them; they are real cost
Findings cannot be verified by reviewersOutput sounds authoritative but is not checkableRequire evidence (doc link, test) per finding
Pilot machines show different approval behaviorPolicy not uniformly enforcedRe-verify the policy checklist; pin UpdateMode
Defects appear in the baseline arm tooTask difficulty, not toolThat is why you matched tasks; report relative, not absolute
Skill output differs from README promisesIBM moved paths or namesPin the commit of every IBM asset, as Part 4 advised
Tool works great on SaaS, poorly self-hostedDifferent model tierEvaluate the deployment you will actually run
Sponsor wants the 69% on the slideAnchoringOffer the pilot number and keep IBM's figure in a labeled footnote

Five failure patterns we expect most

  1. The senior-only pilot. Only your best developer uses Bob, so success cannot be separated from the person.
  2. The warm-up counted. Week-one learning effects distort the first numbers in both directions.
  3. The unreviewed win. Output that looks polished is approved quickly, and the defects arrive after the window.
  4. The moving goalposts. Thresholds change after the data arrives.
  5. The scope creep. A code pilot becomes a production-automation project.

✅ The Open Questions as a Verification Checklist

The field guide closes with a backlog of items that could not be verified or where IBM sources conflict. Here they are rewritten as a checklist you can hand to your IBM seller or technical contact. For each, we note why it matters, who to ask, and what evidence would settle it.

Blocking questions: settle before signing

#Open questionWhy it mattersAskAcceptable evidence
1Self-hosted audit logging. The September blog says self-hosted "includes identity, the inference gateway, audit logging, and usage metering." The solution-architecture doc says Audit Logs and Metering services are "Not included in the initial release; planned." Known limitations say activity logs are not in the Admin UIA regulated client will ask for an audit trailIBM technical salesWritten statement of what is logged, where, and in which release
2SaaS audit scope. CADF activity logs cover authentication and admin events. Unclear whether prompts, tool calls, and file edits reach Splunk SIEMReconstructing what an agent didIBM supportSIEM event schema with a sample
3SaaS model versions. IBM names families (Claude, Mistral, Granite) but not versions or routing policy, and shows no per-task modelReproducibility, risk review, rating comparisonsIBMDocumented routing policy or contractual disclosure
4Bobcoin economics. Tokens per Bobcoin are unpublished; individual overage about $0.50 per coin (third-party tracker) versus Enterprise packs at $550 per 1,000; self-hosted pricing unpublishedBudgeting and cost per taskIBM salesQuote with unit rate and overage terms
5Group policies on Bob Shell. Documented as Bob IDE onlyCI runners and terminal useIBMDocumentation that names Shell coverage
6No public SOC 2, FedRAMP, or ISO 42001 statement for Bob. Only "IBM is ISO 27001 certified," with artifacts under NDAVendor risk assessmentsIBM securityReports or attestation letters under NDA
7Guardrail mechanisms. IBM names prompt normalization, sensitive data scanning, real-time policy enforcement, and AI red-teaming but does not document how they workSecurity reviewIBMArchitecture description

Questions that sharpen the business case

#Open questionWhy it mattersAsk
8Maximo 69% methodology. Task mix and measurement methodWhether the figure can be cited at allIBM Maximo team
9Customer metric consistency. Blue Pearl appears as 30 days to 3 days and as nine months with 14 engineers to three daysCredibility of case studiesIBM marketing
10Self-hosted GPU sizing. IBM publishes none for Nemotron, Laguna, or MistralReal cost of self-hostingIBM
11Self-hosted model list inconsistencies. The supported-models page lists Gemini 3.7 Flash while config examples use gemini-3.6-flash and gemini-3.1-pro; "Mistral 3.5" versus mistral-medium-3-5-0; the Oct 1 release names no models; third-party coverage says Nemotron and Laguna at GAWhat you are actually buyingIBM
12WCA end-of-support date. Only "adoption path" languageMigration planning if you use watsonx Code AssistantIBM

Questions that affect how you describe Bob

#Open questionPlain statement to use until resolved
13Self-hosted GA date. Three candidates: September 24 (release blog says "As of September 24, 2026… generally available"), September 30 (FACTBASE), October 1 (newsroom announcement, which does not say "GA")"GA September 24 per release notes; announced October 1 per newsroom"
14Bob 1.0 versus GA. Bob 1.0.0 shipped March 24, 2026; global GA was announced April 28"1.0 in March, global GA announced April 28"
15Rollback and git. The V2 blog says rollback no longer depends on git; the FAQ still says it uses git"Confirm rollback behavior against current docs before relying on it"
16Bob plus MAS 9.2 MCP end to end. No IBM or community write-up shows Bob calling the native Maximo MCP server in production; the Bordelanne MCP scenarios were speculative"Supported in principle, not demonstrated publicly"

Sixteen items. A few more from Part 4 sit alongside them: the streamable HTTP versus SSE transport match, the full per-tool schemas for the MCP server, the optimizer web app's data path, and a code audit of the skill scripts before you run them. Add them to your own copy.

How to use the checklist

  1. Put it in a shared document with a status column: Open, Asked, Answered, Accepted risk.
  2. Send the blocking list to IBM in writing and keep the replies. A verbal answer from a seller is not evidence.
  3. Decide for each blocking item whether an unresolved answer is a stop or an accepted risk, and have the risk owner sign it.
  4. Re-check the list at the end of the pilot. Several of these were moving targets in the weeks we wrote this series, and the repository path drift we found in Part 4 is a reminder that IBM's pages change.
💡 Key insight: An honest "we don't know yet" with a named owner and a date is worth more in a steering committee than a confident number nobody can source. The open-questions list is not a weakness of the pilot. It is part of the deliverable.

🗺️ Where This Series Leaves You

Five parts, one thread. Here is the whole arc in one table.

PartQuestion it answeredThe takeaway you should keep
1: What IBM Bob IsWhat is it, and where did it come from?Bob is IBM's agentic SDLC platform on the WCA lineage, rebuilt as V2 in June 2026; conflicting dates are carried, not hidden
2: Models, Security, Self-HostedWhat does it run on, and where does your data go?SaaS routes models automatically; self-hosted uses one core model on OpenShift; both have limits you must know
3: Governance, Pricing, BobcoinsHow do you control and pay for it?Lock auto-approval, treat hooks as your action log, treat the audit trail as incomplete until IBM says otherwise
4: Bob Meets MaximoWhat can it actually do against Maximo?Four doors with four risk profiles; open them in order; the 69% is one sentence
5: The Pilot PlaybookHow do you decide?Measure accepted work, review hours, and defect escapes yourself, and keep a list of what you still don't know

The Ten Commandments of a Bob Pilot on Maximo

  1. Pilot before you buy, and buy only what the pilot supports.
  2. Never cite an IBM number without the word "IBM-reported."
  3. Measure with timestamps, because developers cannot feel their own speed.
  4. Count accepted work, not attempted work, in every ratio.
  5. Treat review hours as the headline cost, because review capacity is the limit.
  6. Match your tasks and include people of mixed seniority on both arms.
  7. Write the stop conditions first and have the sponsor initial them.
  8. Keep agents on the API layer, read-only first, with the security group as the wall.
  9. Test the deployment you will run, especially if that is self-hosted.
  10. Publish your unknowns alongside your results.

Your next steps

This week:

  • Pick the three task families and list 30 candidate tasks with sizes.
  • Draft the ledger header and the stop conditions, and get the sponsor's initials.
  • Send the seven blocking questions to your IBM contact in writing.

Before week one:

  • Apply and verify the policy checklist on every pilot machine.
  • Issue the read-only pilot key, scoped to two or three object structures, in a non-production environment.
  • Write the rules file from your autoscript standards, and run one dry task to test the ledger.

At the end of week six:

  • Compute the metrics with the plain script, per arm, and show the perception gap.
  • Write the go/no-go memo using the matrix, including a narrow go as a legitimate result.
  • Schedule the day-30 and day-60 defect read-outs, and update the open-questions checklist.

If your numbers beat the baseline, you will have the best evidence anyone has published about Bob on Maximo, and it will be yours. If they do not, you will have saved the cost of an annual commitment and learned where the tool's limits sit. Both are good outcomes. A pilot with no possible bad outcome was never a pilot.

References

Continue the Series

This is the finale. Where to go from here:

Back to: Part 4, Bob Meets Maximo | Part 3, Governance, Pricing, and Bobcoins | Part 2, Models, Security, and Self-Hosted | Part 1, What IBM Bob Is | Series Index

About TheMaximoGuys: We help Maximo developers and teams navigate the move to MAS 9 with practical, no-hype guidance grounded in how the platform actually behaves.

Published by TheMaximoGuys | October 2026