BPMN Method and Style 2nd Edition

Preface

BPMN, which stands for Business Process Model and Notation, is a diagramming language for business process models. It is important not because it is superior in every way to other process notations, but because it is a multi-vendor standard, maintained by the Object Management Group (OMG), and widely adopted by modelers and tool vendors alike. This book is more than a dictionary of BPMN’s shapes and symbols. It offers a unique approach to understanding and mastering the process modeling standard, based on two fundamental principles:

The Method and Style Principle – A given BPMN diagram should have one and only one interpretation. The process logic should be completely and unambiguously described by the diagram alone.

The BPMN-I Principle – A given BPMN diagram should have one and only one XML serialization. Otherwise model interchange between tools cannot be achieved.

The first principle applies to modelers, the second one to implementers, such as BPMN tool vendors… but they are closely related. Unfortunately, strict adherence to the BPMN 2.0 specification is insufficient to guarantee either one. Satisfying those principles requires additional conventions, which I call style rules and BPMN-I rules, respectively. BPMN Method and Style not only explains the meaning and usage of the important diagram elements but provides prescriptive guidance, including style rules and BPMN-I rules, for constructing BPMN models that are clear, complete, consistent, and interchangeable between tools.

Changes since the First Edition

The first edition of the BPMN Method and Style was published in June 2009, at the time of completion of the BPMN 2.0 “beta” specification. When I began writing the second edition, I thought that a significant portion of it could be copied and pasted from the original, but that turned out not to be the case. In fact, the new edition has been rewritten almost entirely. The central ideas are the same, but the exposition, emphasis, and examples are all new. I have taught Method and Style to hundreds of students since publication of the first edition, and the new edition benefits greatly from that experience. It is clearer, more concise, better organized.

The unique approach of the first edition, including segregation of the palette into “levels,” a prescriptive modeling methodology, and principles of BPMN “style”, have all been carried forward in the new edition. The essential goal remains the same as well: BPMN diagrams that are unambiguous, understandable by others, and complete, fully revealing the process logic even in the absence of attached documentation.

Both the goal and its associated principles and rules have formed the basis of my BPMN training since early 2007.

The approach is rests on three key pillars:

Focus on the important shapes and symbols. Although BPMN’s critics point to the complexity of the complete BPMN 2.0 element set to “prove” its unsuitability for business people, only a fraction of the full set is used in practice. Method and Style takes a levels-based approach. BPMN Level 1 is a basic working set of shapes almost entirely familiar from traditional flowcharting. BPMN Level 2broadens the palette a bit, most notably by the event and gateway types most commonly used for describing exception handling in the diagram. Level 2 is still just a fraction of the complete element set, but few modelers will ever have a need to go beyond the Level 2 palette.[1]

A prescriptive methodology, a step-by-step recipe leading from a blank page to a complete process model that reveals the process logic clearly from the printed diagram. The goal of the Method is not creativity but structural consistency: Given the same set of facts about how the process works, any modeler should create (more or less) the same model structure.

BPMN style, a set of modeling conventions that make the process logic unambiguous from the diagram alone. Like spelling and grammar checks in Microsoft Word, style rule violations can be flagged in a modeling tool.

Method and Style Evolution

While these Method and Style pillars remain intact, the new edition reflects two years’ evolution of both the methodology and style through repeated interaction with students in my BPMN training. For example, the Method’s High-Level Map has evolved to better align with business process architecture. The book now clarifies how fundamental BPMN concepts like process and activity relate to published business process frameworks. Also, BPMN style, once taught as a list of recommended best practices, is now more effectively presented as a set of stylerules that can be validated in software[2]. These changes are reflected in the new edition.

Another change is the evolution of BPMN Level 1. In the original edition it implied not simply a limited working set of shapes and symbols but a more relaxed attitude toward the rules of BPMN, more akin to traditional flowcharting. Today I don’t teach it that way, and the new edition reflects the change. One reason is the availability of automated style rule validation, mentioned earlier. That makes a huge difference, since even beginners can quickly learn to avoid style errors. Also, I have come to see that hiding BPMN’s conceptual foundations from Level 1 modelers makes it more difficult in the end to create a common language shared between business and IT. Since the shapes and symbols of the Level 1 palette are mostly familiar to business users, it is better to expose BPMN’s foundations early on. The ultimate goal, remember, is a language that spans the business and technical worlds.

