Uploaded by luay.assidmi

7 Common BPMN modeling mistakes - Basic Events

BPMN Series #7 | ATL001
Common BPMN Modeling Mistakes: Basic Events
by Gregor Polancic
What are Events?
An event is a common BPMN process modeling
element that represents something that
“happens” during the course of a process.
Examples of process events are: “a telephone
call”, “every 10 minutes”, “send message”, “service
completed”, “an error occurred”, etc. A BPMN
event is graphically represented with a circle
(Figure 1):
Figure 1: BPMN Event
Many different types of events can appear in
a business process, and BPMN is capable of
supporting most of them. In total, BPMN 2.0
supports more than 60 different types of events
(Figure 2).
As you can see from Figure 2, BPMN events are
organized according to several criteria:
•
An event can appear at the beginning of a
process, within a process (intermediate) or
at the end of a process
•
An event can “catch a trigger”, which means
that it reacts to something or it can “throw
a result”
•
An event can be generic or one of several
predefined types: time-based, messagebased, rule-based, signal-based, exceptionbased, etc.
•
An event can be positioned within
sequence flow or attached at the boundary
of an activity.
Figure 2: Full Set of BPMN Events
•
An event can interrupt current process
execution or not.
•
Some types of events can start a parallel,
event-based sub-process.
© Copyright 2014 Good e-Learning. All rights reserved. No part of this publication may be reproduced, resold, stored in a retrieval system, or distributed in any form or
by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior permission of the copyright owner. Such requests for permission or any
other comments relating to the material contained in this document may be submitted to: marketing@goodelearning.com. Good e-Learning is a trading name used by
Educational Systems Ltd.
Most event type properties are evident from how
they are graphically represented, for example
in Figure 3, which describes a “non-interrupting
intermediate catching message event” in the
following ways:
The descriptive set consists of events that start
(instantiate) a process and events that represent
the final process state. Here is a bit more detail
(Figure 6):
Figure 3: BPMN Event Symbol Syntax
However, despite its graphical representation,
(Figure 3), the meaning of an event can differ
based on the context of its usage. As shown in
the next figure, the same BPMN event (in this
case an intermediate time event “10 minutes”)
can have different meanings, based on the
context of its use:
•
•
When used in a flow (between task 1
and task 2) the meaning of the event “10
minutes” is: “wait for 10 minutes before
continuing to task 2”.
When the event is attached to task 1, its
meaning is: “after 10 minutes, task 1 is
interrupted and the process flow continues
to task 3”.
Figure 6: Basic (descriptive) BPMN Events
Note that colors are not used in the BPMN
specification. However, start events are
commonly painted green (meaning “go”) and
end events are commonly painted red (meaning
“stop”). Despite the limited set of descriptive
events, there are several common mistakes that
process modelers make.
Mistake 1: Implicit or explicit process events
Figure 4: The Context of Usage of an Equal BPMN Event
Descriptive BPMN events
To make BPMN easier to learn and use, a
descriptive set of BPMN elements exist which
include only the following BPMN events (Figure 5):
Problem. BPMN specification defines start and
end events as optional. However, their usage is
highly recommended, since each process starts
and ends somewhere! Without explicitly using
start and end events, a regular BPMN process
might look the process in Figure 7. This modeling
approach is undesirable and could lead to
misinterpretations.
Figure 7: NOT RECOMMENDED. Implicit Process Events
Figure 5: Descriptive BPMN Events
© Copyright 2014 Good e-Learning. All rights reserved. No part of this publication may be reproduced, resold, stored in a retrieval system, or distributed in any form or
by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior permission of the copyright owner. Such requests for permission or any
other comments relating to the material contained in this document may be submitted to: marketing@goodelearning.com. Good e-Learning is a trading name used by
Educational Systems Ltd.
Solution. Use start and end events in each
process and sub-process. By considering this,
the start and end of a process (or sub-process) is
more evident and might be additionally explained
by process name or by specializing process
events.
Figure 10: WRONG. Equally Named Process Events
Figure 8: RECOMMENDED. Explicit Process Events
Note that if a process includes a start event, an
end event is mandatory.
Mistake 2: Inadequate event naming
Problem. Modelers will commonly name start
and end events according their role, e.g. “Process
start” or “Process end”. Since a start event symbol
represents the process start and an end event
symbol represents the process end, such naming
is redundant.
Figure 9: INADEQUATE. Naming of an Event According
to its Type
Solution. Apply logic when naming events. In this
case, because there is no specific event trigger
or result, the naming of a generic event can be
omitted.
Mistake 3: Equal events
Problem. The BPMN specification allows the
use of multiple start or end events at the same
process level. Beware!. If several events share
common naming and symbols, they actually
represent a single event. Such a modeling
approach might still be useful, since several equal
events might reduce the number of process
paths and path intersections, thus making it
more easy to understand. However, it could lead
to misinterpretations, as presented in the next
figure.
The process in Figure 9 regularly includes two
start and two end events. However, a detailed
analysis of the process semantics shows that the
naming of the process’s events is wrong. Since
there are actually two different starts of a process
and two different end states of the process, the
respective events should be named uniquely
(as presented in Figure 10), otherwise someone
could misinterpret the process model as having
only one start event and one end event, which is
wrong. A similar situation appears if a modeler
does not name multiple start and end events.
Solution. If a process actually starts by different
triggers or ends at different states, the names
of the corresponding process events should be
unique.
Figure 11: RIGHT. Uniquely Named Process Events
Mistake 4: End event vs. Terminate event
Problem. Modelers commonly over-use
terminate end events instead of using simple end
events, because they perceive a terminate end
event as a “stronger” end of a process. This is
partially true, but the devil is hidden in the detail!
For example, the interpretation of the process,
which is presented on Figure 13 is the following:
The process first performs task 1 and then
continues in both directions (parallel split), where
task 3 is performed several times on different
data sets (task 3 uses the multiple-instances
marker “|||”).
The process is terminated when it reaches the
terminate-end event. A terminate end event
means that if one of the paths reaches an end,
all other process paths (currently performing
activities and activities which are waiting to be
performed) are ended immediately. This could
correspond to a real-life process situation, but it
is very unlikely.
© Copyright 2014 Good e-Learning. All rights reserved. No part of this publication may be reproduced, resold, stored in a retrieval system, or distributed in any form or
by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior permission of the copyright owner. Such requests for permission or any
other comments relating to the material contained in this document may be submitted to: marketing@goodelearning.com. Good e-Learning is a trading name used by
Educational Systems Ltd.
Most commonly, a process finishes successfully
once all started process activities have finished,
and a process will be terminated only if an
unplanned event occurs (e.g. an exception).
Figure 12: UNLIKELY. Terminate End Event
Solution. Most commonly, a process modeler
should use other end events (e.g. a generic end
event), even if a process defines several end
states (e.g. a successful and unsuccessful process
end). When used this way an end event will not
stop the execution of the remaining process
paths or activities.
Conclusions
BPMN is the most “event-rich” process modeling
notation, supporting over 60 different types of
events in total. This “diversity” can be use for
precise process modeling. However it might also
lead to misinterpretations; unfamiliar process
symbols may also scare and confuse a novice.
Whilst BPMN events are well organized in the
specification, they are not quite as simple to learn
as could be initially thought.
Whilst the descriptive level of BPMN elements
reduces the set down to three start and end
events, it does not include any intermediate
events. This means that it is not possible to use
events to manage descriptive process flows.
Figure 13: FREQUENTLY. Generic End Event
© Copyright 2014 Good e-Learning. All rights reserved. No part of this publication may be reproduced, resold, stored in a retrieval system, or distributed in any form or
by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior permission of the copyright owner. Such requests for permission or any
other comments relating to the material contained in this document may be submitted to: marketing@goodelearning.com. Good e-Learning is a trading name used by
Educational Systems Ltd.