Process Is The Main Thing

@ Anatoly Belaychuk’s BPM Blog

Archive for the ‘Articles’ Category

How to Depict Software Internals in BPMN

This post was originally published at bpmntraining.ru.

Typical BPMN use cases are:

  1. create a process-based operations manual (let’s call this “analogue” process modeling)
  2. create a BPMS-executable model (let’s call this “digital” process modeling)
  3. create process-based software requirements for application developers

Let’s define the analogue/digital divide first and then proceed to use case #3.

» read the rest

Message, Signal or Conditional?

Bruce Silver shared his thoughts about the conditional event in the recent post.

For those not deeply immersed into BPMN 2.0, the conditional event pauses a process until specified logical expression becomes true (changes its value from false to true, to be precise). I’m writing this post in October, so the good conditional start example would be:

Fig. 1. Conditional start event example.

Here the process starts when the logical expression becomes true, i.e. when winter comes. (BTW, this is the real rule in effect here in Moscow.)

The typical conditional intermediate example:

Fig. 2. Conditional intermediate event example.

Here the process waits until the invoice record stored in some unspecified system would be marked as paid. (This is overly simplistic version - please be patient, the more robust will follow.)

Bruce says that he prefers not to use conditional events and excluded it from the “Method and Style” - the collection of best practices he created, supports and promotes by his famous book (the best BPMN guide in my opinion).

With all respect to Bruce as my BPMN teacher, I have a different opinion on the matter: I believe that conditional event is the best solution for certain quite common process collaboration scenarios. (To be more specific, it’s the conditional intermediate event; the conditional start event doesn’t have much value so it won’t be discussed here.) » read the rest

10/06/22 | Articles |     Comments: 1

BPMN None intermediate - throw or catch?

The BPMN 2.0.2 specification is ambiguous regarding the subject.

Please compare:

1) Table 10.89 at p. 250 says:

The None Intermediate Event is only valid in normal flow, i.e., it MAY NOT be used on the boundary of an Activity. Although there is no specific trigger for this Event, it is defined as throw Event. It is used for modeling methodologies that use Events to indicate some change of state in the Process.

2) Table 10.93 at p. 259 also clearly shows that None intermediate is a Throw event.

3) However the text at p. 271 says the opposite:

There are three (3) variations of None Events: a Start Event, a catch Intermediate Event, and an End Event

Here is what other authoritative sources say -

4) Bruce Silver, “BPMN Method & Style”:

Omission of eventDefinition signifies a throwing None event, which is allowed; it can be used in the diagram to indicate a particular state of the instance.

5) Tibco:

Intermediate None event indicates an unspecified change in the process.

6) Camunda:

Intermediate none events (throwing) can be used to indicate some state achieved in the process.

Looks like the text at p.271 should be corrected to -

There are three (3) variations of None Events: a Start Event, a throw Intermediate Event, and an End Event

PS. Thanks to my colleague Julia Wagner for pointing to this issue.

UPDATE: Bruce Silver’s comment -

Anatoly, Yes I agree with your post - (3) is incorrect, along with 400 other errors reported since 2009.

09/06/22 | Articles |     Comments: 2

(Русский) Второе пришествие BPM

Sorry, this entry is only available in Русский.

03/15/18 | Articles | ,     Comments: closed

Interprocess Collaboration Using Conditional Event

I wrote here already that it’s common for what business considers a business process to become several process pools in BPMN - look at process patterns “internal order” or “incoming processor”. In both examples the “client” process posts a task into DB and process to wait message from the “server” process that the task is completed.

The diagrams are valid but here is the caveat: server should know the client internals - namely the event on the client side. It’s ok if the server deals with a single client but what if not?

» read the rest

01/31/18 | Articles | , ,     Comments: closed

Why BPM Lags Behind

This is yet another attempt to answer the damned question about BPM: why, albeit being successful in so many projects, it never matched the analysts’ growth predictions and still haven’t become mainstream?

There must be something wrong deep in the core. It can’t be just prospects’ ignorance, non-perfect software products or greedy consultants. Nobody would say that BPM methodology is inadequate or unusable (well, except ACM proponents but their voices aren’t loud nowadays).

I blogged on the matter already… well, it was 8 years away: 10 Reasons Why BPM Market Doesn’t Meet The Expectations. It wasn’t a final explanation obviously - 10 answers means one doesn’t have the killing answer.

What turned me back to the matter is a thought that I’ve read recently. It was about the real value delivered by a good business consultant. It’s not a specific business receipt or advice; ultimately, it’s about making complex business issues simple.

Now what do we BPM professionals offer in this respect, do we simplify business issues? I’m afraid not.

BPM software isn’t an issue here (IT people love complex toys) but we proudly bring a full-blown discipline, we suggest extensive training programs and introduce new roles to the organization. We create process diagrams. They turned out to be rather complex but we rightfully assure that they are as complex as business is - no more, no less.

This is all true, but… does it make a customer happy? Well, it does - those who are paranoid to do more with less, be more efficient today than yesterday etc. Are they majority of business leaders? I don’t know the big picture but for the selection that I observe the answer is negative.

