In BPMN 2.0, what is the difference between a pool and a lane in a hiring process diagram?
answer
- who takes part versus who does it
- one process per pool at most
- lanes slice a single process
- which boundary a sequence flow cannot cross
basics
~20 sIn BPMN 2.0 a pool is the graphical form of a participant, such as the employer or the candidate, and contains at most one process; a lane is a sub-partition inside that process, such as Recruiting or Hiring manager.
solid answer
~40 sA **pool** represents a **participant** in a collaboration: a `PartnerEntity` such as a company or a `PartnerRole` such as a buyer. The participant's `processRef` points at **at most one** process, drawn inside the pool; a pool with no process is a black box. A **lane** is a **sub-partition within a process** that organises and categorises its activities; BPMN leaves the meaning to the modeller, so lanes are commonly roles, departments or systems. In a hiring model the employer is one pool with lanes such as Recruiting and Hiring manager, while the candidate and the background-check agency are separate participants and so separate pools. Sequence flows may cross lane boundaries freely, because the lanes share one process, but never a pool boundary; interaction between pools is shown by message flows.
code
xml · 19 lines<collaboration id="HiringCollaboration">
<participant id="Employer" name="Employer" processRef="EmployerHiring"/>
<participant id="Candidate" name="Candidate"/>
<participant id="Agency" name="Background-check agency"/>
</collaboration>
<process id="EmployerHiring" processType="Private">
<laneSet id="EmployerLanes">
<lane id="Recruiting" name="Recruiting">
<flowNodeRef>ScreenApplication</flowNodeRef>
</lane>
<lane id="HiringManager" name="Hiring manager">
<flowNodeRef>Interview</flowNodeRef>
</lane>
</laneSet>
<task id="ScreenApplication" name="Screen application"/>
<sequenceFlow id="f1" sourceRef="ScreenApplication" targetRef="Interview"/>
<task id="Interview" name="Interview"/>
</process>go deeper
Recall that a pool is a participant, at most one process, and a lane is a partition inside that process.
Explain which hiring parties become pools and which become lanes, and why sequence flow may cross lanes but not pools.
Show how a wrong pool-or-lane choice misstates control and accountability, and restructure models where external parties sit in lanes.
Set conventions for what lanes mean across a modelling practice, since the standard leaves lane meaning to the modeller.
## Two kinds of swimlane BPMN 2.0.2 groups flow elements with two **swimlanes**: pools and lanes. They look alike (square-cornered rectangles drawn with a solid single line) but they answer different questions. | | **Pool** | **Lane** | |---|---|---| | Represents | a **participant** in a collaboration | a **partition** of one process | | Defined in | the `collaboration`, as a `participant` | the process's `laneSet`, as a `lane` | | Contains | zero or one process (via `processRef`) | a set of flow nodes of that process (`flowNodeRef`) | | Sequence flow across its boundary | never | allowed | | Meaning set by | the standard: an independent party | the modeller: role, department, system | | Nesting | not applicable | yes, through a child lane set | ## Pools: participants Clause 9.3 defines a pool as the **graphical representation of a participant** in a collaboration. A participant can be a specific **PartnerEntity** (a company) or a more general **PartnerRole** (for example, candidate or employer). Key rules: - A pool **may or may not** reference a process. With no process it is a **black box**. - A pool is the container for the sequence flows of its process; **a process is fully contained within the pool**, and sequence flows cannot cross its boundary. - Interaction between pools is shown through **message flows**. - One pool in a diagram, typically the modeller's own internal process, may be drawn **without a boundary**; all others must have one. - A pool may carry a **multi-instance marker** (three vertical lines, centred at the bottom) when the participant has multiplicity, for example many candidates interacting with one employer. ## Lanes: partitions inside a process Clause 10.8 describes a lane as a **sub-partition within a process** that extends the entire length of the process. The standard says the meaning of lanes is **up to the modeller**; it does not specify their usage. Common choices: - internal roles, such as Recruiter or Hiring manager; - departments, such as Talent acquisition or Finance; - systems, such as an applicant-tracking application. Lanes can be **nested** (departments, then roles within them). A process can hold several **lane sets**, each partitioning the same flow nodes a different way; all lanes in one lane set must use a partition element of the same type. ## Applying it to the hiring process The hiring process involves four parties: the candidate, the recruiting team, the hiring manager and an external background-check agency. The first question is which of them are **independent participants** and which are **parts of one organisation's process**: 1. The **employer** is a participant. Its process (screen application, interview, decide, make offer) sits in one pool. 2. **Recruiting** and the **hiring manager** work inside that same process, so they are **lanes** in the employer's pool. 3. The **candidate** acts on their own behalf; the employer cannot sequence the candidate's actions. The candidate is a **separate pool**. 4. The **background-check agency** is another organisation with its own process. It is a **separate pool** too. ## In the interchange format The XML keeps the two apart. The **collaboration** lists one `participant` per pool; only the employer's has a `processRef`, so the candidate and agency are black boxes. The employer's **process** owns a `laneSet`, and each `lane` names the flow nodes it partitions with `flowNodeRef`. A lane never points at a process of its own; a participant never lists flow nodes. The example below shows this structure for the hiring model, with the employer's process marked `processType="Private"`. ## What the distinction changes - **Accountability.** Placing an activity in a lane states which part of the organisation is responsible for it inside that process. Placing it in another pool states that a different party performs it under its own control. - **Flow.** Within the employer's pool, a sequence flow runs from Recruiting's `Screen application` to the hiring manager's `Interview`. Between the employer and the candidate, only message flows connect, because the candidate's steps are not driven by the employer's token. - **Scope.** A lane never has a process of its own, so it cannot be a separate party in the conversation. That is what a pool is for.
- In BPMN 2.0, may a diagram show one pool without a boundary?Yes. One, and only one, pool in a diagram may be presented without a boundary, typically the process of the modeller's own organisation, considered internal. If there is more than one pool, the remaining pools must have a boundary.
- In BPMN 2.0, what does a multi-instance marker on the Candidate pool mean?It marks the participant as multi-instance: more than one candidate takes part in the interaction. The marker is three parallel vertical lines centred at the bottom of the pool, and the participant's multiplicity carries a minimum and maximum.
- In BPMN 2.0, can lanes be nested, for example Talent acquisition with Sourcer and Recruiter inside it?Yes. A lane can hold a child lane set, so lanes can be nested or arranged as a matrix, such as departments on the outer level and roles within each department.
A pool is a separate company in a joint project; lanes are the departments inside one of those companies. Departments hand work to each other internally, while companies only exchange correspondence.
saying these in an interview costs you the question
- Treating a pool and a lane as interchangeable swimlanes
- Modelling the candidate as a lane in the employer's pool
- Believing a pool must always contain a process
- Thinking a sequence flow may cross from one pool into another
- Believing BPMN fixes lanes to mean organisational roles only