A business goal is a target that an organization aims to achieve by performing correctly the related business process.
“A business process consists of a set of activities that are performed in coordination in an organizational and technical environment. These activities jointly realize a business goal”
Purpose of BPMN
The primary goal of the BPMN effort was to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes.
- A BPD BPMN defines a Business Process Diagram (BPD) which is made up of a set of graphical elements. A BPMN is based on a flowcharting technique tailored for creating graphical models of business process operations.
- A Business Process Model, then, is a network of graphical objects, which are activities (i.e., work) and the flow controls that define their order of performance.
- These elements enable the easy development of simple diagrams that will look familiar to most business analysts (e.g., a flowchart diagram).
- The elements were chosen to be distinguishable from each other and to utilize shapes that are familiar to most modelers.
BPMN can also be supported by an internal model that will enable the generation of executable BPEL4WS. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation. Thus, BPMN can be applied in three different levels:
- Descriptive Process Models – Suitable for high-level modeling – should be comfortable for analysts that have used flowcharts.
- Analytic Process Models – Contains the concepts most commonly used and covered in BPMN training
- Common Executable Process Models – Focuses on the elements required for executable process models
Evolution of BPMN
- BPMN was originally developed by the Business Process Management Initiative (BPMI).
- The BPMN 1.0 specification was released to the public in May 2004. This specification represents more than two years of effort by the BPMI Notation Working Group.
- A BPMN Specification document was released by OMG in February 2006. Version 2.0 of BPMN was developed in 2010, and the actual version of the specification was released in December 2013.
- The latest version (2.0.2) has been formally published by ISO as the 2013 edition standard: ISO/IEC 19510.
BPMN Core Elements
A BPD is made up of a set of graphical elements. These elements enable the easy development of simple diagrams that will look familiar to most business analysts (e.g., a flowchart diagram). The elements were chosen to be distinguishable from each other and to utilize shapes that are familiar to most modelers.
For example, activities are rectangles and decisions are diamonds. It should be emphasized that one of the drivers for the development of BPMN is to create a simple mechanism for creating business process models, while at the same time being able to handle the complexity inherent to business processes.
The approach taken to handle these two conflicting requirements was:
- To organize the graphical aspects of the notation into specific categories.
- This provides a small set of notation categories so that the reader of a BPD can easily recognize the basic types of elements and understand the diagram.
- Within the basic categories of elements, additional variation and information can be added to support the requirements for complexity without dramatically changing the basic look-and-feel of the diagram.
The four basic categories of elements are:
- Flow Objects
- Connecting Objects
A BPD has a small set of (three) core elements, which are the Flow Objects so that modelers do not have to learn and recognize a large number of different shapes. The three Flow Objects are:
An Event is represented by a circle and is something that “happens” during the course of a business process. These Events affect the flow of the process and usually have a cause (trigger) or an impact (result). Events are circles with open centers to allow internal markers to differentiate different triggers or results. There are three types of Events, based on when they affect the flow: Start, Intermediate, and End (see the figures to the right, respectively).
An Activity is represented by a rounded-corner rectangle (see the figure to the right) and is a generic term for work that the company performs. An Activity can be atomic or nonatomic (compound). The types of Activities are Task and Sub-Process. The Sub-Process is distinguished by a small plus sign in the bottom center of the shape.
A Gateway is represented by the familiar diamond shape
and is used to control the divergence and convergence of Sequence Flow. Thus, it will determine traditional decisions, as well as the forking, merging, and joining of paths. Internal Markers will indicate the type of behavior control.
Follow only one path
Follow one or more paths
Follow all paths
Flow Object Summary
BPMN Connecting Objects
The flow objects are connected together in a diagram to create the basic skeletal structure of a business process. There are three Connecting Objects that provide this function. These connectors are:
A Sequence Flow is represented by a solid line with a solid arrowhead (see the figure to the right) and is used to show the order (the sequence) that activities will be performed in a Process. Note that the term “control flow” is generally not used in BPMN.
A message Flow symbolizes information flow across organizational boundaries. Message flow can be attached to pools, activities, or message events. The Message Flow can be decorated with an envelope depicting the content of the message.
Annotations allow additional information relevant in documenting the process to be shown on the diagram.
Many process modeling methodologies utilize the concept of swimlanes as a mechanism to organize activities into separate visual categories in order to illustrate different functional capabilities or responsibilities. BPMN supports swimlanes with two main constructs.
The two types of BPD swimlane objects are:
Pool – A Pool represents a Participant in a Process. It also acts as a graphical container for partitioning a set of activities from other Pools (see the figure to the right), usually in the context of B2B situations.
Lane – A Lane is a sub-partition within a Pool and will extend the entire length of the Pool, either vertically or horizontally (see the figure to the right). Lanes are used to organize and categorize activities.
BPMN was designed to allow modelers and modeling tools some flexibility in extending the basic notation and in providing the ability to add a context appropriate to a specific modeling situation, such as for a vertical market (e.g., insurance or banking). Any number of Artifacts can be added to a diagram as appropriate for the context of the business processes being modeled. The current version of the BPMN specification pre-defines only three types of BPD Artifacts, which are:
Data Objects are a mechanism to show how data is required or produced by activities. They are connected to activities through Associations.
A datastore is somewhere that the process can read or write data, that persists beyond the scope of the process.
A Group is represented by a rounded-corner rectangle drawn with a dashed line (see the figure to the right). The grouping can be used for documentation or analysis purposes but does not affect the Sequence Flow.
Annotations are a mechanism for a modeler to provide additional text information for the reader of a BPMN Diagram (see the figure to the right). In this example, the annotations are used to explain the BPMN elements:
BPMN Notation: Simple or Complex?
As I mentioned above, within the basic categories of elements, additional variation and information can be added to support the requirements for complexity without dramatically changing the basic look-and-feel of the diagram.
The event table below shows the complete combination of how events can be represented by using the basic element with an additional variation. BPMN events now can support for complexity without changing the basic look & feel of the notation: