BPMN - Collaboration diagram one pool? - process

I'd like to ask you a question about Collaboration diagrams.
Unfortunately I cant find anywhere answer to my question. During our classes I was shown collaboration process, that used connection between various activities, gates etc. But on those there wasn't any pool displayed. It's only showed with logical diagram of an activity (Start Event-> Dress up->Is it raining?)
But when I was studying from various online websites they had always 2 or more pools. One pool for each Business process.
My question is.
Is it possible to have a communication diagram without any pool (or even 1 pool)?

Technically, a collaboration diagram usually contains two or more Pools (BPMN 2.0 specification page 110/140 in PDF), but a Process that represents the work performed from the point of view of the modeler or the modeler's organization can be considered “internal” and is NOT REQUIRED to be surrounded by the boundary of the Pool (page 112/142 in PDF). This means having only one pool in a collaboration diagram is possible. However, one wouldn't consider a process diagram with only one pool and no inter-pool communication (or no pool at all) a collaboration diagram, but rather a process diagram.
On a more practical note, most BPM(N) vendors and practitioners don't distinguish between collaboration and process diagrams and refer to BPMN diagrams generally as process diagrams. Also, it's very common (but not necessarily good practice) to not model any pool to keep things simple.

Related

Petri Net to BPMN

I've got a problem with how to transform Petri Diagram to BPMN. I don't know how to "simulate" tokens, and the situation when the flow goes back to the start.
Can anyone show me how the correct BPMN should look? :)
I basically see the three BPNM tasks Record proposal, Grant a loan, and Refuse and notify here. The Consideration place is actually a choice and would become a BPNM gateway.
You example seems to involve two actors: one making proposals and another one deciding whether to accept or refuse a proposal. This should be modeled by showing a separate pool for each actor.
If there are multiple instances that make the proposals, the multi instances attribute can be used on the pool.
If it is important that you can process exactly three proposals, I would include this in the far right condition (gateway) or as a text annotation.
So my idea of a BPMN diagram is this:
But it really depends on what aspects of the process you want to show in the model.

Is BPMN right for my purpose?

Intro
The company I work in (it is an intern-like position though, until I am done with university) recently implemented an automated warehouse solution, where goods are transported by means of autonomous shuttles. The basic functions of the shuttles are controlled by onboard electronics (microcontroller), routing through the warehouse racking is done by software solution which in turn communicates with our ERP solution. Effectively the ERP solution handles the whole warehousing.
Task
There are well documented processes for every of the four layers (operator who loads the the shuttles, shuttle itself, routing, ERP) individually. But since we kind of puzzled all four of them together to one solution (which was kind of new to all of the participating companies), there are only vague, on-the-flyish process descriptions involving all four layers available.
Now I have been tasked to come up with a solution to illustrate the processes at work.
Example
ERP signals goods in demand at assembly station A1
Warehouse operator looks at screen and starts loading boxes to be picked up by
shuttle
Warehouse operator puts in details into ERP, such as count/weight, box number,
...
Warehouse operator clears boxes for pick-up (by confirming inputs in ERP)
ERP generates transport order
ERP sends transport order to routing software
Routing software sends telegram to shuttle control
Shuttle control turns wheels and asks for directions to pick up boxes
...
Question
As mentioned, I have to graphically represent the kind of processes similar to the one shown in the (easy and not complete) example above. I need to incorporate the operator's actions as well as basic communication between shuttle, routing software and ERP.
Since I attended a course on BPMN at university it came to mind immediately. But now, after immersing myself into information about BPMN for several hours I still can't conclusively tell if BPMN helps my efforts or just further complicates the whole thing.
Is BPMN the right tool for my purpose?
Disclaimer
I am not a Business Analyst. I have looked at alternatives to BPMN (simple flowcharts, activity diagrams, ...) but they don't seem to fit.
Just putting together the existing processes for every respective layer yields no result, owing to the different and sometimes too detailed process descriptions.
Edit
The ERP is SAP ERP 6.0 EHP7 with integrated WMS component.
TL;DR: use the notation you would be implement process in, i.e. choose BPMS, not BPMN.
The notation itself means nothing unless it has proper tool for modelling and further process implementation aka BPMS. You can find dozens of comparisons (e.g. BPMN vs EPC or BPMN vs BPEL), however they won't help you unless you have clear understanding where and how you will be implement you modeled process.
Generally speaking, EPC is used for more high-level view of the process, whereas BPMN is utilized for more fine-grained view, where all technical details of communications between peers can be described. However, it depends.
I also recommend you to review this table
and answer the question to yourself whether your process changes (in)frequently or not, and whether you need separate BPM tool.
How I see it from your description: you have four participants (four layers), which are four lanes in BPMN terms, and they are collaborating/communicating with each other during the process. Generally speaking, this fits to BPMN application area, but personally I feel that you should stick your ERP tooling. I don't know which ERP you use, but every serious ERP solution includes tool for process customization. For example, SAP has Workflow,
which can widely enhance and extend existing processes within SAP. Probably, your ERP have it too.
Again, it's not clear which warehouse management system you use and if it is integrated to your ERP. It seems to be not, and it seems to be some old legacy system, because of which you start re-modelling the stuff. In this particular case it might me wiser to acquire special advanced warehouse management package (take a look at SAP's EWM features as an example) which can cover most of your requirements.