And what is decision maker’s best alternative? Sweeping garbage under the carpet: keep it as-is, more or less. Imitate a BPM initative by purchasing BPMS software is OK but pulling out business processes from employee’s brains and making them explicit is way too hard, creates too much tension on the way and too much complexity at the end.

Indeed, implicit processes have numerous hidden weak points and hence are less effective, less efficient and way less agile… but who cares, as soon as the majority of organizations around operate this way. See no evil, hear no evil. Not that efficient but simple and manageable from C-level perspective.

Current Digital Transformation trend should break this modus operandi because digital business models implies digital business processes. So hiding processes complexity by delegating them to performers shouldn’t be an option any more.

07/31/17 | Articles |     Comments: closed

More On Essential And Redundant BPMN: Events

Last time we found out that only two of five BPMN gateways are absolutely necessary: XOR and AND.

Now let’s consider events. BPMN events are categorized by type (13 variants) and position (8 variants). Let’s consider event types:

1. None

» read the rest

04/07/17 | Articles |     Comments: 4

The Thin Layer Called Process

It’s a paradox but the term “process” remains the most ambiguous in BPMN, as the recent discussion on the BPM.com forum has shown.

  • In our day-to-day life we call “process” almost anything from digestion to the formation of galaxies.
  • Many consultants are comfortable with the process definitions that cover any orderly set of activites aimed at certain result. It makes sense when we focus on business performance but when we get into details it becomes hard to ignore the difference e.g. between processes and projects. One may treat a project as special case of a process indeed but the fact is that we manage projects and processes substantially differently so a definition that makes no difference between processes and projects would be counter-productive. That’s why I like the term “business capability” - it provides an umbrella term for different kinds of business activities yet it doesn’t merge them all into “process” treated too widely.
  • Process definition narrows even more in BPMN context. First, there is a clear difference between a process and subprocess in BPMN: the former is triggered by external event (e.g. a message, timer or free will of process initiator) while the latter is called from overarching process or subprocess. Secondly, the entities more abstract than a single process are beyond BPMN scope completely. There is no element to model process groups in BPMN so one can’t depict things like “value chain”, “supporing processes” or “product promotion”.

Thus, if we look at the process hierarchy through the prism of BPMN, we’d find several levels of process groups at the top, several levels of subprocesses at the bottom and a thin layer of what BPMN calls a process in the middle:

See also:

04/03/17 | Articles | ,     Comments: 2

Essential And Redundant BPMN Elements: Gateways

Complete BPMN palette includes hundreds of elements if all allowed combinations are counted. Seasoned professional should know the semantics and usage rules of any but at the same time shouldn’t seek to use them all.

Firstly, exotic elements would make the diagram less comprehensible for business users, leading to refusal in some cases. Probably the biggest BPMN advantage is that it’s both intuitive and strict enough, allowing business users, analysts and IT developers to be on the same page. But this is going to happen only if a good style and healthy minimalism are followed.

Secondly, if BPMS powered processes are considered, no engine implements BPMN completely and strictly. Hence the popular questions: how critical is a given BPMN element being not supported? Is there a workaround?

In this article we’ll investigate BPMN gateways - which ones are must-have and how others can be workarounded. The other BPMN elements will follow.

» read the rest

01/28/17 | Articles |     Comments: 5

Message Flows, Events And Tasks

In my previous post I did a favor to BPMN messages fans by including these elements into human-powered palette. Frankly, I’d recommend to leave them off because in too many cases people use message events excessively and incorrectly, like in the example below:

Dangerous! Do not try this at home.

People that use just tasks, gateways and control flows, tend to create more straightforward and more comprehensible diagrams than those who are aware of BPMN messages and message elements. BPMN message events/tasks are similar to automatic tasks: they are for process engines and aren’t supposed to be executed by a human.

The most common misunderstanding is associating the envelope icon with email. A human task should be utilized to model sending an email in human-powered environment; if the process is BPMS-powered then script task is the best option:

Wrong: email via messages Right: email via human task

(human-powered process)

Right: email via script task

(BPMS-powered process)

If one just wants to depict that a certain task communicates with some external entity (e.g. customer or supplier) then black box pools and message flows attached directly to the task may be an option:

Better yet, keep the diagram clear from message flows and black box pools. If the task is labelled “Get customer’s commitment” then it’s pretty clear that it communicates with the customer, no need to clutter the diagram:

There is only one case when black boxes and messages are essential: if one needs to depict ALL the messages going to/from the external entity in order to visualize the complete “communication contract” with the said entity.

The final note about message events vs. message tasks: their primary functions are identical. The subtle differences are those between events and tasks in general: unlike events, tasks may carry attached events (e.g. timers) and/or modifiers (e.g. mutli-instance) which is handy sometimes:

01/19/17 | Articles |     Comments: 8

Copyright © 2008-2024 Anatoly Belychook. Thanks to Wordpress and Yahoo.  Content  Comments