In the new edition, the Level 1 and Level 2 palettes have been adjusted to correspond exactly with the Descriptive and Analytic subclasses of the final BPMN 2.0 specification. The Level 1 section of the book now covers the entire Descriptive subclass, and the Level 2 section the entire Analytic subclass.

New BPMN Implementer’s Guide

While the graphical notation of BPMN 2.0 is virtually unchanged since the first edition, OMG’s Finalization Task Force made several changes to the XML serialization. The XML serialization is important not only for executable BPMN but for interchange of non-executable models between BPMN tools. Addition of the Descriptive and Analytic Process Modeling Conformance subclasses, mentioned previously, was also of great significance. Without them, BPMN interoperability between tool vendors would be near impossible without side agreements. Another key addition was a proper XML schema for diagram layout information, important not only for preserving some semblance of the original layout on model interchange, but for defining the page structure of the end-to-end model.

While the final specification stabilized the XML structure, BPMN serialization is still poorly understood by implementers. For that reason, the second edition adds an entirely new BPMNImplementer’s Guide aimed at BPMN tool vendors and developers. It explains the BPMN 2.0 metamodel, proper serialization of process models, and conventions that promote interoperability between BPMN tools. As most tool vendors are still in the early stages of implementing the final BPMN 2.0 specification, the timing is right for such a guide.

Like the Method and Style, sections of the book, the BPMN Implementer’s Guide addresses gaps in the official BPMN 2.0 spec by introducing conventions that act as additional constraints. In principle, the XML serialization of a BPMN model should be uniquely determined by the diagram alone. This is similar to the Method and Style principle that the process logic should be evident from the diagram alone, but it is not exactly the same. While Method and Style conventions impose constraints on modelers, such as requiring certain labels, model interoperability imposes constraints on BPMN tool vendors, such as which elements and attributes should be included or omitted. Remember, a given BPMN Level 1 or Level 2 diagram should have one and only one XML representation… but the spec allows more than one. Those constraints, collectively called the BPMN-I Profile, are intended to define an interoperable format for any non-executable model containing only members of the Analytic subclass of BPMN 2.0. And like the rules of Method and Style, BPMN-I Profile constraints can be expressed as rules that can be validated in a tool[3].

Neither the style rules nor the BPMN-I Profile are part of the official BPMN 2.0 standard from OMG, but both are consistent with its goals of semantic precision, visual clarity, and interoperability between tools. Just as some Method and Style ideas, such as the Level 1 and Level 2 palettes, eventually found their way into the official BPMN 2.0 spec, it is my hope that style rules and BPMN-I Profile rules will eventually be codified in future versions of the official BPMN standard. But realistically, no revision of BPMN 2.0 is likely to come out before 2013.

Executable BPMN

While BPMN-I is specific to non-executable BPMN, the BPMN Implementer’s Guide also includes a section on executable BPMN, beginning with what that phrase means in the context of the BPMN 2.0 standard. We’ll show how process data is represented in the BPMN XML and how it is mapped to variables, task I/O parameters, gateway conditions, message payloads, event definitions, service interfaces, and human task assignment rules in “executable BPMN”. The basic structure has not changed since the first edition of the book, but the XML schema has changed significantly. The new edition describes the proper serialization of BPMN 2.0 execution-related details in accordance with the final BPMN 2.0 specification, and relates that to the way these details are defined in real BPMN 2.0-based process automation tools.

Structure of the Book

Part I, What Is BPMN?, discusses the importance of BPMN to business process management overall, its similarities to and differences from traditional flowcharting, and what distinguishes “good BPMN” from “bad BPMN.” It discusses BPMN’s conceptual foundations, and explains how BPMN’s notions of activity and process relate to business process architecture.

Part II, Method and Style – Level 1, is a detailed exposition of the Method and Style approach to process modeling. We start with BPMN by Example, walking the reader through construction of a complete process model using only a limited working set of BPMN shapes and symbols familiar from traditional flowcharting – the Level 1 palette. Afterward, the book goes back and discusses the meaning and proper usage of each of the Level 1 elements.

Then we explain the Method, a cookbook recipe for creating consistent end-to-end BPMN models that reveal at a glance the meaning of the process instance, the process’s various end states, and its touchpoints with the external environment: the customer, service providers, and other internal processes.