BPMN diagram about two swimlanes or one or two pools

I have a question. suppose we wanna a BPMN diagram for transferring soccer player from team A in country A to team B in country B and to do that the federation of A should cancel the player registeration for team A and federation B should accept registeration for team B.
my question is that if we should have two swimlane with role federation A and B or one swimlane is enough? or also we have to had two pools ?
Please help me for this question. thanks a lot
The correct approach depends a lot on what you are modelling and why. I will give you an example of motivation for each of the mentioned methods so that you could get the idea and make the right choice yourself.
You don't really care about who does what in your scenario and the main point is the order of actions and exceptions. No swimlanes are needed, just put your diagram out there:
Your scenario is whole and should never be decomposed into parts (e. g. Cancellation and Registration) because there is very little or none at all sense in looking at the parts on their own. Make one pool with two or three (possibly for the player himself) swimlanes:
Your scenario can be decomposed and it makes good sense. The process occasionally stops at a point of Cancellation (without new Registration).
Use different pools with separate process flows:
Also, use a separate Blackbox Pool if you don't know what a participant (a player or a federation) actually does and you can only communicate with it by some kind of messaging (e. g. -Accept? -OK).

BPMN Swimlane. Can I use technical system layers in swimlanes instead of using actors or roles?

I have a system prototype, which I want to model in BPMN. That system has three layers: data layer, gui and business logic. Can I use these three layers names as BPMN swimlanes names instead of using actors or roles?
http://blog.goodelearning.com/bpmn/common-bpmn-modeling-mistakes-swimlanes/
Says swimlanes are for an organizational role (e.g. developer, analyst and manager).
As far as I understand it, the blog entry does not state that organizational roles cannot be IT systems. It even mentions content management system as one example for an organization (when discussing pools). Subsequently, a sub system of the content management system should be a perfectly valid candidate for a lane.
When it comes to technicalities, it's always good to refer to the BPMN specification. Regarding the usage of lanes, it states:
The meaning of the Lanes is up to the modeler. BPMN does not specify the usage of Lanes. (page 306, respectively 336 in PDF document)
So according to the specification, you can use these three layer names as BPMN swimlane names.
Well, your work might have finished a long ago, but you are mixing Architecture with BPMN (Process design).
Application mapping is not part of business process design and this is a common mistake done by people missing E2E purpose and scope of process modeling and how it integrates with other domains.
for Architecture you might need to use some other language more specific to it, say Archimate which handles this requirement very well and global standard for modeling architecture.
Business architecture/process architecture and process design are separate entities. we should try not to mix them.
All the best for current assignments.

Modeling business procces, which techniques are there?

I'm not sure if this is the right place to ask this question but here goes.
I'm currently looking into some different techniques to model a business proces. I need to find a suitable option for my company which develops all kind of web applications.
What i have found so far:
UML, specificly the activity diagrams
Flow charts
Windows workflow foundation
Business process modeling
I had a dive into the world of workflows but it's mainly about automating a process of a company and thats not what I'm looking for. My focus is on software and the process within.
If anyone else knows some other technique or can tell me the advantages or disadvanteges of the techniques I allready found that would be much appreciated because I'm a little stuck right now.
Right now BPMN (Business Process Modeling Notation) and UML activity diagrams are the two most popular options for that.
I think of BPMN as the right choice when you are modeling the business aspects of the organization and move to Activity Diagrams as soon as you drill down to the technical design of the software system (as a core component of the UML language, activity diagrams are a better fit when having to combine workflow information with other views of the system, expressed also as UML diagrams like class diagrams or sequence diagrams).
Note that now a UML profile for BPMN is being created which means that you will be able to mix BPMN and UML diagrams in the same project
I suggest you consider ISO/IEC 24744. It will give you a very different perspective, since it does not use the ubiquitous "organisation as machine" metaphor, going for a more opportunistic, people-oriented viewpoint.
In other words, ISO/IEC 24744 does not represent a business process as a workflow where the process to follow is the driver. Instead, a business process is represented through the work products that are involved and the people that act upon them. The process performed plays an important but secondary role.
If you are interested in why this is so, or what the advantages are, let me know and I'll be happy to elaborate.
I think you are asking about transforming your business requirements/rules into technical requirements and then into a design? After that you will implement this design into code.
Am not sure if this is what you are asking about..