I’ve been trying to get my head around business and data modelling. Two acronyms came up … UML, and BPMN.
I understood that they were both Very Important. Certain sources promoted BPMN, while others maintained that UML was actually better… Unfortunately I couldn’t work out why.
I started hunting for an answer. On the website of BCS (The Chartered Institute for IT) there was an article (by Simon Perry) that made a comparison of the two – “Process modelling comparison“. It is a great article, and contained the following matrix:
At last – something that explained it for me… UML was superior.
If this article was valuable to me, it would be valuable for others… I posted the matrix to several BA groups on LinkedIn.
Not thinking any more of it, I was surprised when someone made a comment. James Shield in the UK pointed out the following:
This would have been a lot more useful if it stuck to comparing BPMN with its UML equivalent – Activity diagrams.
The other parts of UML mentioned (Use Case diagrams and Class diagrams) can be used to address the things that BPMN doesn’t even try to address, just as they were used to address what Activity diagrams do not address.
Maybe things were not as black & white as I had thought. I explained that I was still new to this area, and asked for help in better understanding it.
And then a whole of people jumped in with further explanations. All of them adding to my understanding.
Tamas Salamon (South Africa) stated that
I think if your boundary is firmly within process modelling and your stakeholders are just the business community, the choice will depend on which will deliver the message more effectively, i.e. create a better understanding.
Ultimately it is about clear, unambiguous communication of information
Rémy Fannader (France) pointed out that
the equivalent of BPM with UML are Activity diagrams for the processing of contents, and State diagrams for the control of execution. That distinction is critical when the same business logic is to be used in different business or technical contexts. It is not supported by BPM.
Remy gave me a few links to relevant articles.
James commented that
There are pluses and minuses for each. For example I like how Activity diagrams show forks and joins. But they can both do the job.
And added that
BPMN seems to be the more popular. I have used BPMN at my last three clients. I haven’t used Activity diagrams for business process maps for 10 years. For that reason alone I would use BPMN.
He then followed up with some useful advice…
- UML Class diagrams are great for data modelling;
at least as good as Entity Relationship Diagrams (ERDs).
- UML is also used for behaviour modelling
—- State Machine diagrams
—- Sequence diagrams
—- Use Case diagrams
—- Actviity diagrams,
- For business process modelling, the Activity diagram is the UML artefact of choice.
- BPMN has nothing to do with data modeliing; it’s a Notation for Business Process Modelling.
As a BA, I use/have used the following UML diagrams
– Package (to group related things together)
– Class (data modelling mainly)
– Object (to show examples)
– Activity (less so these days)
– Use Case (overview of system functionality)
– State Machine (event-driven, state-dependent behaviour)
For me, the other UML diagrams are for design, construction and deployment.
Rolf Weinmann (Germany) then added some useful insight…
I think it’s important when we use things to ask where they come from, what they want to support/do and where they are.
As written above BPMN was targeted, wants and is a “Notation for Business Process Modelling”.
UML comes from a very technical oriented area. Action diagrams/Business Use CASEs- to my knowledge , etc. have been added only at a later stage.
Having taught many BA classes, developing BA Trainings and coaching Business People and Business Analysts on various project my conclusion is…
BPMN is much closer to the business, provides a full set of good stuff to modell the business (not only processes), etc. …
UML on the other hand better allows more technical people to better understand what to do with the Business requirements (e.g. using of UseCases) and document standard IT models… (e.g. Class diagrams, etc.)
Putcha Narasimham, a very smart man from India, adds to that by saying that he agrees with James and Remy and that…
Within process modeling, I found BPMN better defined and consistent though it is too elaborate with too many symbols and interpretations.
He also supplied me with links to some further material that he had developed.
This all started with me sharing (in a slightly “don’t know what I don’t know” way) a matrix that I found .
One person made the effort to comment on that matrix, and it lead to a very interesting, and educational, conversation that involved people from six different countries….Way more than I had expected.