How to draw a swimlane diagram

A swimlane diagram is a flowchart split into lanes, one for each person, team or system, so you can see who does each step and where the work changes hands. Draw one when a process crosses teams: an order, an approval, onboarding.

Three lanes: Customer, Shop and Warehouse. The customer places an order; the shop takes payment and asks “In stock?”. No leads to Refund in the shop’s lane; yes leads to “Pack and ship” in the warehouse’s lane, which leads back up to the customer’s “Gets the parcel”. Three lanes: Customer, Shop and Warehouse. The customer places an order; the shop takes payment and asks “In stock?”. No leads to Refund in the shop’s lane; yes leads to “Pack and ship” in the warehouse’s lane, which leads back up to the customer’s “Gets the parcel”.
An order across three lanes: every arrow between lanes is a hand-over.

Step by step

  1. Pick Swimlane from the Diagram menu and click New pool. Type the first lane’s name, press Tab for the next one, and Escape when you’re done. Tab on the last lane adds another.

    A new pool of three lanes named Customer, Shop and Warehouse, next to the swimlane shape panel. A new pool of three lanes named Customer, Shop and Warehouse, next to the swimlane shape panel.
  2. Put each step in the lane of whoever does it: click a shape in the panel, then click inside the lane, press Enter and type. A lane grows to fit what’s in it, and the lanes below make room.

    One step in each lane: “Places an order” for the customer, “Take payment” for the shop and “Pack and ship” for the warehouse. One step in each lane: “Places an order” for the customer, “Take payment” for the shop and “Pack and ship” for the warehouse.
  3. Connect the steps: press A and drag from one to the next. Arrows between lanes are where one person hands the work to another.

    Arrows from “Places an order” down to “Take payment”, and from there down to “Pack and ship”, each crossing into the next lane. Arrows from “Places an order” down to “Take payment”, and from there down to “Pack and ship”, each crossing into the next lane.

Tips

Mermaid

Mermaid has no swimlanes of its own, so Export Mermaid… writes each lane as a subgraph holding its steps:

flowchart LR
  subgraph Customer
    A([Places an order])
  end
  subgraph Shop
    B[Take payment]
  end
  subgraph Warehouse
    C[Pack and ship]
  end
  A --> B --> C

Pasting this text onto the board gives zones rather than lanes. More on Mermaid import and export.