I'm looking for some advise on whether it's best practice to have a system task in a customer lane. The scenario is the customer is going online to apply for something, so in my process, the customer step through a screen flow of the question sets. Some questions are display based on the customer's profile and the determination is done in the back ground by the online system. I represent that determination with a system task, instead of doing a throw and catch to the pool that own the system.
What is our thought on this, is this a no-no because the system does not belong to the customer? or is this process, an exception to the rule?
M. Zschuckelt on
Hello,
What is your goal of modelling? Are you modelling a workflow process?
If so, "customer application" is a single user task, because I imagine the customer works on this application in one go (even if it is multiple screen pages). Your implementation of the user task will use some backend services (possibly upon switching from one questionnaire page to the next or even within the page for looking up something, searching the catalogue etc.). But I would not model screen flows as separate user tasks.
If you are just loading some data from the customer profile, which your user task is supposed to work with during the "interview", you could load the customer profile in a system task before the user task and do the technical processing of the "customer application" after that user task. No problem with placing them in the lane of the user unless you have special technical conventions to obey. You recognize by the type "Service task" that it is not the user doing anything there.
Personally I think BPMN is not very suitable for describing screen flows. Modern user interfaces are too flexible. The idea of a description as a process is not adequate there. Consider the user interaction as "atomic" from a business point of view. Maybe assign some screen navigation model to the user task in order to add descriptions of your screens within the user task.