Learning BPMN 1 – What is BPMN?
BPMN, which stands for Business Process Model and Notation, is a standard for creating process models and was created in the first decade of the 21st century by a consortium of industry-leading companies such as SAP, Oracle or IDS Scheer. The standard is currently managed by the Object Management Group (OMG) and the latest version of the standard (2.0) is in its final review phases to be published later this year/in early 2011.
When you follow the discussion in the blogosphere about this standard nowadays, it seems that BPMN is the cure for all diseases that the other competing standards seem to have, most notably the Value-Added Chain Diagramming (with its flavor of Value Stream Mapping), EPC (Event Driven Process Chain), SIPOC (Supplier Input Process Output Customer; a popular 6 Sigma model), IDEF (Integration DEFinition), or UML (Unified Modeling Language, also a standard maintained by OMG) and others. In addition to that – if you believe the hype around the notation that is published by pure-BPMN start-ups, BPM Suite vendors, training providers and others – it also allows you to seamlessly exchange models between different modeling tools and execute (read: orchestrate a work flow) in different BPM Suites without the need to modify anything in a process model or to write code. A beautiful world, isn't it?
Unfortunately that is not the reality and -IMHO- will not be the reality in the near future. It is time to have a deeper look into the BPMN standard and what it aims to be and how this will be realized in a modeling and execution environment using Software AG's ARIS and webMethods stack.
This is the first article of a loose series that covers the scope of BPMN and its history, the different elements of the notation and how to use them, as well as a short look at how this is implemented in ARIS and is used in a ”Model to Execution” scenario. This series it complimentary to other articles on ARIS Community, most notably Sascha Schneider's excellent posts and screencasts about the BPMN 2.0 implementation in ARIS 7.1.
Please have a look at this page that holds the table of content of the “Learning BPMN” series here at ARIS Community.
Where does BPMN come from?
As mentioned above BPMN is one standard to describe business processes. It was created due to a need in the market place to invent a common language to describe the processes and map them to execution logic. With the new version 2.0 of the standard it tries to connect two independent development streams to make this happen. Figure 1 shows the development of the XPDL standard -developed by the Workflow Management Coalition (WfMC)- and the development of the BPMN standard, first developed by that Business Process Management Institute (BPMI), and then (after the merger) by OMG.
(Graphic adapted from Robert Shapiro's much needed update on the BPMN status from Feb 2010. He is the chairman of the WfMC Conformance Working Group)
The biggest accomplishments in the 2.0 version of the specification is the fact that BPMN will have a defined meta-model for the first time and a XML mapping that describes how the model information get's “translated” into executable code. However this is not reality yet – when you look at the current BPMS implementations there are also competing standards in use, like BPEL (Business Process Execution Language and its flavor BPEL4PEOPLE). In addition to that, not all BPMS support the full execution of all available objects in the modeling environment. I am sure that there will be some improvement in the future, but as of today you should have look first.
BPMN – what's in and out of scope?
The answer to this question can be found in chapter 7 of the spec. There you can read the following:
This means that the single purpose is to develop a process model that maps the graphical objects to the execution language. Nothing more, nothing less. And the standard does this well by providing a myriad of available objects and support for workflow patterns, that are needed in an execution environment (please see Sebastian Stein's article about the Workflow Patterns Initiative's original 20 workflow patterns in BPMN).
But what does that mean for the process management effort that you are currently planning or conducting in your company? Is that scope not to narrow? The same chapter also provides the answer to this question and mentions what is out of scope of the specification.
This means in plain English:
- The specification does not include objects that represent organizational units, roles or persons. Most clients I worked with in BPMN projects use the pool or lane objects for this, but this is a workaround and not the “real thing”.
- BPMN models are meant to be “flat”, showing one process flow at a time and use subprocesses to “hide” / cluster steps that can or cannot be reused elsewhere, due to the limitations of a sheet of paper. There is no hierarchical breakdown that might be used to create the business architecture layer of an Enterprise Architecture (even though ARIS let you do this since Service Release 8 by allowing assignments form VACD functions to BPMN collaboration diagrams).
- Although BPMN has data objects (the Message, Data Object and Data Store) they are not meant to be used to create logical data models. BPMN assumes that all information that is needed in a process is freely available and does not have to be modeled. The data objects should only highlight the most important data in the process and the Data Store, even though sporting the familiar database icon, only represents the permanent storing of data in a system, but is no IT application system.
- BPMN does not contain models/objects that allow the visualization of a company's strategy (like a Balanced Scorecard model or an Objective Tree), nor is it meant to model business rules. The Business Rule task type only triggers a rules engine and receives it's input – it does not contain the definition of the business rule itself.
In my personal experience there is a lot of confusion about the specification and what all the different ways of doing things in BPMN mean (“Hey, did someone order a tall event-subprocess with non-fat soy milk?”), so that these bullet points are exactly the features beyond “simple” process modeling what clients, who believe the BPMN marketing and hype, want to do.
This series aims to shed some light into the major concepts of BPMN to help you finding your way through the maze of new terminology and very tech-oriented modeling style of this new standard.
- ARIS supports the BPMN standard since a couple of years, starting with ARIS 7.0 (BPMN 1.x). The “old” implementation is still available but differs in some details. For the sake of simplicity I will concentrate on the BPMN 2.0 implementation if ARIS is mentioned.
- The assignment of BPMN models to function objects was also possible in the BPMN 1.x implementation in ARIS but changed in the 2.0 Beta implementation that was released with 7.1 SR 5 when the 2.0 spec explicitly distinguished between a Collaboration and a BPMN Process diagram as a new feature of the spec.
- If you can't wait to get your feet wet in learning BPMN I highly recommend Thomas Allweyer's introduction that was the first price of the “Cooking with BPMN” giveaway here a couple of months ago. With fewer than 200 pages it is a quick read and you get a better understanding if BPMN is something for your project and how you can use it there.