Introduction: Understanding BPMN
Business Process Model and Notation (BPMN) is a standardized graphical representation for specifying business processes in a workflow. Developed by the Object Management Group (OMG), BPMN provides organizations with a common language to document, analyze, and improve business processes. This comprehensive cheat sheet covers everything from basic BPMN elements to advanced modeling techniques, helping you create clear, consistent, and effective process diagrams.
Core BPMN Elements
Flow Objects
| Element | Symbol | Description | Usage |
|---|
| Event | Circle | Something that happens during a process | Start, intermediate, or end points |
| Activity | Rounded rectangle | Work performed in a process | Tasks, subprocesses, call activities |
| Gateway | Diamond | Controls flow divergence and convergence | Decision points, parallel paths, merging |
Connecting Objects
| Element | Symbol | Description | Usage |
|---|
| Sequence Flow | Solid line with arrow | Shows order of activities | Connects flow objects in sequence |
| Message Flow | Dashed line with arrow | Shows message exchange | Connects pools/participants |
| Association | Dotted line | Links artifacts to flow objects | Connects annotations to elements |
Swimlanes
| Element | Symbol | Description | Usage |
|---|
| Pool | Rectangle container | Represents participant/organization | Contains one process, can interact with others |
| Lane | Subdivision within pool | Organizes activities by role/department | Groups related activities by responsibility |
Artifacts
| Element | Symbol | Description | Usage |
|---|
| Data Object | Document shape | Information flowing through process | Inputs/outputs of activities |
| Group | Rounded rectangle (dashed) | Visual grouping without affecting flow | Highlighting related activities |
| Text Annotation | Text with bracket | Additional information | Clarifying complex elements |
| Data Store | Cylinder | Place where data is stored | Databases, files, repositories |
Event Types in Detail
Start Events
| Type | Symbol | Description | Common Use Cases |
|---|
| None | Plain circle | Unspecified trigger | General process start |
| Message | Circle with envelope | Starts when message received | Customer request triggers process |
| Timer | Circle with clock | Starts at specific time or interval | Scheduled batch processes |
| Conditional | Circle with lined paper | Starts when condition is true | Business rule triggers process |
| Signal | Circle with triangle | Starts when signal received | Broadcast event triggers multiple processes |
| Multiple | Circle with pentagon | Multiple potential triggers | Process can start in several ways |
| Parallel Multiple | Circle with plus-marked pentagon | All triggers must occur | Process requires multiple conditions |
Intermediate Events
| Type | Symbol | Description | Common Use Cases |
|---|
| None | Double-line circle | Generic intermediate event | General process milestone |
| Message | Double-line circle with envelope | Sends or receives message | Wait for approval email |
| Timer | Double-line circle with clock | Pause until specific time | Wait 24 hours before proceeding |
| Escalation | Double-line circle with upward arrow | Escalation to higher authority | Elevate issue to management |
| Conditional | Double-line circle with lined paper | Wait for condition to be true | Check if credit score sufficient |
| Link | Double-line circle with arrow | Connect to another part of diagram | Connect distant process parts |
| Error | Double-line circle with lightning | Catch errors in process | Handle exception conditions |
| Cancel | Double-line circle with X | React to cancellation | Handle transaction cancellation |
| Compensation | Double-line circle with rewind symbol | Trigger compensation activity | Undo previous actions |
| Signal | Double-line circle with triangle | Broadcast or catch signal | Notify all related processes |
| Multiple | Double-line circle with pentagon | Multiple potential triggers/results | Multiple possible events |
| Parallel Multiple | Double-line circle with plus-marked pentagon | All defined triggers must occur | Wait for multiple conditions |
End Events
| Type | Symbol | Description | Common Use Cases |
|---|
| None | Thick circle | Unspecified result | General process completion |
| Message | Thick circle with envelope | Sends message upon completion | Send confirmation email |
| Escalation | Thick circle with upward arrow | Escalates to higher level | Escalate to supervisor |
| Error | Thick circle with lightning bolt | Ends with error state | Process fails with specific error |
| Cancel | Thick circle with X | Cancels a transaction | Cancel order process |
| Compensation | Thick circle with rewind symbol | Triggers compensation | Initiate refund process |
| Signal | Thick circle with triangle | Broadcasts signal to other processes | Notify related processes of completion |
| Terminate | Thick circle with filled circle | Immediately ends all process activities | Immediately stop all activities |
| Multiple | Thick circle with pentagon | Multiple consequences | Process ends with multiple results |
Activity Types in Detail
Task Types
| Type | Symbol | Description | Example |
|---|
| Service Task | Task with gear icon | Automated service execution | API call, web service |
| Send Task | Task with envelope icon | Sends message to external participant | Send email notification |
| Receive Task | Task with envelope icon (shaded) | Waits for message from external participant | Wait for customer response |
| User Task | Task with person icon | Performed by human with system assistance | Complete form in application |
| Manual Task | Task with hand icon | Performed by human without system | Physical filing of documents |
| Business Rule Task | Task with table icon | Executes business rules | Automated decision based on rules |
| Script Task | Task with script icon | Executes script or code | Run calculation script |
| Call Activity | Task with bold border | Calls another process or global task | Call reusable approval process |
Subprocess Types
| Type | Symbol | Description | Example |
|---|
| Embedded Subprocess | Rounded rectangle with + | Contains nested activities | Detailed payment processing steps |
| Event Subprocess | Rounded rectangle with dashed border | Triggered by event within parent process | Handle exceptions in main process |
| Transaction | Subprocess with double border | Supported by transaction protocol | Financial transaction with rollback capability |
| Ad-hoc Subprocess | Subprocess with tilde marker | Activities can be executed in any order | Flexible document review process |
| Call Activity | Subprocess with thick border | References another process | Call standardized approval process |
Loop Characteristics
| Type | Symbol | Description | Example |
|---|
| Standard Loop | Circular arrow at bottom | Repeats until condition met | Process each item in order |
| Multi-Instance (Sequential) | Three parallel lines at bottom | Multiple instances executed sequentially | Process each application one by one |
| Multi-Instance (Parallel) | Three parallel lines at bottom | Multiple instances executed in parallel | Process all applications simultaneously |
Gateway Types in Detail
| Type | Symbol | Description | Common Use Cases |
|---|
| Exclusive (XOR) | Diamond with X or blank | Routes flow to exactly one output | Decision based on condition |
| Inclusive (OR) | Diamond with circle | Routes flow to one or more outputs | Multiple possible paths based on conditions |
| Parallel (AND) | Diamond with + | Activates all outgoing paths | Split work into parallel tasks |
| Complex | Diamond with asterisk | Advanced conditional routing | Complex decision logic with multiple factors |
| Event-Based | Diamond with double circle | Routes based on event occurrence | First event determines path |
| Parallel Event-Based | Diamond with double circle and + | Waits for all events to occur | All specified events must occur to proceed |
BPMN Modeling Best Practices
Diagram Structure
- Use clear start and end events for each process
- Flow from left to right and/or top to bottom
- Use consistent level of detail within a diagram
- Limit diagram size (7±2 elements per subgroup)
- Create subprocess for complex sections
Naming Conventions
- Use verb-noun format for activities (e.g., “Process Payment”)
- Use noun phrases for data objects (e.g., “Customer Information”)
- Use condition statements for gateways (e.g., “Is Credit Approved?”)
- Be specific but concise in labels
- Use consistent terminology throughout
Layout Tips
- Minimize crossing lines
- Maintain consistent spacing between elements
- Align elements on a grid
- Group related elements visually
- Use colors consistently and purposefully
Documentation
- Include relevant annotations
- Document assumptions and exceptions
- Reference related processes or documents
- Include owner/stakeholder information
- Add version number and date
Common BPMN Patterns
Sequential Flow Pattern
Start Event → Activity A → Activity B → Activity C → End Event
When to use: Simple, linear processes where activities must occur in strict sequence
Parallel Split and Join Pattern
Start → Activity A → Parallel Gateway (Split) → Activity B, Activity C (in parallel) → Parallel Gateway (Join) → End
When to use: When multiple activities can occur simultaneously
Exclusive Choice Pattern
Start → Activity A → Exclusive Gateway → Activity B or Activity C (based on condition) → End
When to use: When exactly one path must be chosen based on a condition
Multi-Choice Pattern
Start → Activity A → Inclusive Gateway (Split) → Activity B, Activity C, or both (based on conditions) → Inclusive Gateway (Join) → End
When to use: When one or more paths may be taken based on conditions
Iteration Pattern
Start → Activity A → Exclusive Gateway → Activity B → Loop back to Activity A (if condition true) or continue to End (if condition false)
When to use: When activities need to be repeated until a condition is met
Error Handling Pattern
Activity with attached Error Boundary Event → Error Boundary Event → Error Handling Activity → Rejoin main flow or End
When to use: When specific error conditions need special handling
Common BPMN Modeling Scenarios
Process Interaction Patterns
| Pattern | Description | Implementation |
|---|
| Private Process | Internal process not visible to other participants | Single pool without message flows |
| Public Process | Shows interactions with external participants | Multiple pools with message flows |
| Collaboration | Multiple processes interacting | Multiple pools with message flows |
| Choreography | Focus on message exchange sequence | Choreography tasks between participants |
| Conversation | High-level view of related message exchanges | Conversation nodes connecting participants |
Exception Handling Patterns
| Pattern | Description | Implementation |
|---|
| Cancel Transaction | Undo partially completed transaction | Transaction subprocess with cancel boundary event |
| Compensation | Undo completed activities | Activities with compensation events and tasks |
| Timeout | Handle cases when activity takes too long | Timer boundary events |
| Resource Unavailable | Handle missing resource situation | Error or escalation events |
| External Failure | Handle errors from external systems | Error boundary events |
BPMN Tools & Software
Free/Open Source Tools
- Camunda Modeler: Lightweight, standards-compliant modeler
- BPMN.io: Browser-based modeling tool
- Activiti Designer: Eclipse-based BPMN editor
- Signavio Process Editor (Community Edition): Limited free version
- yEd Graph Editor: General diagramming with BPMN support
Commercial Tools
- Microsoft Visio: General diagramming with BPMN templates
- IBM Blueworks Live: Cloud-based process modeling
- Signavio Process Manager: Collaborative BPM platform
- ARIS Business Process Analysis: Enterprise-grade modeling
- Bizagi Modeler: End-to-end process modeling solution
BPMN Versions & Standards
| Version | Release Year | Key Additions | Current Status |
|---|
| BPMN 1.0 | 2004 | Basic notation established | Deprecated |
| BPMN 1.1 | 2008 | Visual improvements | Deprecated |
| BPMN 1.2 | 2009 | Minor corrections | Deprecated |
| BPMN 2.0 | 2011 | Formal metamodel, choreography, conversation | Current standard |
| BPMN 2.0.2 | 2013 | Minor corrections, maintained by OMG | Current standard |
Related Standards
- DMN (Decision Model and Notation): For detailed business decisions
- CMMN (Case Management Model and Notation): For case management
- UML (Unified Modeling Language): For software system modeling
- ArchiMate: For enterprise architecture modeling
Resources for Further Learning
Books:
- “BPMN Method & Style” by Bruce Silver
- “Real-Life BPMN” by Jakob Freund & Bernd Rücker
- “BPMN 2.0 Handbook” by Layna Fischer
Online Resources:
- BPMN.org – Official BPMN specification
- BPM Institute – Training and resources
- Process Modeling with BPMN (LinkedIn Learning)
- Method and Style – Bruce Silver’s blog
Communities:
- BPM.com forums
- Workflow Patterns Initiative
- OMG BPMN Forum
- LinkedIn BPMN groups
Remember: The purpose of BPMN is clear communication. While adhering to standards is important, the ultimate goal is to create diagrams that stakeholders can easily understand, analyze, and use for process improvement. Start with simple models and add complexity only when necessary.