Swimlane diagrams: lanes, roles and handoffs

Basics 8 min read · Updated November 14, 2026

A swimlane diagram draws a process in horizontal lanes, one per role, department, external partner or IT system, and places every step in the lane of whoever does it. Its main benefit is that handoffs become visible: every arrow that crosses from one lane into another is a moment where the case changes hands and usually waits.

What lanes stand for

A lane stands for whoever does the work, not for a person. Use roles (“Inside sales”, “Costing”) rather than names, so the diagram stays valid when people change. The app distinguishes five kinds of lane:

Roles and departments have a number of people, an availability and a cost rate per hour. External partners, customers and IT systems count towards lead time but are not treated as a bottleneck and are not part of the total staff demand, which counts only your own staff.

How many lanes?

As many as there are parties that do something different. If two roles always do the same steps, they share a lane; if one role only appears once, it still gets its own lane, because that one step is a handoff. If the number of lanes keeps growing during mapping, check whether the scope is too wide. See scoping a process.

Put the lanes in the order in which the case first reaches them. The customer or trigger at the top, the roles in between, external partners where they are needed. That keeps arrows short and the diagram readable.

Every change of lane is a handoff

A handoff is the moment the case moves from one lane to another. At that moment someone has to notice that a case has arrived, understand it and find time for it – which is why waiting time tends to collect at handoffs. In the quotation template, a non-standard request goes from inside sales to engineering and purchasing, then to costing, back to inside sales and, for large discounts, to the head of sales.

The app counts handoffs between lanes per case: every arrow whose source and target are in different lanes, weighted by how often a case runs along it. Arrows from the start or to the end count as well if they cross a lane. Decisions and parallel gateways do not inherit the lane of the step before them; what counts is the lane they sit in.

Handoffs per case = Σ traversals per case of all arrows that change lane

Example: counting handoffs

In the invoice check from the worked example, accounts payable does almost everything itself. Handoffs occur only on the side paths: 20% of invoices go to the supplier and come back, and because of the loop that path is used 0.25 times per case – once there and once back. 30% of invoices go to division management for approval and back. That gives 0.25 + 0.25 + 0.3 + 0.3 = 1.1 handoffs per case.

The number is low because the main path stays in one lane. A process in which the case moves between two departments three times would show a much higher number – and the app’s checks flag such a back-and-forth when a case changes between the same two lanes three times or more in a row.

Handoff media

How a handoff happens matters as much as how often. For each arrow you can record the medium: system, email, paper, conversation, phone or meeting. A handoff on paper between two steps that both work in a system is a media break; the information has to be typed again. Handoffs and media breaks are still two different metrics: a media break can also occur within one lane, for example when the mailroom stamps a paper invoice and then scans it into the document system. The app therefore reports media breaks in total and, separately, how many of them occur at handoffs. See media breaks and forms.

Reducing handoffs

Typical measures that come out of a swimlane diagram:

Before removing a handoff, check where the work goes: moving steps to one role can push that role above 100% utilization. See bottleneck analysis and staffing calculation.

Step by step: from an empty canvas to the metrics

The “Preparing a quotation” template in four stages, the way a process takes shape in the editor. Drawn with the app’s export from the model it calculates with.

  1. Preparing a quotationPreparing a quotation: empty Customer Inside sales Engineering Costing Head of sales Preparing a quotation
    1. Empty: just the lanes, i.e. who takes part in the process.
  2. Preparing a quotationPreparing a quotation: steps Customer Inside sales Engineering Costing Head of sales Preparing a quotation Request sent CRM Record request missing missing Standard product? ×0.7 ERP Look up price in price list missing missing ×0.3 Clarify technical feasibility missing missing ×0.3 Email Request purchase prices missing missing ×0.3 Excel Calculate quotation missing missing ERP Write quotation missing missing Discount above 10%? ×0.25 ERP Approve quotation missing missing CRM Send quotation missing missing Quotation received yes · 70% no · 30% yes · 25% no · 75% Line width = number of cases Media break Form or document worked in an IT system done manually ×0.3 Passes per case, if not exactly one (below 1: only some of the cases) Problem Measure
    2. Steps: tasks, decisions and connections in the order of the flow, still without times.
  3. Preparing a quotationPreparing a quotation: times Customer Inside sales Engineering Costing Head of sales Preparing a quotation Request sent 15% CRM Record request 10 min 4 h Standard product? ×0.7 ERP Look up price in price list 10 min 30 min ×0.3 Clarify technical feasibility 1 h 2 working days ×0.3 Email Request purchase prices 20 min 3 working days ×0.3 Excel Calculate quotation 45 min 1 working day ERP Write quotation 20 min 4 h Discount above 10%? ×0.25 ERP Approve quotation 5 min 2 working days CRM Send quotation 5 min 1 h Quotation received yes · 70% no · 30% yes · 25% no · 75% Line width = number of cases Media break Form or document worked in an IT system done manually ×0.3 Passes per case, if not exactly one (below 1: only some of the cases) Query rate Problem Measure
    3. Times: processing and waiting time per step. From these the app already calculates the lead time; without case volume and headcount there is no utilization yet.
  4. Preparing a quotationPreparing a quotation: metrics Customer Inside sales 3 ppl. · 58% Engineering 2 ppl. · 77% Costing 1 ppl. · 83% Head of sales 1 ppl. · 43% Preparing a quotation Request sent 15% CRM Record request 10 min 4 h Standard product? ×0.7 ERP Look up price in price list 10 min 30 min ×0.3 Clarify technical feasibility 1 h 2 working days ×0.3 Email Request purchase prices 20 min 3 working days ×0.3 Excel Calculate quotation 45 min 1 working day ERP Write quotation 20 min 4 h Discount above 10%? ×0.25 ERP Approve quotation 5 min 2 working days CRM Send quotation 5 min 1 h Quotation received yes · 70% no · 30% yes · 25% no · 75% Line width = number of cases Media break Form or document worked in an IT system done manually ×0.3 Passes per case, if not exactly one (below 1: only some of the cases) Query rate Problem Measure
    4. Metrics: with case volume (300 / month), headcount and cost rates, cost, staffing and utilization are added: lead time 3.3 working days, cost per case €86.75, staffing 2.8 FTE, highest utilization Costing at 83%.

Try it in the editor

Preparing a quotation · 300 / month

The quotation template has five lanes from customer to head of sales and a parallel branch for non-standard requests, where engineering and purchasing work at the same time.

Open the example in the editor

Free, no sign-up, in your browser. Lead time, cost and utilization are calculated while you draw.

Frequently asked questions

Is a swimlane diagram the same as BPMN?

Not quite. Swimlanes are a layout: lanes for responsibilities. BPMN is a notation that includes lanes, plus defined symbols for tasks, events and gateways. The app combines both. See the lesson on BPMN basics.

Should lanes be horizontal or vertical?

Both are possible. The app draws them horizontally, with the lane name on the left, so the process reads from left to right.

Does every handoff have to be removed?

No. Some handoffs are necessary, for example an approval for separation of duties. The point is to know how many there are and where waiting time collects.

Self-test

1. What should a lane name describe?
Lanes stand for whoever does the work, so the diagram stays valid when people change.
2. In the invoice example, why is the approval path counted as 0.6 handoffs and not 2?
Each crossing counts with the number of times a case runs along it: 0.3 there and 0.3 back.
3. Which lanes are never shown as the bottleneck?
Their waiting counts towards lead time, but the organization cannot add capacity there, so the app does not report them as the bottleneck.

Keep learning

Would you like to map or improve a process together with us? Contact