Home / Blog
Process Analysis

BPMN in Practice: Mapping Processes Before Automating Anything

Why modeling first is discipline, not bureaucracy, and what you find in the as-is state that saves you from automating the wrong thing.

Every process automation project I have seen that went badly had one thing in common: the team automated before they modeled. They looked at the task list, built the workflow, deployed the system, and discovered six months later that the process the system runs is not the process the business actually runs. The workarounds, the exceptions, the informal decisions that kept things moving: none of those made it into the diagram anyone looked at before building.

Business Process Model and Notation (BPMN) is not a bureaucratic formality. It is the instrument that makes the gap visible before the build, when it costs almost nothing to close. After the build, that same gap costs a change request, a rework sprint, and a meeting nobody wants to have about why the system doesn't match the process.

What BPMN actually is

BPMN is a standardized graphical notation for describing business processes. The core vocabulary is small: events (circles) mark where a process starts, ends, or is interrupted; activities (rectangles) are the tasks and sub-processes that do the work; gateways (diamonds) are decision points and parallel splits; sequence flows (solid arrows) connect them. Pools represent organizations or systems; lanes divide a pool into roles or departments.

The notation is formal enough to be unambiguous but readable enough to be reviewed by a stakeholder who has never heard of BPMN. That combination is rare in technical documentation and worth preserving: a process model that only a BA can read isn't a communication tool, it's a filing artifact.

The two models that matter most in practice are the as-is (how the process works today) and the to-be (how it will work after the change). The as-is is where the analysis lives. The to-be is where the requirements live. Skipping the as-is to get to the to-be faster is the most common and most expensive shortcut in process work.

What you find when you model the as-is

The as-is model almost never matches what anyone described in the interview. This is not because people lied. It's because process knowledge is largely tacit: people know how to do their job without being able to articulate every branch, and they describe the happy path because that's what they spend most of their time on.

What the model surfaces:

Undocumented exception branches. The approval that skips one level when the amount is below a threshold. The manual fix that runs every Friday because the system produces a known error. The phone call that substitutes for a system integration that was never built. These branches exist in every mature process, and they're invisible until you walk someone through the model step by step and watch their face when you show them the path you drew from their description.

Unclear ownership. A lane with two roles both performing the same activity is a governance gap. A gateway with no documented owner is a decision being made differently by different people depending on who happens to be available. Mapping reveals these, and they produce requirements: the to-be either resolves the ambiguity or makes the policy explicit.

Bottlenecks and wait states. BPMN intermediate events include timers and message waits. Inserting them honestly in the as-is model makes the cycle time visible: not as an estimate, but as a consequence of the process structure. A task that waits for an email approval that arrives once a week is a different problem from a task that requires specialist judgment that only one person can provide. They look similar in a text description and completely different in a model.

Process fragmentation. Work that crosses systems, teams, and time zones in ways nobody had charted before. The model makes the handoffs visible as explicit sequence flows, and explicit handoffs can be questioned, redesigned, or eliminated.

Three BPMN patterns I use constantly

Most real-world processes are combinations of a small number of structural patterns. Recognizing them makes modeling faster and makes the to-be conversation more concrete.

The approval loop. A task produces an output. A decision gateway checks whether it's approved. If yes, the process moves forward. If no, it loops back for revision. The loop is the critical part to model explicitly, because it's where cycle time accumulates and where the "how many times can this loop" question lives. Most specifications never answer it, and the system then either loops forever or hard-stops at an arbitrary iteration count the developer chose.

The exception branch. The happy path continues straight through the gateway. An exception condition routes to a correction sub-process, then either rejoins the main flow or terminates with an error event. Modeling both paths explicitly is how you get requirements for both: the happy path that the stakeholder described, and the exception handling that the operations team lives in.

The parallel gateway. Two or more activities that can run concurrently are split by a parallel gateway and joined by another before the process continues. This pattern matters because systems often serialize what humans do in parallel. An approval that requires sign-off from finance and legal doesn't have to be sequential: the to-be can run both in parallel and wait for both before proceeding, which cuts the approval time roughly in half. The parallel gateway makes that choice explicit and reviewable.

The anti-pattern: automating before modeling

The pressure to start building is real and constant. Every day spent modeling is a day the system isn't in production, and the people funding the project do not experience modeling as progress. The argument for skipping it sounds reasonable: the team knows the process, let's not slow down.

Automating before modeling doesn't speed up delivery. It speeds up the installation of a system that runs the wrong process at machine speed. Manual workarounds are slow and visible. Automated ones run overnight and are invisible until someone reads a report and finds a number that can't be right.

The dysfunctions that live in the as-is process are not automatically resolved by automation. They're encoded into the new system. The informal approval that one manager gives verbally becomes a hard-coded bypass. The Friday manual fix becomes a scheduled job that nobody documents. The ambiguous ownership becomes a workflow rule that arbitrarily assigns to one role when nobody decided that was the right answer.

Modeling first is not slower. It is the only way to make the to-be design a deliberate choice rather than an accidental one.

The right scope for a BPMN model

The temptation when starting a model is to capture everything. A process map that covers forty steps across eight lanes and three pages is not useful: it's a compliance artifact that nobody will read after the project closes. The model that gets used in requirements sessions, that gets challenged in reviews, and that actually shapes the to-be design is a model at sub-process level: focused enough to show the decision points and handoffs that matter, abstract enough to fit on one screen.

Start at the level where the problem lives. If the problem is the approval cycle, model the approval sub-process in detail and represent the upstream and downstream processes as collapsed sub-process shapes. If the problem is the handoff between two teams, model the handoff and collapse everything before and after it. The model is a tool, not a record: it should be exactly as detailed as the decision it supports, and no more.

A BPMN diagram that the business owns and can update is more valuable than a BPMN diagram that lives in a BA's tool and is referenced once per project. Keep it maintainable, keep it legible, and keep the conversation about the process rather than about the notation. The notation is the means. The conversation is the point.

← Previous
Bad Requirements Cost More Than You Think