¿Qué es BPMN?
Business Process Model and Notation: un lenguaje de procesos bastante preciso como para que lo ejecute un motor y bastante llano como para que lo corrija quien hace el trabajo. Esa segunda mitad es la parte difícil, y es la razón de ser de BPMN.
10 min de lecturaBPMN 2.01 de 7
La respuesta corta
- BPMN existe por una sola razón: un modelo de proceso que un motor ejecuta y que quien hace el trabajo todavía puede corregir.
- Hay cinco familias de símbolos, pero casi todo diagrama real se sostiene sobre tres - objetos de flujo, objetos de conexión y calles.
- Un flujo de secuencia nunca puede cruzar la frontera de una calle. Esa única regla es lo que hace que las calles signifiquen algo.
- Una calle es un participante con su propio flujo de control; un carril solo la subdivide. Dos calles distintas solo pueden intercambiar mensajes.
01Qué es#
BPMN es una notación para procesos de negocio: el orden en que ocurren las cosas, quién las hace y qué las ramifica. Es un estándar de OMG, el mismo organismo que posee UML, y la versión 2.0 es la que significa todo lo que dice BPMN.
Su objetivo de diseño es inusual y conviene decirlo sin rodeos: pretende ser legible por el negocio y ejecutable por un motor. El mismo diagrama que un responsable de operaciones corrige en un taller puede, con suficiente detalle rellenado, desplegarse en un motor de procesos y ejecutarse. Ninguna otra notación de procesos intenta ambas cosas en serio.
Ese doble propósito explica el tamaño del juego de símbolos. BPMN tiene alrededor de cien símbolos, lo que suena alarmante y no lo es: son cinco familias con variaciones, y un diagrama que use veinte cubre casi cualquier proceso que alguien dibuje.
02Las cinco familias#
| Elemento | Notación | Qué significa |
|---|---|---|
| Eventos | círculos | Algo ocurre. El grosor del borde dice cuándo: fino inicia el proceso, doble ocurre durante él, grueso lo termina. Un glifo interior dice de qué tipo: un mensaje, un temporizador, un error. |
| Actividades | rectángulos redondeados | Trabajo que se hace. Una tarea es atómica; un subproceso contiene un proceso propio y puede dibujarse plegado con un +. |
| Compuertas | rombos | Donde los caminos se separan o se juntan. El marcador interior dice según qué regla: exclusiva, paralela, inclusiva, basada en eventos. |
| Objetos de conexión | Flujo de secuencia (sólido, punta rellena) dentro de un pool; flujo de mensaje (discontinuo, círculo abierto y punta hueca) entre pools; asociación (punteada) hacia los artefactos. | |
| Calles de nado | pools y carriles | Quién es responsable. Un pool es un participante, un carril es una subdivisión dentro de uno. |
Los artefactos - objetos de datos, grupos, anotaciones de texto - son una sexta familia y no llevan ninguna semántica de ejecución. Son notas.
La familia a la que pertenece un símbolo siempre se ve por su contorno: círculo, rectángulo redondeado, rombo. La variación dentro de una familia siempre es un marcador interior o un grosor de borde. Esa regularidad es lo que hace aprendibles cien símbolos: aprendes cinco formas y un juego de adornos, no cien dibujos.
03El flujo de secuencia no es el flujo de mensaje#
Esta es la regla que separa un diagrama BPMN de un diagrama de flujo con las esquinas redondeadas: un flujo de secuencia nunca puede cruzar la frontera de un pool. Un pool es un participante independiente con su propio proceso, y tú no decides en qué orden hace su trabajo otra organización. Lo único que puedes decir es que le enviaste algo, y eso es un flujo de mensaje.
| Elemento | Notación | Qué significa |
|---|---|---|
| Flujo de secuencia | "Luego ocurre esto." Línea sólida, punta de flecha rellena. Se queda siempre dentro de un pool. | |
| Flujo de mensaje | "Esto se les envía." Línea discontinua, círculo abierto en el emisor, punta hueca en el receptor. Cruza pools, siempre. | |
| Asociación | "Esta nota va sobre aquello." Línea punteada. Conecta artefactos con objetos de flujo y no significa nada para un motor. | |
| Flujo por defecto | una raya al arranque de la línea | La rama que se toma cuando ninguna otra condición de la compuerta se cumple. Exactamente una por compuerta de ramificación. |
04Pools, carriles y quién es responsable#
Dentro de un pool, los carrilessubdividen el trabajo por rol, departamento o sistema. No llevan semántica de ejecución alguna - un motor los ignora por completo - y aun así son lo más valioso de muchos diagramas, porque "quién hace este paso" es la pregunta sobre la que un taller de procesos discute de verdad.
Una disciplina útil: cada cruce de carril es una entrega, y cada entrega es un sitio donde el trabajo espera. Contar los flujos de secuencia que cruzan una frontera de carril te da una primera lista de dónde el proceso es lento, antes de que nadie mida nada.
05Tres niveles de BPMN#
Casi toda discusión sobre "cuánto BPMN es demasiado" se disuelve en cuanto nombras cuál de estos tres estás haciendo.
| Elemento | Notación | Qué significa |
|---|---|---|
| Descriptive | ~10 símbolos | Para personas. Inicio, fin, tareas, compuertas exclusivas y paralelas, pools, carriles, flujos de mensaje. Lo que produce un taller y lo que debería ser la mayor parte de la documentación de procesos publicada. |
| Analytic | ~30 símbolos | Añade los tipos de evento, los eventos de frontera, los subprocesos y las compuertas basadas en eventos. Lo bastante preciso para simular y para razonar sobre excepciones. |
| Executable | el juego completo, más los datos | Cada condición de ramificación, cada mapeo de datos, cada enlace de servicio rellenado. Desplegado en un motor. El diagrama ya es código fuente y debería revisarse como tal. |
El error no es elegir el nivel equivocado, es mezclarlos en un mismo diagrama. Un modelo descriptive con tres eventos de frontera de error totalmente especificados y once tareas desnudas no contenta a nadie: demasiado detallado para hojearlo, demasiado incompleto para ejecutarlo.
06¿BPMN, diagrama de actividad o ArchiMate?#
Úsalo cuando
- El proceso cruza organizaciones y las entregas son el tema
- Gente de negocio tiene que leer, corregir y aprobar el diagrama
- El modelo puede acabar ejecutándose en un motor de procesos
- Excepciones, temporizadores y acciones compensatorias importan tanto como el camino feliz
Usa otra cosa cuando
- Describes un algoritmo dentro de un sistema: usa un diagrama de actividad
- Necesitas el paisaje y no el proceso: usa ArchiMate
- El público son desarrolladores y el tema es una secuencia de llamadas: usa un diagrama de secuencia
- Son cuatro cajas en fila y bastaría un diagrama de flujo
Un diagrama de actividad UML cubre terreno parecido y es mejor dentro de un sistema: tiene construcciones de flujo de control más ricas y encaja de forma natural junto a los demás diagramas UML que describen el mismo software. BPMN gana en cuanto hay más de una organización implicada, porque los pools y los flujos de mensaje no tienen en UML un equivalente que un público de negocio vaya a leer.
ArchiMate también sabe dibujar un proceso de negocio, y debería: una caja por proceso, en una vista de paisaje. En el momento en que quieres saber qué pasa cuando el pago falla, esa es la pregunta de BPMN, no la de ArchiMate.
07Errores comunes#
- Flujo de secuencia cruzando la frontera de un pool. El error más común con diferencia, y significa que el diagrama se arroga autoridad sobre el proceso de otro.
- Ningún evento de fin. Todo camino debe terminar en uno. Una tarea colgando deja vivo para siempre un token de proceso, que es un fallo real una vez ejecutado el modelo y una ambigüedad real antes.
- Decisiones dibujadas dentro de las tareas.Una tarea que "comprueba y encamina" esconde la ramificación. Pon una compuerta después.
- Compuertas que ramifican y unen a la vez. Legal, ilegible. Usa una para separar y otra para unir.
- Carriles con nombres de personas. Nombra el rol. La gente cambia de puesto y el diagrama no debería necesitar edición por ello.
En una línea cada uno
- 01Cinco familias: eventos, actividades, compuertas, objetos de conexión, calles de nado.
- 02El contorno dice la familia; el marcador interior y el grosor del borde dicen la variación.
- 03El flujo de secuencia nunca cruza un pool; el flujo de mensaje solo cruza pools.
- 04Un pool que no controlas va vacío: una caja negra con mensajes que la tocan.
- 05Elige descriptive, analytic o executable y mantén un diagrama en un solo nivel.
- 06Todo camino acaba en un evento de fin, y las compuertas separan o unen, nunca ambas.
08Preguntas frecuentes#
¿Para qué se usa BPMN?
Para modelar procesos de negocio en una notación bastante precisa como para que la ejecute un motor de flujos de trabajo y bastante llana como para que la corrija quien hace el trabajo. Ese segundo requisito es la razón de ser de BPMN y explica por qué su juego de símbolos cotidiano es tan pequeño.
¿Cuáles son las principales familias de símbolos BPMN?
Cinco: objetos de flujo, es decir eventos, actividades y compuertas; objetos de conexión, es decir flujo de secuencia, flujo de mensaje y asociación; calles, es decir pools y carriles; datos, es decir objetos y almacenes de datos; y artefactos, es decir grupos y anotaciones. Casi todo diagrama se construye con las tres primeras.
¿Qué diferencia hay entre flujo de secuencia y flujo de mensaje?
El flujo de secuencia es una línea continua con punta rellena y muestra el orden de los pasos dentro de una misma calle. El flujo de mensaje es una línea discontinua con punta abierta y cruza entre calles. Un flujo de secuencia nunca puede cruzar la frontera de una calle, y esa regla es lo que hace que las calles signifiquen algo.
¿Qué diferencia hay entre una calle y un carril?
Una calle es un participante: una organización, o un proceso aparte con su propio flujo de control. Un carril subdivide una calle, normalmente por rol o departamento. Los pasos en carriles distintos de una misma calle se conectan con flujo de secuencia; los pasos en calles distintas solo pueden intercambiar mensajes.
¿Es BPMN mejor que un diagrama de actividad UML?
Para modelos de proceso orientados al negocio, normalmente sí: BPMN tiene semántica de eventos más rica, flujo de mensajes real entre participantes y un estándar de ejecución detrás. Para comportamiento dentro de una pieza de software, un diagrama de actividad queda más cerca del resto del diseño y no exige una segunda notación.
En esta serie
- 01Qué es BPMN
- 02Eventos
- 03Compuertas
- 04Ejemplos BPMN
- 05Dibujar un BPMN
- 06Símbolos BPMN
- 07BPMN o diagrama de actividad
Lecturas relacionadas
Referencia de notación
Diagramas de comportamiento
Práctica del modelado
Referencia de notación
Fundamentos
Diagramas de comportamiento