Failure PatternDecision layer
The Exception Tax: Why Workflow Automation Budgets Blow Up in Agency Delivery
Symptom: Hours logged against a fixed-fee retainer climb in month two and three as the same workflow needs manual patching for edge-case records. Root cause: Scoping priced the happy path and ignored exception handling, so every unmapped branch becomes unbudgeted delivery time.
By InnovaAI ResearchPublished
How do you recognize it?
- •Hours logged against a fixed-fee retainer climb in month two and three as the same workflow needs manual patching for edge-case records
- •Client tickets arrive describing duplicate records, missed handoffs, or notifications sent to the wrong contact, none of which appeared in the build spec
- •The automation runs clean on the demo dataset but stalls on real client data with blank fields, mixed formats, or legacy IDs
- •Nobody on the account can say how many runs failed last week, because failure alerts route to an inbox no one owns
- •Scope conversations reopen every time the client adds a new app or changes a form field
Why does it happen?
- •Scoping priced the happy path and ignored exception handling, so every unmapped branch becomes unbudgeted delivery time
- •Data quality upstream was never audited, and bad inputs surface as workflow errors that look like platform problems rather than source problems
- •Monitoring and alerting were treated as optional extras instead of part of the build, leaving failures invisible until a client notices
- •Ownership after launch was never assigned, so the agency absorbs maintenance by default with no line item funding it
How do you fix it?
- •Re-price the workflow against a written exception inventory: count every branch, fallback, and manual review step before quoting the next phase
- •Instrument the live workflow with failure alerts routed to a named owner and a weekly run-count review on the client call
- •Run a source-data audit on the connected objects and fix duplicates and missing fields before adding any new automation step
- •Convert maintenance into a separate monthly line item with a defined response window, so exception work stops eating fixed-fee margin