Following that we discuss BPMN style, the grammar rules of BPMN that make the process logic clear from the diagram alone and traceable through the model hierarchy. The style section is patterned after Strunk and White’s The Elements of Style, still a reliable set of principles for writing effective English prose. Even though that book goes back to Professor Strunk’s lecture notes of 1919, its continued popularity demonstrates that basic principles of style can stand the test of time. The book applies similar principles to the creation of BPMN models, with the goals of clarity, expressiveness, and consistency with BPMN’s precise technical meaning.

Part III, Method and Style – Level 2, expands the palette of shapes and symbols. The primary focus is on Events, primarily the “big 3”– Timer, Message, and Error. We will also discuss the other events in the Analytic subclass, as well as branching and merging with gateways and conditional sequence flows. We discuss iteration using loop and multi-instance activities and multi-participant pools, and we’ll see how certain business processes cannot be modeled as a single BPMN process but require multiple interacting pools. We conclude Part III by reviewing the rules of BPMN, both the official rules and the style rules, and show how to use validation to maintain model quality and make the process logic easily traceable.

If you are looking for information about BPMN 2.0 Choreography and Conversation models, you won’t find it in this book. So far I have seen little interest in these additions to the BPMN standard, focused on B2B interactions.

Parts IV and V, comprising the BPMN Implementer’s Guide, shift attention from the graphical notation to the XML serialization. This is primarily of interest to developers and tool vendors, but business analysts and architects will find it valuable as well. In Part IV, dealing with non-executable BPMN, we discuss the BPMN 2.0 metamodel and its representation in XML Schema, with focus on proper XML serialization of process elements in the Descriptive and Analytic Process Modeling Conformance subclasses, including data flow. We’ll see how the graphics model connects to the semantic model, and how multi-page hierarchical models are defined. And we’ll look at how to reference reusable subprocesses and tasks imported from independent BPMN files, and the importance of the model’s targetNamespace. Part IV also describes the BPMN-I Profile, a set of conventions intended to make non-executable model interchange possible. Where the BPMN 2.0 specification allows multiple ways to serialize a given diagram, BPMN-I tries to limit it to one way.

Part V, Executable BPMN, discusses how execution-related information, particularly processdata, is defined, referenced, and mapped in executable BPMN models. We discuss BPMN concepts of services, messages, and events in an execution-related context, and we’ll see how performer assignment is modeled in human tasks.

We conclude with a discussion of executable BPMN in practice, as it is being implemented by the first wave of BPMN 2.0-compliant BPM Suites, with examples using Bonita Open Solution. We’ll see how point-click design in the BPMS tool is reflected in the BPMN 2.0 XML export. And finally, we’ll discuss alignment of executable design with BPMN Method and Style, with guidance for tool developers on how to provide elements of that alignment out-of-the-box.

BPMN Training

The book provides many process diagrams, and I encourage readers to reproduce them using a BPMN tool. It is difficult, if not impossible, to become proficient at BPMN simply from reading a book. Like any skill, you really learn BPMN only by doing it, working through the creation of diagrams that clearly express your intended meaning. But this book is just a reference; it is not a substitute for real BPMN training.

There is an old joke about sex education vs. sex training that I won’t repeat here. But you get the idea. Training involves practice, exercises and discussion of solutions, why certain ways work better than others. I provide such training myself, both online and in the classroom, through several channels[4]. This book could be used as a reference for that training, or as a textbook in a college course on BPMN, but by itself it is not training.

BPMN Tools

The simplest BPMN diagrams can be drawn by hand, but BPMN assumes use of a software tool. The good news is that there are many such tools to choose from, and the meaning of the diagram does not change from one tool to the next. But even though BPMN is a standard, the tools are not all equally good. Some are little more than drawing tools. They can produce diagrams containing the standard shapes and connectors, but they do not “understand” their meaning. They cannot, for example, validate the model, or save it in XML interchangeable with another BPMN tool.

Some tools support all of the BPMN shapes and symbols, while others – particularly those offered as part of a BPM Suite – include just those that the Suite’s process engine can execute. Tools mostly adhere to the symbols, markers, and semantics specified by the standard, but some take liberties here and there. Some tools allow you to draw pools and message flows, while others do not. Some naturally support the hierarchical modeling style, in which subprocesses are expanded on separate hyperlinked diagrams, while others are geared toward “flat” process models with inline subprocess expansion. Also, BPMN tools vary widely in the non-BPMN information they describe, such as problems and goals, KPIs, organizational roles, and systems.

