Hi there,
I’m new to BPMN, it’s actually my first diagram.
Here’s some free BPMN information: https://camunda.com/bpmn/reference/ and Creating readable process models | Camunda 8 Docs
It is a very complex collaboration for a first process so the required learning curve might be too steep.
It seems miro is a drawing tool, not a BPMN tool. It might not perform any BPMN validation, allowing you to model invalid models. Most likely the created model cannot be used in other BPMN tools either.
That’s what I did and asking whether it’s BPMN-ly correct.
In your actual model you have three pools that stick together. That’s different from using lanes. Tasks cannot cross over pools (and they shouldn’t cross lanes).
Assuming all three tasks have to be done (instead of some are optional) you could use parallel flows.
I initially suggested a single pool like this. The same solution could be expanded to three pools, using messages. Parallel paths do not imply when stuff is done, only that all has to be done when the paths join again. Note that BPMN models show what needs to be done, not necessarily how it is done.
Could you please take a look and let me know whether there’re any critical issues with it?
The general flow seems to be okay, but there are beginner mistaker and issues that require a deeper understanding of BPMN. You might get better feedback over at Discussion & Questions - Camunda Forum where modeling qustions are typically asked.
Different processes are usually modeled in separate pools, not in the same pool (as you did in the Account pool).
The process start is unclear to me. Does the client send two requests or only one and you just do not know whether it appears in the Account or PM department? Note that a single message may still create multiple process instances. Therefore you might end up with two instances of the process in the PM pool.
Data objects (the folded paper) represent information that only exists while the process instance is running. A request tracker seems like something that should be modeled as a data store.
“Does the request has the right type?” The model does not clearly state where this is determined. But I understand this might be part of the “do preliminary estimation” task. You might want to model it more clearly.
Link events cannot connect elements from different pools (the same rules as for sequence flows apply). So you cannot use something like “SR with estimation request” to go to another pool. You could use a sub process if you want to hide the details or a call activity if the following steps are to be displayed as a separate pool.
“Update progress every 20%”: You’re waiting for someone/something to inform you about progress, but that’s not modeled. Once you have a better understanding of the basics I recommend reading about event sub processes. These might be helpful for some situations in your processes.
That was quite a lot of information. Sorry. I’m afraid I won’t be able to go into further detail.