Configurar tareas en paralelo con una compuerta inclusiva (inclusive gateway)
En muchos procesos de negocio, el paralelismo resulta esencial. Esto permite asignar tareas que pueden llevarse a cabo de manera simultánea en lugar de secuencial. Este enfoque es especialmente útil cuando las tareas son independientes entre sí. Al introducir el paralelismo en el flujo, se facilita que distintos usuarios trabajen en múltiples tareas al mismo tiempo, lo que conlleva a un ahorro significativo de tiempo.
Para implementar el paralelismo en el flujo de trabajo, se hace uso de una compuerta inclusiva en el diseño del proceso.
Para insertar la compuerta en el diagrama sigue los pasos que se muestran en el siguiente gif:
El funcionamiento de la compuerta depende de su configuración. Si la compuerta inclusiva divide el flujo en distintos caminos, se denomina “de divergencia”. Si se utiliza para unir varios caminos, se denomina “de convergencia”.
Esta rama representa una bifurcación en el flujo hacia dos o más rutas distintas. Estas alternativas pueden contar o no con condiciones. En ausencia de condiciones, todas las tareas se ejecutarán en paralelo. Si existen condiciones, la evaluación verdadera de una condición no excluye la evaluación de otras (esto permite el paralelismo). Todas las condiciones verdaderas se ejecutarán simultáneamente.
Ejemplo:
En este ejemplo el paralelismo se activa luego de ingresar la orden de compra. Como no hay condiciones, ambas tareas se asignarán a los usuarios correspondientes: quienes deban completar la tarea “Recibir pago” y quienes deban completar la tarea “Enviar producto”.
También podemos establecer condiciones para determinar cuáles tareas se deben ejecutar:
En este caso se pueden ejecutar ambas tareas en paralelo o sólo una de ellas, dependiendo si ambas condiciones, “Cliente no pagó” y “Producto no enviado”, se cumplen.
Por ejemplo, si el cliente ya pagó el producto y sólo debe ser enviado, se asignará únicamente la tarea “Enviar producto”.
Las condiciones se establecen haciendo clic en las transiciones de salida (flechas) de la compuerta inclusiva. Siempre debe cumplirse al menos una condición.
La compuerta inclusiva también se utiliza para unir distintos caminos y continuar el proceso por un único flujo. Esperará hasta que se completen todas las tareas activas antes de continuar a la siguiente etapa.
Ejemplo:
Como en este caso no hay condiciones, ambas tareas “Recibir pago” y “Enviar producto” se consideran activas. El flujo continuará a la etapa “Archivar orden” cuando las dos se hayan completado. Si en cambio establecemos condiciones, qué tareas se considerarán activas dependerá de si se cumple la condición o no.
Evita generar ciclos al utilizar compuertas inclusivas. De lo contrario podrías generar un flujo que nunca termina.
No configures flujos como este:
En este caso, lo primero que se hizo fue paralelizar las tareas de “Recibir pago” y “Enviar producto”. Cuando ambas tareas estén completadas, automáticamente el flujo se va a dirigir hacia “Archivar orden”.
Sin embargo, como el flujo se configuró para “Ingresar orden de compra” a la vez que el camino continúa hacia “Archivar orden”, esto creará una nueva orden de compra al mismo tiempo que se archiva la última, lo cual no es deseable que ocurra.
Otro posible problema es el siguiente:
Las compuertas exclusivas, a diferencia de las inclusivas, no sirven para unir caminos. En este caso, cuando se complete la tarea “Recibir pago”, automáticamente el camino seguirá hacia “Archivar orden” y lo mismo ocurrirá cuando se complete la tarea “Enviar producto”. El resultado será que se archivarán dos órdenes de compra para una misma instancia de proceso, lo cual no es aconsejable.
Tampoco deberías intentar replicar esta situación haciendo converger los caminos en la tarea “Archivar orden”, como se muestra en la siguiente imagen:
Este caso generaría el mismo resultado que el anterior. Recuerda que la única manera de unir múltiples caminos es a través de una compuerta inclusiva.
Si se combinan temporizadores con una compuerta inclusiva (Ver imagen) hay que tener especial cuidado.
En este caso, si se completa la tarea B antes que el temporizador, el flujo continuará su curso. Esto es porque las compuertas inclusivas no toman en cuenta tareas con temporizadores asociados para continuar el flujo.
La solución es incluir una flecha explícita además de la que sale del temporizador, de forma que la compuerta que une los caminos vea que hay un camino explícito y entonces espere por la tarea C (Ver imagen).
Si es una tarea que sólo debe completarse por temporizador, entonces simplemente hay que quitar las decisiones en esa tarea para que ningún usuario pueda completarla proactivamente.
Esta funcionalidad sólo está disponible en algunos Planes de Servicio.
Para implementar el paralelismo en el flujo de trabajo, se hace uso de una compuerta inclusiva en el diseño del proceso.
Para insertar la compuerta en el diagrama sigue los pasos que se muestran en el siguiente gif:
El funcionamiento de la compuerta depende de su configuración. Si la compuerta inclusiva divide el flujo en distintos caminos, se denomina “de divergencia”. Si se utiliza para unir varios caminos, se denomina “de convergencia”.
Camino de divergencia
Esta rama representa una bifurcación en el flujo hacia dos o más rutas distintas. Estas alternativas pueden contar o no con condiciones. En ausencia de condiciones, todas las tareas se ejecutarán en paralelo. Si existen condiciones, la evaluación verdadera de una condición no excluye la evaluación de otras (esto permite el paralelismo). Todas las condiciones verdaderas se ejecutarán simultáneamente.
Ejemplo:
En este ejemplo el paralelismo se activa luego de ingresar la orden de compra. Como no hay condiciones, ambas tareas se asignarán a los usuarios correspondientes: quienes deban completar la tarea “Recibir pago” y quienes deban completar la tarea “Enviar producto”.
También podemos establecer condiciones para determinar cuáles tareas se deben ejecutar:
En este caso se pueden ejecutar ambas tareas en paralelo o sólo una de ellas, dependiendo si ambas condiciones, “Cliente no pagó” y “Producto no enviado”, se cumplen.
Por ejemplo, si el cliente ya pagó el producto y sólo debe ser enviado, se asignará únicamente la tarea “Enviar producto”.
Las condiciones se establecen haciendo clic en las transiciones de salida (flechas) de la compuerta inclusiva. Siempre debe cumplirse al menos una condición.
Camino de convergencia
La compuerta inclusiva también se utiliza para unir distintos caminos y continuar el proceso por un único flujo. Esperará hasta que se completen todas las tareas activas antes de continuar a la siguiente etapa.
Ejemplo:
Como en este caso no hay condiciones, ambas tareas “Recibir pago” y “Enviar producto” se consideran activas. El flujo continuará a la etapa “Archivar orden” cuando las dos se hayan completado. Si en cambio establecemos condiciones, qué tareas se considerarán activas dependerá de si se cumple la condición o no.
Posibles problemas
Evita generar ciclos al utilizar compuertas inclusivas. De lo contrario podrías generar un flujo que nunca termina.
No configures flujos como este:
En este caso, lo primero que se hizo fue paralelizar las tareas de “Recibir pago” y “Enviar producto”. Cuando ambas tareas estén completadas, automáticamente el flujo se va a dirigir hacia “Archivar orden”.
Sin embargo, como el flujo se configuró para “Ingresar orden de compra” a la vez que el camino continúa hacia “Archivar orden”, esto creará una nueva orden de compra al mismo tiempo que se archiva la última, lo cual no es deseable que ocurra.
Otro posible problema es el siguiente:
Las compuertas exclusivas, a diferencia de las inclusivas, no sirven para unir caminos. En este caso, cuando se complete la tarea “Recibir pago”, automáticamente el camino seguirá hacia “Archivar orden” y lo mismo ocurrirá cuando se complete la tarea “Enviar producto”. El resultado será que se archivarán dos órdenes de compra para una misma instancia de proceso, lo cual no es aconsejable.
Tampoco deberías intentar replicar esta situación haciendo converger los caminos en la tarea “Archivar orden”, como se muestra en la siguiente imagen:
Este caso generaría el mismo resultado que el anterior. Recuerda que la única manera de unir múltiples caminos es a través de una compuerta inclusiva.
Paralelismo y temporizadores
Si se combinan temporizadores con una compuerta inclusiva (Ver imagen) hay que tener especial cuidado.
En este caso, si se completa la tarea B antes que el temporizador, el flujo continuará su curso. Esto es porque las compuertas inclusivas no toman en cuenta tareas con temporizadores asociados para continuar el flujo.
La solución es incluir una flecha explícita además de la que sale del temporizador, de forma que la compuerta que une los caminos vea que hay un camino explícito y entonces espere por la tarea C (Ver imagen).
Si es una tarea que sólo debe completarse por temporizador, entonces simplemente hay que quitar las decisiones en esa tarea para que ningún usuario pueda completarla proactivamente.
Esta funcionalidad sólo está disponible en algunos Planes de Servicio.
Actualizado el: 27/08/2023
¡Gracias!