Automation · · 8 min read
Automation needs boundaries
Automate the repeatable parts. Keep judgment where judgment belongs.
Automation is valuable when the system knows what it is allowed to decide, how failure becomes visible and where a person takes over.
That sounds obvious. In practice, automation projects are often described as a happy path: receive input, apply logic, update a system, send a message. Real processes wait, retry, time out, receive contradictory data and encounter cases nobody predicted. A script that only handles success is a demo with a calendar invitation.
The difficult work begins with deciding which actions are repeatable, what supports each decision and who owns the result when reality leaves the expected path. Removing people from a diagram answers none of that.
Model the work before the automation
Start with the work as it happens, including the awkward parts. Record what starts the process, which information it requires and which decisions follow explicit rules. Mark where people rely on knowledge that the data does not contain. Include unavailable systems, waiting times and the point at which delayed work needs attention.
A useful model includes states, not only steps. “Waiting for customer information” is a state with ownership, deadlines and possible exits. “Payment failed” may require retry, correction, cancellation or investigation. If these states are implicit in logs, inboxes or someone’s memory, automation will hide them rather than solve them.
Workflow engines can make long-running state, timers, retries and hand-offs explicit. A short local operation that a normal function can express clearly does not need one. Adding orchestration to three synchronous calls is architecture theatre with more dashboards.
Classify decisions by consequence
Not every decision deserves the same control. A useful classification considers consequence, reversibility and uncertainty.
- Deterministic and reversible: formatting data, routing by an explicit rule, or retrying a known transient failure. Automate directly and observe the result.
- Deterministic and consequential: applying a policy that affects money, access or regulatory state. Automate only with versioned rules, evidence and auditability.
- Probabilistic and reversible: suggesting a category or draft. Automation can act with thresholds and sampling if correction is cheap.
- Probabilistic and consequential: rejecting a customer, releasing funds or changing a legal status. Keep meaningful human approval and strong evidence boundaries.
The categories are not permanent. Better data, clearer policy or improved controls can move a decision. A process should make that evolution possible rather than burying the rule inside application code.
Put evidence next to the action
An automated action should be explainable from the information available at the time. Store the relevant input, rule or model version, result and correlation identifiers. Operators need that record to diagnose failures, and product owners need it to decide whether the rule still matches reality. Auditability follows from the same record.
Evidence has a retention and privacy cost. Keeping every prompt, document and intermediate result forever is not automatically responsible. Decide what must be retained, who can access it and when it should be removed. Traceability and data minimization are a real trade-off, not competing slogans.
For AI-assisted steps, separate source material from generated output. A reviewer should be able to see what the system used, what it proposed and which uncertainty remains. A fluent paragraph is not evidence of correctness.
Design retries as business behaviour
Technical retries are often treated as harmless. They are harmless only when the operation is idempotent from the business perspective.
Sending the same HTTP request twice may create two orders. Publishing an event again may trigger another payment. Retrying a model call may produce a different answer. The automation needs an identity for the intended action and a way to recognize whether it already happened.
Define:
- which failures are transient and worth retrying;
- the delay and maximum attempt count;
- the idempotency boundary;
- what happens after retries are exhausted;
- which partial effects require compensation;
- who sees the unresolved state.
Do not turn every failure into an infinite retry loop. That converts an exception into a queue that grows quietly.
Make exceptions first-class
Exceptions belong to the domain. Automation fails when it hides them or leaves nobody responsible for the next action.
An exception path needs enough context for a person to act. “Processing failed” is not a work item. Show the case, the relevant source data, what the system attempted, why it stopped and which actions are safe. Preserve the connection back to the automated flow so the person does not need to repair several systems manually.
Works well when
- Automation handles the repeatable majority
- Exceptions become visible, owned work
- Reviewers receive evidence and safe actions
Watch out for
- Exception tooling is product work, not a side screen
- People need training and clear authority
- Edge cases can reveal that the original process model was wrong
Design the human hand-off
Human review provides a control surface for decisions that still require judgment.
Give reviewers the source material, proposed action, reason, uncertainty and a clear way to correct the result. Record the decision without turning the interface into an interrogation. Route work to a role with the authority and context to decide, not merely to the next available inbox.
The hand-off also needs a deadline and a defined response when nobody acts. Some cases can wait; others need escalation or a safe default. “A human is in the loop” means very little if the loop has no owner or deadline.
Review data can improve rules and models, but only if corrections are captured in a usable form. Do not quietly reuse sensitive operational data for training because it happens to exist.
Keep AI inside an engineering boundary
AI can be useful for extraction, classification, summarization, search, drafting and tool-assisted engineering. Its output is probabilistic, sensitive to input and capable of failing persuasively. That makes it a component with a contract, not a magic layer above the system.
Define the contract:
- accepted input and prohibited data;
- expected output structure;
- validation rules;
- confidence or quality thresholds where they are meaningful;
- tools the model may call;
- actions that require approval;
- timeout, cost and fallback behaviour;
- evaluation examples that represent real failure modes.
The wrong fit is an “AI-first” initiative looking for a use case. Start with work that is expensive, slow or error-prone. Then decide whether deterministic rules, conventional software, process change or a model best addresses it.
Observe the process, not only the infrastructure
CPU, memory and request errors matter, but process automation also needs business-level signals: the number and age of waiting cases, the steps where they stop, the rules that create exceptions and whether retries recover work or merely delay intervention.
These signals turn automation into an operable system. They also show when the process itself needs to change.
Delivery matters here. Rules, workflows and model prompts change production behaviour and need versioning, testing and recovery like other software. Delivery is a system explains why the release path and diagnostic evidence are part of the product, not plumbing added later.
Modernization creates similar transition states when old and new systems run together. Modernization without the theatre covers how to choose seams and evidence-sized slices instead of hiding migration logic in temporary scripts that become permanent.
Failure signals
Automation is losing its boundaries when:
- success is measured only as tasks no longer performed by people;
- exceptions land in a shared inbox without context or ownership;
- retries can repeat consequential actions;
- rules change without versioning or impact analysis;
- a model can call tools beyond the consequence of its task;
- reviewers see generated output but not source evidence;
- manual overrides exist but are not recorded;
- nobody can explain the safe state after partial failure;
- the process creates a new hidden queue.
The response may be better automation, a smaller automated scope or removal of the automation entirely. Boundaries exist to make those choices possible.
Where this approach does not apply
Some tasks are so low-consequence and reversible that a detailed workflow model would cost more than the risk justifies. A local build script does not need a human approval matrix. A personal reminder does not need an audit trail.
Other processes are too ambiguous to automate responsibly. If experienced people cannot agree on the decision or explain the evidence, encoding it may only make disagreement faster. Clarify the policy first.
Automation is also the wrong fit when the process should be removed. Making an unnecessary approval step run in milliseconds is still maintaining an unnecessary approval step.
Review checklist
Before allowing an automated process to act, ask:
- What work and state have we modelled, including waiting and exceptions?
- Which decisions are deterministic, probabilistic, reversible and consequential?
- What evidence supports each action, and how long should it be retained?
- Is the action idempotent from the business perspective?
- Which failures retry, compensate, escalate or stop?
- Does a reviewer receive enough context and authority to decide?
- What happens when the human hand-off times out?
- Which tools and actions are inside the AI boundary?
- How do we observe queues, exceptions and process age?
- Can we release, evaluate and recover changes safely?
- Which signal would tell us to narrow or remove the automation?
Good automation does not pretend uncertainty disappeared. It gives uncertainty a visible state, an owner and a bounded next action.