Swim Lane best practices

My manager has asked me define a System Swimlane as process model best practice. what kind of smart services and generally used appian nodes come under System Swimlane and what system swimlane is used for?

  Discussion posts and replies are publicly visible

  • There are two schools of thought for this:

    1. Use a system swimlane for anything that is not assigned directly to a user. This means that tasks assigned to certain users or groups go into a swim lane related to their role, but all other nodes go into the system swim lane. This means that the system swim lane would contain nodes like write to data store, script task, sub-processes, document generation, etc (basically everything except for user input tasks).

    2. Use a system swimlane for groups of activities that are automated or not based on user activity. In this case, you would put user input tasks in the swimlane for users / groups, but you would also add activities related to steps completed by users. For example, suppose I have a user input task that is used as an approval task. Then, immediately afterwards, there is a write to data store node that updates the approval decision in the database. Using this option, I would put the write to data store node in the same swimlane as the approval task. If I used option (1) above, the write to data store would go in the system swimlane. This means that most things that go in the system swim lane for this option include things that are mostly independent of user's activites. For example, you could put sub-process nodes, integrations, and document generation in system swim lane here.

    My preference is usually to use option (2). This typically results in a cleaner view of the process model (option (1) often results in a mess of lines because most activities end up in the system swim lane). Of course, it is mostly up to the developer, so I'd suggest thinking about what would be most clear for another developer that comes after you!