DEV Community

Cover image for Horizontal Rollout vs. One Custom Agent: Which to Fund First
Basavaraj SH
Basavaraj SH

Posted on Edited on

Horizontal Rollout vs. One Custom Agent: Which to Fund First

Heimstaden, a European residential property company, put ChatGPT Enterprise in front of employees across multiple countries while also giving engineers coding tools like Codex. The sequencing decision underneath it - which every team faces with a fixed AI budget - matters more than the tooling choice.

Horizontal Access Buys Information, Not Savings

You usually get one real shot at your first AI investment. Option A is vertical: pick one painful workflow - say, triaging maintenance requests across thousands of apartments - and build a custom agent wired into your ticketing system, property database, and contractor directory. Three to six months, real integration work, a clear ROI story if you picked the right workflow.

Option B is horizontal: provide seats of a general assistant for everyone, train people, and see what happens. It feels unserious to a finance team because the deliverable isn't savings. But that's the wrong way to read it. The deliverable is a ranked list of which workflows people are already automating by hand, stitched together with copy-paste. People are bad at predicting which parts of their job an assistant will actually absorb, so this information doesn't emerge from a requirements workshop.

The trade-off is real: horizontal spend tends to plateau. Usage spikes, novelty fades, and six months later you have a license bill and no shipped system. So horizontal only works if you commit up front to a promotion rule - a threshold at which a hand-run pattern gets funded as a built product.

A Promotion Rule You Can Write Down

Tag assistant usage by workflow (a short required prefix in the prompt, or a custom GPT per department, works fine). Then score monthly:

def promote(w):
 # w: {'users': 14, 'runs': 310, 'repeat_users': 9, 'mins_saved': 11}
 reach = w['repeat_users'] / w['users'] # stickiness
 volume = w['runs'] # monthly runs
 annual_hrs = w['runs'] * 12 * w['mins_saved'] / 60
 return reach > 0.5 and volume > 200 and annual_hrs > 400
Enter fullscreen mode Exit fullscreen mode

Three gates, each catching a different failure. reach kills the workflow one enthusiast loves and nobody else touches. volume kills the high-value-but-rare task where a human review step is cheaper than an agent. annual_hrs kills the frequent-but-trivial task that saves ninety seconds.

For a property manager, maintenance triage might clear all three - hundreds of runs a month, many repeat users, ten minutes saved each. Drafting tenant notices might clear volume but fail on minutes saved, so it stays a prompt template forever. That's a fine outcome, and it's cheaper than discovering it after a build.

Anything that passes gets integration work, evaluation tests, and a real owner. Anything that doesn't stays as a shared prompt.

Key Takeaways

  • Broad assistant access is best justified as discovery spend - it tells you which workflows deserve a custom build.
  • Horizontal rollouts fail when there's no pre-agreed rule for promoting a pattern into a funded system.
  • Score candidates on repeat users, monthly volume, and hours saved - passing one gate isn't enough.

What threshold would your team accept before funding a custom agent - and who gets to set it, product or finance?


Sources referenced: OpenAI Blog - Heimstaden customer story

Top comments (0)