Archyno
BPMNModelling practice

How to draw a BPMN diagram

Six steps, in the order that keeps a process diagram honest: name the two ends before the middle, draw the path where nothing goes wrong, and only then add the branches, the exceptions and the participants you do not control.

9 min readBPMN 2.05 of 6

RecruitingVacancyapprovedWrite advertReview wordingPost advertAdvert live
What the process looks like after step three: one pool, one line, no branches. Almost every bad BPMN diagram is one that skipped this stage and started adding gateways while the middle was still being argued about.

01Step 1. Fix both ends before the middle

Write down the event that starts the process, then every distinct way it can finish. Not the steps - the ends. This takes two minutes and it is where the disagreements are.

"Recruiting" is not a process. "From an approved vacancy to a live advert" is: it has one trigger and a stated finish, so two people can now disagree about whether shortlisting is inside it, cheaply, before anything has been drawn.

Name more than one end event if the process has more than one outcome. A process that can be rejected and does not show rejection as an ending is a process the diagram is lying about.

02Step 2. List the steps as verbs

Before any shapes, write the steps as a plain list, each one a verb and an object: write advert, review wording, post advert. The naming rule is doing work here rather than enforcing style.

  • A noun on its own - Advert - hides whether it is written, checked or published.
  • A passive form - Advert is reviewed - hides who reviews it, which is the question the pool has to answer later.
  • A name containing and is two tasks, or it is a subprocess. Split it now, while it is a line of text rather than a box with four edges attached.

03Step 3. Draw only the path where nothing goes wrong

One pool, left to right, start event to end event, no gateways at all. This is the figure at the top of this article, and it should feel too simple - that is the point.

The happy path is the spine everything else hangs from, and drawing it alone forces the question of what normally happens to be settled before the question of what occasionally happens. Diagrams built the other way round tend to have three exception branches and no clear main line, which is how a process diagram ends up being read by nobody.

Keep it on one horizontal line. Bending the main path around a corner to fit the page costs a reader more than a wide diagram does.

04Step 4. Add the branches and the loops

RecruitingJob boardyesnoadvertVacancyapprovedWrite advertWording approved?Post advertAdvert liveRevise wording
The same process after steps four and five: a decision, the rework loop it implies, and the participant who actually publishes the advert. The happy path is still a straight line across the middle, which is what keeps it readable.

Now ask, at each step, what else can happen. Every answer is a gateway, and the marker in it is the whole decision:

  • Exactly one path - exclusive gateway, the rhombus with an X.
  • All paths, always - parallel gateway, the plus. Remember the join waits for every branch.
  • One or more, depending - inclusive gateway, the circle. Powerful and the easiest to deadlock, so balance every split with its join.
  • Whichever happens first - event-based gateway. It decides nothing, it waits.

Then add the loops, because this is the step people skip. If work can be sent back, draw the flow back to the task that repeats - not to the gateway that noticed the problem. The full set of five rhombi and when each is right is in BPMN gateways.

05Step 5. Add a second pool only if you must

A second pool is expensive: sequence flow may not cross a pool boundary, so everything between the two becomes a message, and the diagram gets taller. Pay that cost for one reason only - there is a participant you do not control and cannot instruct.

A customer, a supplier, a payment provider, a job board: those are pools. Your own departments are not. Finance and legal both work for the same organisation and sequence flow has to be able to run between them, so they are lanes inside one pool.

When you do add one, consider leaving it empty. A collapsed pool says the messages are known and the internals are not, which is usually the honest position and stays true when the other party changes how they work.

06Step 6. Run five checks

Quick, mechanical, and between them they catch most of what goes wrong:

  1. Every path reaches an end event. Follow each branch with a finger. A path that stops at a task is a token stranded forever.
  2. Every split has its join. Particularly parallel and inclusive ones - an unbalanced pair is the standard way to deadlock a process.
  3. Every task is a verb and an object. The names that fail this are the steps nobody has thought through.
  4. No sequence flow crosses a pool boundary. One glance along each boundary line.
  5. Somebody who does the work has read it. This finds more defects than the other four together, and it is the only one that catches a diagram that is internally perfect and describes the wrong process.

In one line each

  1. 01Name the trigger and every ending before drawing any step.
  2. 02Steps are verb plus object; a name containing 'and' is two tasks or a subprocess.
  3. 03Draw the happy path alone first, on one horizontal line, in one pool.
  4. 04Add gateways only after the main line is settled, then add the rework loops.
  5. 05Loop back to the task that repeats, not to the gateway that detected the problem.
  6. 06A second pool is for participants you do not control; your own departments are lanes.
  7. 07Five checks: every path ends, every split joins, verbs, no flow across pools, and a human review.

Five complete processes built this way are in BPMN examples, and every symbol used along the way is indexed in the BPMN symbol reference.

07Common questions

What is the first step in drawing a BPMN diagram?

Fix the two ends before drawing anything in the middle. Write down the single event that starts the process and every distinct way it can finish, and the scope argument happens immediately and cheaply rather than after twenty boxes are on the page. Most disagreements about a process turn out to be disagreements about where it begins or what counts as done.

Should a BPMN diagram read left to right or top to bottom?

Left to right, with pools stacked vertically. This is not in the specification, but it is what every tool defaults to and what readers expect, so a top-to-bottom process costs comprehension for no gain. Keep the happy path on one straight horizontal line and push exception branches above or below it, so the normal case is visible at a glance.

How should tasks be named in a BPMN diagram?

Verb plus object, in the active voice: Approve invoice, Ship order, Notify customer. A noun on its own such as Invoice does not say whether it is created, checked or paid, and a passive form hides the participant. If a task name needs the word and, it is two tasks or it is a subprocess.

What tool should I use to draw a BPMN diagram?

Anything that exports BPMN 2.0 XML rather than only an image, because a diagram trapped in a picture file cannot be validated, diffed or executed. Beyond that the choice matters less than most comparisons suggest - the notation is a standard, so the constraint worth checking is the export format, not the drawing surface.

How do you know when a BPMN diagram is finished?

When every path reaches an end event, every gateway that splits has a matching join, every task name is a verb and an object, no sequence flow crosses a pool boundary, and somebody who does the work has read it and not corrected you. That last check finds more defects than the other four together.

All articles