Prior to version 2.0, the BPMN spec did not even attempt to describe requirements for “conformance”. As a consequence, many tools claim to support BPMN but really do not. The BPMN 2.0 spec does spell out requirements for Process Modeling Conformance. The Descriptive and Analytic subclasses, equivalent to our Level 1 and Level 2 palettes (in fact, borrowed from my BPMN training!), specify the elements in non-executable models that must be supported to claim conformance. The BPMN-I Profile, described in Part IV of the book, provides serialization rules for non-executable models that allow tool vendors to interchange those models automatically. At this writing, no BPMN tool vendor yet claims full conformance with the BPMN-I Profile, but some are close.

All this is a long way of saying that even though BPMN is a standard, BPMN tools are not all the same, and your choice of tool may significantly impact your ability to create “good BPMN” consistently.

The diagrams used in this book were created using Process Modeler for Visio, an add-in to Microsoft Visio from itp commerce ltd, of Bern, Switzerland .[5] This is the tool I primarily use in my BPMN training and certification. A key reason is it has the style rule validation built in. Also, it supports the full BPMN 2.0 element set with proper XML serialization and model export and import, and simplifies hierarchical modeling as recommended by the Method.

A major strength of BPMN is that users enjoy a wide choice of tools. Nevertheless, some readers will surely find that the BPMN tool they are currently using does not support some the shapes, symbols, and patterns described in this book. One possible reason is that the tool is based on BPMN 1.x, while the book is based on BPMN 2.0. Tool vendors are often loath to advertise which version of the standard they support, so here is an easy way to tell.

If your tool includes a shape that looks like this

then it is based on BPMN 1.0. That was obsolete in 2008, so if you are serious about process modeling, I would recommend upgrading your tool.

If your tool can draw a shape that looks like this

or a shape with a black envelope, like this

but not shapes like these

then it is probably based on BPMN 1.2. This is all right for Level 1 modeling, but it doesn’t support important shapes such as non-interrupting event and data store. More important, it doesn’t support the formal BPMN metamodel and XML interchange format.

The last three shapes above are new in BPMN 2.0, and a tool that supports BPMN 2.0 is best. If it supports the Analytic subclass, that means it can draw non-interrupting boundary events (the dashed double ring), Escalation events, a data stores, all useful and part of the Level 2 palette. In the book, we will indicate which shapes and symbols are new in BPMN 2.0. If your tool does not yet support BPMN 2.0, all is not lost… but you should encourage your tool vendor to move up to BPMN 2.0 soon!

Acknowledgments

I would like to acknowledge the efforts of two individuals in advancing the standard and the Method and Style approach since publication of the original edition. Without those efforts, this book could not have been written.

Robert Shapiro of Process Analytica, as member of the BPMN 2.0 Finalization Task Force in OMG, succeeded where I could not, getting the Descriptive and Analytic Process Modeling Conformance subclasses included in the compliance section of the final BPMN 2.0 spec. Not only does this provide the only practical basis for model interchange between tools, but it serves as official endorsement of the Level 1 and Level 2 palettes of BPMN Method and Style.

Stephan Fischli of itp commerce, makers of Process Modeler for Visio, has continually added features to his BPMN tool that embrace and automate the Method and Style approach. Notable examples include built-in support for style rule validation, proper XML serialization, and import of global tasks and processes from external Visio files. Good BPMN requires good tools, and Stephan’s is the best.

I also want to acknowledge the helpful responses of several individuals to my questions on technical aspects of the BPMN 2.0 specification, including Matthias Kloppmann of IBM, Ralf Mueller of Oracle, Denis Gagne of Trisotech, and Falko Menge of Camunda.

I wish to thank Charles Souillard, Nicolas Chabanoles, and Aurelien Pupier at BonitaSoft for providing the executable BPMN 2.0 model used in Chapter 23 and answering my many questions about it. Thanks also to Carol Leyba of Leyba Associates for great work on the cover design.

Finally, I would like to recognize those whose efforts will ultimately make this book available in other languages and formats: Stephan Fischli and his team at itp commerce (German translation), Miguel Valdes Faura and his team at BonitaSoft (French translation), Brian Reale and his team at Colosa (Spanish translation), and Declan Chellar for preparation of the Kindle version. Thanks to all of them for helping spread the word on BPMN Method and Style.