By Peter Hilton
The idea of a pattern language, which originates in a 1977 book about buildings and their architecture, translates easily to other kinds of design. This article describes one kind of pattern language for workflow modelling.
This article follows a series of workflow modelling patterns:
A pattern language for architecture uses the idea that certain parts of buildings, or elements of urban planning, are recurring solutions to timeliness problems. These patterns create a language that architects can use to talk about their work at a higher level than at the (literal) building blocks of bricks and mortar. As process designers, we can do the same thing for process models.
In business process management we use different kinds of patterns to talk about process modelling. These pattern languages differ in their level of abstraction.
Mentioning ‘workflow’ and ‘patterns’ in the same sentence makes some people immediately think of ‘Workflow Patterns’, with capital letters. Workflow Patterns is an academic initiative to describe the basic vocabulary of process languages and notations such as BPMN.
If you’re implementing a workflow engine, such as Signavio Workflow’s core engine, then Workflow Patterns gives you a useful language for the concepts that you implement on top of a programming language. If you’re a business user then you’d find these patterns too low level to be useful, which is partly why you’re using a tool like Signavio Workflow in the first place.
As a business user, you’d probably rather have access to a repository of complete business process models that just happens to contain the exact model that you need, such as a recruitment process, an order to cash process, or something specific to your industry. Unfortunately, you probably won’t find a process repository like this, for various reasons.
Despite these issues, I do believe that the world does need a repository of open-source BPMN 2.0 process models that promotes discussion and variations on every model, but I’ll save that story for another day.
If you find that low-level Workflow Patterns are too abstract, and that other people’s complete process models are too specific (or not available), then you might get more value from something in between. You won’t be able to use someone else’s Product Prototype process, but you can reuse the part that represents a document sign-off.
It turns out that complex business processes tend to include model fragments that commonly appear in a number of models. Examples include things like:
Most business processes include one or more of these examples, which you’ll find in the articles linked below.
To avoid confusion with Workflow Patterns (above), let’s call these reusable process model fragments ‘workflow modelling patterns’. In keeping with pattern language tradition, each one uses a standard template.
Earlier articles on this blog include the examples mentioned above, and a number of other modelling patterns:
These are just the tip of the iceberg. Which process model fragments do you see again and again?