Multiple lanes in sub-process

2,706 views
Skip to first unread message

Rowan

unread,
Feb 28, 2011, 12:36:09 PM2/28/11
to BPMN Forum
If I am creating a sub-process, and most of the tasks and activities
in it are carried out by one resource within a depatment, but one or
two tasks are carried out by a different person within the same
department, can I indicate this somehow? So far my main diagram has
lanes on it to indicate the different resources within a department,
but I haven't got any pools or lanes on my sub-process diagram. Can I
put pools and lanes on a sub-process diagram? If so, how do these
relate to the pools and lanes I've got on my main diagram? I.e. if the
sub-process call is in a lane called Debra, and most of the tasks in
the sub-process are caried out by Debra but one or two need to be
caried out by Sian, how do I properly show this? I've already got
lanes called Debra and Sian in my main process.

Thanks - Rowan

Matthias Schrepfer

unread,
Mar 2, 2011, 10:51:37 AM3/2/11
to bpmn...@googlegroups.com
Hi Rowan,

Pools and Lanes are not allowed within sub-processes. The specification
states the following: A Sub-Process is an Activity whose internal details
have been modeled using Activities, Gateways, Events, and Sequence Flows.
(CH10.2.5)

Back to your question how to model your situation. Well, that depends on
your specific situation, see below.


"I.e. if the sub-process call is in a lane called Debra, and most of the
tasks in the sub-process are caried out by Debra but one or two need to be
caried out by Sian, how do I properly show this?"

One possible might be split your work into more than one sub-processes.
Taking this approach, first a sub-process is called in the lane of Debra,
the sub-process ends, the sequence flow in the main process changes lanes
to Sian, a new sub-process is called in Sian's lane. Now the sequence flow
might flow back to Debra's lane where another sub-process is called.

Does the solution fits to your scenario?

Kind regards,
Matthias

Roy

unread,
Mar 2, 2011, 2:55:55 PM3/2/11
to BPMN Forum
"if the sub-process call is in a lane called Debra, and most of the
tasks in the sub-process are caried out by Debra but one or two need
to be caried out by Sian"


If a process is in a lane called Debra then all of the work will be
executed by Debra. If some of the work is executed by Sian then the
levelling and partitioning of the higher level processes are wrong and
the processes need to be repartitioned.


The reasoning for having this "rule" is that it is "illogical" to have
any resources shown on a sub-process because the resource assignments
are already depicted. One of the scaling measures for a sub-process
is that it is assigned to only one lane.


However, I have a problem with the logic of the rule because it limits
the number of levels, and possible explosions, which limit the scale
of modelling. By this I mean that if the only mechanism to show a
process in more detail is to explode it to a sub-process then this
prevents BPMN being used for very large scale process description were
the sheer scale of the process makes it too large for analysts to work
on and for subject matter experts to validate.


IMHO I would allow pools and lanes on process explosions. My
reasoning is two fold: An observer of the sub-process may not have the
context of the parent diagram from which to see which pool / lane is
assigned to execute the sub-process; and, the parent diagram may be
using a lane that represents multiple resources and the exploded sub-
process shows the resource assignments at a lower granularity.


Roy

Neal McWhorter

unread,
Mar 3, 2011, 11:36:45 AM3/3/11
to bpmn...@googlegroups.com
Just one quick clarification.... Pools are not allowed within sub-processes because you cannot nest Pools and the parent process always has a Pool (whether explicitly defined or implicitly defined). Lanes are another matter entirely. Lanes can be defined within a subprocess. And a process can actually have multiple LaneSets so it is possible for the same process to be rendered using Lanes that represent different views of responsibility. Lanes can also be created within Lanes at as many levels as a modeler wants. The limitations on Lanes are really generally a combination of what a particular tool will permit and what is possible to create visually.

Neal McWhorter
Principal | Enterprise Agility
Business Vision Delivered

--
You received this message because you are subscribed to the Google
Groups "BPMN Forum" group.
Public website: http://www.bpmnforum.com
To post to this group, send email to BPMN...@googlegroups.com
To unsubscribe from this group, send email to
BPMNforum+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/BPMNforum?hl=en_US?hl=en

Matthias Schrepfer

unread,
Mar 4, 2011, 2:14:32 AM3/4/11
to bpmn...@googlegroups.com

Thanks for clarifying. I got one question based on your answer: „Lanes can be defined within a subprocess.” IMHO this is not allowed as lanes have to be placed within pools.

How do you define lanes without having a pool? The specification states: “Lanes are used to organize and categorize activities within a Pool. “ (CH10.6.3 p306). This implies having at least one pool in order to have lanes or a lane.

 

Thanks for answering.

 

Neal McWhorter

unread,
Mar 4, 2011, 12:21:58 PM3/4/11
to bpmn...@googlegroups.com
Matthias,

The standard is a bit unclear. Here's the situation. A subprocess always exists at runtime within a process. And all processes exist within a Pool. If you don't explicitly create one then there is an implicit one. So when the subprocess is instantiated its Lanes do exist within a Pool. 

When you're defining a Lane the only requirement is that it is part of a LaneSet and that LaneSet is associated with a Process. A subprocess (actually a Reusable Subprocess or an Embedded Subprocess in BPMN 2.0) is itself a process so these two can have Lanes. Keep in mind that Lanes have absolutely no semantics in BPMN 2.0 so the semantics for them are pretty lenient. That includes the ability to have multiple LaneSets for a single process so that you could potentially implement RACI roles as one LaneSet and organizational roles as another LaneSet and then switch between the two for the same process.

I hope that helps.

Neal McWhorter
Principal | Enterprise Agility
Business Vision Delivered

--
Reply all
Reply to author
Forward
0 new messages