Swimlane

Swimlane is, in BPMN, a modeling element to separate and organize activities by participant.

Overview
In business world, multiple participants, including humans, departments, and information systems, complexly interact with each other in order to execute business processes. When describing such business processes, Swimlane is used to separate and organize activities by participant so that we can intuitively understand who is responsible for each activity. When Swimlane is allocated to a participant, activities placed in the Swimlane are activities that the participant is in charge of. Swimlane is considered as one of BPMN Core Elements.

A Process represented with Swimlane is called "Private Process," and the entire business process is considered as a set of such Private Processes. The biggest advantage of using Swimlane is that interactions among Private Processes and participants can be shown when diagrams using BPMN show multiple Private Processes.

There are two types of elements that correspond to Swimlane in BPMN.
 * Pool
 * Lane

Each participant is represented as "Pool," and all Business Flow Diagrams contain at least one Pool. When only one Pool is included in a diagram, the Pool is not drawn usually. When multiple Pools are included, they must be drawn.

Pool can be further divided into sub Swimlanes, which are called "Lanes," based on roles and business.

Pool
In BPMN, Pool is represented with a rectanble, which can be portrait-oriented or landscape-oriented, and it represents a participant in the business process. A model designer can arbitrarily define participants. They can be defined coarsely, such as a "company" and a "customer." Or, they can be defined with finer granularity, such as a specific "department," "role," "seller," "buyer," and so on. In addition, Pool can distinguish one participant's task from other participants' tasks. Furthermore, interactions among participants in business (B2B, Business-to-Business) are connected by using Flows. The name of the Pool is shown on top of it, and in most cases, border lines are drawn for that name.

Pool can be categorized into two, depending on whether the detail of the process is described in it or not.
 * "Black Box" Pool
 * This is a Pool that does not show the detail of the process. Sequence Flows can not be connected to it. Message Flows can be connected to the boundary of it.
 * "White Box" Pool
 * This is a Pool that shows the detail of the process. Flows can be connected to it. In addition, Message Flows can go beyond the boundary of the Pool and can be connected to activities in the Pool.

Lane
Lane is a sub section in a Pool and is used to separate and organize activities in the Pool. When the Pool is landscape-oriented, the Pool is horizontally divided. If the Pool is portrait-oriented, the Pool is vertically divided. The exact usage of Lanes is not specified in BPMN. Model designers can arbitrarily determine the way of division. For example, Lanes can be defined based on roles, such as a chief and colleague, systems, such as all kinds of applications, internal departments, such as accounting and marketing, and so on. The name of the Lane is placed on top of it.

Actual Executer in Swimlane Allocated to Multiple Participants
It is in general considered that when a task A in the Swimlane is allocated to one participant, the participant is supposed to do subsequent processes (B, C, ...) in addition to task A. This is because subsequent tasks B, C, ... are closely related to task A, and thereby it is not efficient if another participant executes task B, C, ... Therefore, in many cases, a participant that is allocated first is supposed to execute processes in the same Swimlane. On the other hand, it is generally considered that a participant that can handle all the tasks in the Swimlane should be selected when a task is allocated. (This is called "Retain Familiar.")

Related Articles

 * BPMN
 * Activity
 * Flow
 * Sequence Flow
 * Offer
 * Allocation
 * Message Flow