Pools y Swimlanes en BPMN
Introducción
En BPMN 2.0, las pools y swimlanes (también llamadas lanes) se usan para organizar procesos y representar de forma visual los roles, departamentos o entidades en un proceso de negocio. Facilitan saber quién es responsable de cada tarea y cómo interactúan los distintos participantes.
Pools
Propósito: Una pool representa a un participante principal en el proceso o una entidad como una organización, sistema o partner de negocio. Las pools definen los límites de un proceso y muestran que distintas pools pueden representar organizaciones o departamentos que colaboran.
Representación visual: Un contenedor rectangular grande que encierra un proceso completo. Puede tener varias swimlanes (lanes), pero cada pool es un proceso o participante distinto.
Ejemplo: Podrías tener una pool para “Company A” y otra para “Company B” en un proceso donde ambas interactúan.
Caso de uso: Las pools se usan para modelar interacciones entre entidades, como cuando una empresa interactúa con un proveedor, partner o cliente externo. Cada entidad tiene su pool y los message flows entre pools muestran la comunicación entre ellas.
Swimlanes (Lanes)
Propósito: Una swimlane (o lane) es una subdivisión dentro de un pool que ayuda a organizar mejor las actividades, separándolas por roles, departamentos o sistemas. Las lanes aportan claridad al mostrar quién es responsable de cada tarea dentro de un pool.
Representación visual: Subdivisiones horizontales o verticales dentro de un pool, cada una representando un participante distinto (por ejemplo, un departamento, rol o sistema).
Ejemplo: Dentro de un pool que representa una empresa, puedes tener lanes para “Ventas”, “Finanzas” y “Atención al Cliente”, con tareas asignadas a cada área.
Uso común: Las lanes se usan para asignar la responsabilidad de las tareas dentro del pool, dejando claro quién realiza cada actividad. Por ejemplo, tareas de facturación irán en la lane de “Finanzas” y las relacionadas con clientes en la de “Atención al Cliente”.
Collapsed Pool
Propósito: Un collapsed pool representa a un participante en el proceso (como una empresa, departamento o sistema) donde no se muestra el flujo interno. Se utiliza para visualizar las interacciones entre varios participantes sin mostrar detalles de su workflow interno.
Representación visual: Un rectángulo grande sin actividades internas visibles. Normalmente solo contiene el nombre del participante y puede tener message flows que entran o salen de la pool para mostrar la interacción con otros participantes.
Ejemplo: Un diagrama puede mostrar una empresa interactuando con un proveedor. Los procesos internos de la empresa se muestran, mientras que el proveedor está representado por un collapsed pool para señalar su participación sin detallar sus pasos internos.
Caso de uso: Los collapsed pools son útiles para exponer la interacción entre múltiples participantes, sin enfocarse en los procesos internos de algunos de ellos. Por ejemplo, se puede mostrar cómo un cliente interactúa con un proveedor externo sin mostrar procedimientos internos de ese proveedor.
Características clave
Pools:
- Interacción entre procesos: Al modelar múltiples pools, puedes usar message flows para mostrar la comunicación entre participantes. Por ejemplo, un cliente envía un pedido a un proveedor, lo cual se representa con un message flow entre sus pools.
- Procesos independientes: Cada pool puede contener su propio proceso. El proceso en una pool es independiente de los de otras pools, aunque se pueden conectar mediante message flows.
Swimlanes (Lanes):
- Responsabilidad y organización: Las lanes en una pool representan distintos participantes, roles o departamentos responsables de tareas. Cada lane ayuda a delimitar la responsabilidad dentro de la organización o entidad.
- Asignación de tareas: Organizar tareas en swimlanes permite visualizar fácilmente qué departamento o persona es responsable de cada parte del proceso.
Collapsed Pool:
- Representación del participante: Un collapsed pool muestra un participante sin reflejar su workflow interno. Puede ser una organización externa, departamento o entidad que interactúa con otros.
- Sin actividades internas: El pool no muestra tareas ni actividades internas, indicando que el proceso es oculto o no relevante para el diagrama.
- Enfoque en la interacción: Se resalta cómo el collapsed pool interactúa con otros usando message flows, en vez de mostrar pasos internos.
- Visibilidad de límites: Aunque el proceso interno está oculto, los límites del participante se ven claramente para mostrar su participación en el proceso general.
- Vista simplificada: Los collapsed pools simplifican diagramas complejos al quitar detalles externos innecesarios, facilitando centrarse en las interacciones y comunicación.
Ejemplos
Ejemplo de Pool: En un proceso de cadena de suministro:
- Una pool representa al “Supplier” y otra representa al “Customer”.
- El proceso dentro de la pool “Customer” puede incluir realizar un pedido, mientras que en la pool “Supplier” puede ser procesar y enviar ese pedido.
- Los message flows entre las pools muestran la comunicación, como enviar la solicitud de pedido y recibir la confirmación de envío.
Ejemplo de Swimlane: En el proceso interno de una empresa:
- Una única pool representa a “Empresa XYZ”.
- Dentro de esta pool, las swimlanes representan distintos departamentos, como “Ventas”, “Operaciones” y “Contabilidad”.
- Tareas como “Generar factura” pueden ir al lane de “Contabilidad”, mientras que “Preparar envío” se asigna a “Operaciones”, mostrando clara división de responsabilidades.
Ejemplo de Collapsed Pool: En una colaboración internacional:
- Un collapsed pool representa “International Partner A” y otro collapsed pool representa “International Partner B”.
- Los procesos internos de “International Partner A” y “International Partner B” no se muestran, ya que no son relevantes para el diagrama actual.
- Los message flows entre los collapsed pool muestran la comunicación, como enviar una propuesta de contrato desde “Partner A” y recibir el contrato firmado de “Partner B”.
- El enfoque está en la interacción y comunicación entre ambos partners, no en los detalles internos de cada uno.
Puntos clave
Pools:
- Representan participantes independientes como empresas, departamentos o sistemas.
- Sirven para modelar interacciones entre diferentes organizaciones o entidades.
- Incluyen procesos completos que se comunican con otras pools mediante message flows.
Swimlanes (Lanes):
- Subdivisiones en una pool, representando roles, departamentos o sistemas dentro de la misma organización.
- Organizan tareas e indican la responsabilidad de actividades específicas.
- Aportan claridad asignando tareas a participantes concretos en el proceso.
Collapsed Pools:
- Representan participantes en un proceso con actividades internas ocultas o no relevantes en la vista actual.
- Se enfoca en las interacciones entre participantes, simplificando el diagrama al omitir detalles internos.
- Se usan para mostrar comunicaciones de alto nivel o intercambios externos entre participantes.
- Los message flows muestran la comunicación entre collapsed pools y otros participantes.
- Ayudan a reducir la complejidad de los diagramas, manteniendo claridad en la interacción entre participantes.
Casos de uso
- Pools: Al modelar interacciones entre entidades distintas, como una empresa y su proveedor o cliente.
- Swimlanes: Al modelar procesos internos en una organización y mostrar cómo roles o departamentos participan en el workflow.
- Collapsed Pools: Para modelar participantes externos cuando no es relevante mostrar el proceso interno, por ejemplo, si un cliente interactúa con un proveedor de servicios y solo importa reflejar la comunicación entre ambos, sin detallar las etapas internas del proveedor.
Ejemplo
[IMAGE PLACEHOLDER FOR POOLS AND SWIMLANES EXAMPLE]
Pool 1: “Customer”
- Lane 1: “Departamento de Ventas” (Task: “Submit Order”)
- Lane 2: “Departamento de Contabilidad” (Task: “Send Payment Confirmation”)
Pool 2: “Supplier”
- Lane 1: “Almacén” (Task: “Prepare Shipment”)
- Lane 2: “Facturación” (Task: “Issue Invoice”)
En este diagrama, la pool Customer se comunica con la pool Supplier usando message flows (por ejemplo, enviando un pedido y recibiendo una factura), mientras que las tareas dentro de cada pool se asignan a lanes específicos según responsabilidades de cada departamento.
Las pools y swimlanes son esenciales para estructurar procesos de negocio complejos, mostrando claramente cómo diferentes entidades y roles contribuyen al workflow y asegurando que las responsabilidades estén bien definidas dentro y entre organizaciones.