Business Process Modeling
Business Process Modeling (BPM) allows us to increase our understanding of business processes and improve communication with stakeholders and implementation teams. Business analysts will create diagrams that represent business processes. These diagrams can be used to elicit requirements, define scope, and improve communication within the team.
We use diagrams because they are intuitive. Diagrams can provide us with an easy to remember and understand visualization of a business process. These diagrams are a type of object oriented analysis (OOA) diagram. A BPM describes a business process, where an entity-relationship (ER) diagram describes business objects. The example in the previous link is an ER diagram.
A Simple Process Model
The easiest way to get a high level understanding of a business process model is to review the diagram for a simple process.
The following diagram represents a customer withdrawing money from their bank account. The customer convinces the bank that she is allowed to withdraw money, then requests the money, which the bank provides (after confirming that it is available). The customer then terminates the transaction.
The diagram does not show exceptions to the process, like having the wrong password, or not having enough funds in their account. Business process models can absolutely demonstrate these situations, and many others. We’ve kept this process simple, as it is an introduction to the concept.
The BPM Example Diagram
Swim Lanes and Pools
The first thing you will notice about the diagram is that all the activities happen in one of two areas, labeled customer and bank. These two areas are called pools. While that seems like a silly name, there is a reason for it. There is a type of diagram called swim lanes, designed to show how different people or entities interact. Each person gets a swim lane in which all of her actions happen. In BPM, all of the swim lanes for a single company are grouped together in a pool. In our example, each pool has a single lane.
In our diagram, there are two pools – one for the customer, and one for the bank.
Flow Objects
Our diagram includes examples of three flow objects: events, activities, and gateways. Events are represented as circles. We have starting events (triggers) at the top of the diagram and ending events at the bottom. Activities are drawn as rounded rectangles. An activity can be a single task (like “confirm logout”), or they can represent an entire sub-process. Our simple example shows only tasks.
Gateways represent points in the process where the flow can separate or combine. The diamond is the symbol used to represent a gateway – and it is common to see it in a flow chart, showing how a decision can cause a process to go in one of two directions. The two examples in our diagram show flows combining, with a “+” symbol inside the diamond. This implies that both inputs are required for the process to continue. For example, the steps “Deliver Cash” and “Update Account Balance” must both be completed before the sytem can “Receive [the] Logout Command”.
Sequence Flow
The solid arrows that connect all of the items within each pool are called sequence flows. They represent the flow of the process from one flow object to the next. Notice that there are no sequence flows from one pool to another. These solid arrows can cross swim-lane boundaries within a single pool, but never across pool boundaries. Since our example has a single swim lane in each pool, we don’t see this.
Message Flow
The dashed arrows that cross the pool boundaries are called message flows. A message flow represents communication between two entities. In our example, the customer sends a message to the bank asking for $100. The bank sends a message to the customer in the form of $100.
A Lot More
There are a lot more details to BPM. We’ve left them out to keep the introduction simple (and “brief”).
BPMN Standard
There is a standard notation to use in business process modeling, called BPMN. Business Process Modeling Notation is the industry standard for drawing diagrams. By using the same notation, every diagram becomes easier to read. All of the official documents can be found at www.bpmn.org.
This site has tutorials, the official standard (BPMN 1.0 [Feb 2006]), and other documents. There is even a visio stencil ([removed dead links] [Update: Thanks Andy!] The links to the visio templates you have are dead but I found the updates. Updated links as of 17-July-2012 are: Visio 5, Visio 2002, Visio 2003) that can be used to draw diagrams consistently with a minimum of fuss.
– – –
Check out the index of the Foundation Series posts which will be updated whenever new posts are added.
Good post and a great one page introduction to BPM.
I’ve recently talked to both a BPM vendor and a Business Process Analyst. What really struck me in the conversation is that they deal in at a much higher process level. From this and some papers from Gartner, I’ve learned very little of BPM ends up at the level of a traditional use case.
Scott,
I must have missed the BPM bus. I’ve always used the Rummer Brache notation which is supported in Visio and comes along with their book on “managing the white space in the organizaiton.”
From your experience, what’s the significant difference (if any) in BPM and Rummler Brache for process modeling?
Hey Glen, thanks for reading and commenting!
Unfortunately, I don’t have any experience with the Rummler Brache approach, so can’t give an experienced-based opinion. I also searched the web for tutorials or examples of RB diagrams – but couldn’t find any (not that there are many BPMN examples either).
Does RB allow for the looping constructs and more expressive decisions (gateways) that BPMN supports? The only RB diagram I saw looked like a simple flowchart that had been mapped into swimlanes.
Hi
Can anyone highlight, what’s the significant difference (if any) in BPMN and Process chart(Catalyst approach) for process modeling?
Hey Asmi, thanks for reading and asking the question!
Sorry – I’m not familiar with the Catalyst approach – maybe someone else here is?
Another great post by Mr. Blain. Good description of the business modeling concepts and best practices.
I believe the key issue or challenge with process modeling is the unfamiliarity of most business users and even analysts with how to do this and also the lack of availability of easy-to-use tools that are better than just using Visio or PowerPoint.
Our team has been using the AccuProcess Modeler in the recent months and have found this to be a great tool which anyone can use without a lot of formal training. It includes process modeling, documentation and even process simulation for the as-is and to-be processes. It is available at: http://www.accuprocess.com
Thanks.
Thanks, Jonathan! (oh – and I’m Scott – Tyner Blain is the company :) ).
Thanks for pointing readers towards Accuprocess Modeler. I haven’t used it personally, but did look at the first versions of Blueprint from Lombardi (now an IBM company). Probably also worth checking out, as well.
While I agree with you that the mechanics of representing processes with any particular grammar or syntax can be difficult, I believe that developing an understanding of the right processes to create (and discovering the greatest opportunities to improve existing processes) is much more difficult, and very few people do it well.
By analogy, the hard part of writing a novel is not understanding how to form story-arcs, how to manipulate the mechanics of dramatic tension, or how to syntactically develop dialog. The hard part of writing a novel is creating an engaging story that captures the imagination of your audience.
In reality, a successful novel needs a compelling story, effectively told. Managing and improving processes requires both understanding and effective communication.
Thanks again!
Thanks for the stencil, do you expect to update for 2.0?
Phil
Thanks, Phil!
I haven’t been working in BPMN land for quite a while, and the spec and best practices have moved forward without me :). If I do get back into things, and catch up with 2.0, I will definitely do some updates. At the time I was writing these, Phil Silver, IIRC, commented on a few of them, and had several insights and good points. I would suggest looking to see what content he has available – no idea if he has created a stencil or not.
I suspect there may also be some good tools that provide free-to-draw capabilities. At the time I was doing these, Lombardi was launching Blueprint, which may also work.
If you find good solutions, please share them here for other folks that come along.
Thanks again!
Btw, I would have expected a + gateway coming out of the activity, to clearly and cleanly indicate that the one output from the activity will concurrently trigger both of the following activities. Or is this per some standard too detailed?
Hey Phil,
Honestly, I don’t remember. Maybe someone else can chime in?
the links to bpmn.org are dead
the links to bpmn.org are invalid
The links to the visio templates you have are dead but I found the updates. Updated links as of 17-July-2012 are:
Visio 5, Visio 2002, Visio 2003
Thanks, Andy! I’ve updated the links in the original post. Welcome to Tyner Blain – I appreciate the help here!