BPMN 2.0 para Principiantes Una mirada general al BPMN 2.0 Por Brian S. Reale Director ejecutivo y fundador de ProcessMaker Inc. Publicado el 9 de febrero, 2016 Contenidos Introducción Más que una linda imagen Intercambio de modelo de procesos & software BPM Modelado de flujos de trabajo El BPMN 2.0 es demasiado complejo Los tres elementos básicos del modelado Subclase descriptiva del modelado Eventos Actividades Tomar decisiones con compuertas Las 3 grandes compuertas Vamos a nadar Gestión de excepciones ¿En qué se diferencia el BPMN 2.0 de versiones anteriores? Siete reglas para el modelado BPMN Lenguaje común para trabajadores técnicos y de negocio Construir procesos ajustados al BPMN 2.0 con ProcessMaker Introducción BPMN significa Business Process Modeling Notation. El BPMN es muy similar al concepto de diagrama de flujo que ha estado presente desde los años 80. Al igual que el diagrama de flujo, el modelado BPMN tiene el objetivo de permitir elaborar un mapa de un flujo de trabajo de manera que éste pueda ser entendido fácilmente por las otras partes interesadas. El BMPN es un idioma y, como cualquier idioma, su objetivo es facilitar la comunicación. El BPMN está diseñado para facilitar la comunicación y el entendimiento de los procesos de negocio. La letra “N” de BPMN significa “notación.” La notación gráfica consta de símbolos específicos que representan acciones, flujos, o comportamiento de procesos. Los símbolos visuales han sido parte del estándar desde que el OMG lanzó la primera versión de especificación BPMN en mayo de 2004. El BPMN no es un software, y no es “propiedad” de una compañía, pero fue diseñado por el OMG (Object Management Group) como un estándar de notación que puede ser entendido por analistas de negocios, programadores, y jefes de proyecto. Imagen 1.0 El BPMN es el idioma universal del modelado de procesos. Más que una linda imagen El problema histórico con el diagrama de flujo era que cada modelador de proceso podía construir sus propios significados e interpretaciones para los diagramas que producía. Esto tuvo la consecuencia indeseada de que no todos interpretaran los procesos de la misma forma. En otras palabras, el proceso de comunicación era altamente imperfecto. El BPMN, y más específicamente el BPMN 2.0, resolvió este problema de ambigüedad introduciendo una capa semántica en XML la cual transforma el BPMN de una simple imagen bonita a algo mucho más funcional. Al agregar una definición XML establecida a cada objeto BPMN, la especificación BPMN asegura que cada modelo de proceso visual y todos los objetos en el modelo de proceso tienen un único significad. Imagen 1.1 Ejemplo básico del esquema XML. Intercambio de modelo de procesos & software BPM Gracias a una sintaxis común, muchas herramientas de modelado de flujos de trabajo y motores de procesos soportan BPMN. Como resultado, muchos paquetes de software diferentes pueden compartir y editar procesos diseñados con BPMN. Actualmente, BPMN es el lenguaje de modelado de procesos empresariales más popular. Muchos profesionales empresariales se sienten cómodos usando BPMN para visualizar flujos de trabajo, pero una de las principales ventajas del BPMN 2.0 es que aquellos que escriben código para automatizar procesos también entienden el BPMN 2.0. En otras palabras, es una gran forma de crear puentes entre los profesionales de negocios y los profesionales técnicos. El BPMN facilita que las herramientas de modelado, motores de procesos, herramientas de monitoreo de la actividad y otras herramientas, intercambien procesos, independientemente de la herramienta de cada proveedor especifico que se esté implementando. Imagen 1.2 El BPMN 2.0 intenta resolver el problema de la “ida y vuelta” para permitir que los modelos de proceso que sean intercambiados de manera precisa hacia adelante y hacia atrás entre herramientas de proceso de diferentes proveedores. . Modelado de flujos de trabajo Los flujos de trabajo son esencialmente lo que parecen: el flujo de tareas dentro de una organización. Los flujos de trabajo pueden ser completamente manuales (como el proceso de hacer un sándwich), pueden ser completamente automáticos (como el proceso de introducir datos en ecuaciones y hacer cálculos), o pueden ser una combinación de ambos (como el proceso de crear, revisar, y aprobar una petición de compra). Desarrollar flujos de trabajo abarca capturar toda la información relevante que hace parte del proceso: quién está involucrado, cuál es su responsabilidad, cómo se pasan las tareas, cuales tareas son manuales y cuales automáticas. Normalmente, la primera fase en el modelado de procesos de negocio de los flujos de trabajo es la recopilación de información relevante. Luego, el proceso y el flujo de trabajo son modelados. Finalmente, el nuevo flujo de trabajo es probado, implementado, monitoreado, y modificado según sea necesario. Imagen 1.3 Las partes interesadas necesitan ser entrevistadas para entender la verdadera índole de un flujo de trabajo particular. 1 las imágenes son de la especificación OMG BPMN 2.0 - http://www.omg.org/spec/BPMN/2.0/PDF/ Desarrollar flujos de trabajo abarca capturar toda la información relevante que hace parte del proceso: quién está involucrado, cuál es su responsabilidad, cómo se pasan las tareas, cuales tareas son manuales y cuales son automáticas. El BPMN 2.0 es demasiado complejo Muchos críticos del BPMN 2.0 se quejan de que el BPMN es demasiado complicado de aprender. Áún cuando el lenguaje en sí mismo está diseñado para no ser ambiguo al incluir una capa semántica particular, simplemente hay demasiados objetos en el BPMN para que el estándar sea útil. Estas críticas a menudo señalan a las imágenes de la especificación BPMN 2.0 OMG como esta matriz de eventos para enfatizar su punto. Estos críticos a menudo apoyan otros tipos de herramientas de modelado y metodologías. Imagen 1.4 Hay muchos diferentes tipos posibles de eventos en el BPMN 2.0. 3 elementos básicos del modelado Lo que los críticos no mencionan es que la mayoría de los procesos no necesita el modelador para conocer toda la especificación. De hecho, la mayoría de los modelos no usa más que un puñado de la mayoría de los elementos de proceso más comunes. De hecho, el BPMN consta de solo 3 elemento principales: 1. 2. 3. Eventos Actividades Puertas de enlace Sí, eso es correcto. Hay solo tres elementos principales en el BPMN! Bueno, está bien, vamos a agregar un cuarto elemento para que podamos conectar los otros tres – el Flujo de Secuencia (las líneas negras con flechas que unen). Evento Actividad P. de enlace Imagen 1.5 Los 3 principales elementos de modelado en el BPMN 2.0. Flujo de secuencia Imagen 1.6 Hay muchos diferentes tipos posibles de eventos en el BPMN 2.0. Subclase descriptiva del modelado La subclase descriptiva del modelado es un nombre aparatoso. Algunas personas le llaman a estos los elementos del nivel I. Básicamente, están todos los elementos que probablemente necesite aprender para volverse relativamente experto en el BPMN. Como mínimo, si su trabajo involucra trabajar con procesos entonces usted debería conocer estos elementos: • Piscina y carril • Flujo de secuencia y flujo de mensaje • Tres tipos de actividad: tarea de usuario, tarea de servicio, y tarea (ninguna) • Subproceso (expandido y colapsado) • Actividad de llamada • Dos tipos de compuerta: compuertas XOR y compuerta paralela • Tres eventos de inicio: mensaje, temporizador e inicio (ninguno) • Dos eventos finales: Mensaje y ninguno • Objeto de datos y almacenamiento de datos • Anotación de texto y asociación regular de datos Imagen 1.7 Elementos de la subclase descriptiva del modelado. Eventos Demos un vistazo a los tres principales tipos de eventos: 1. Inicio – indica en dónde comienza un proceso particular. 2. Intermedio – ocurre entre los eventos de inicio y fin, y afecta el flujo del proceso. 3. Finalización – Indica en dónde termina el proceso. Estos son muy simples. Lo importante es recordar que hay variantes. Por ejemplo, si usted agrega la imagen de un sobre a cualquiera de estos tres eventos, tendrá un evento de mensaje. Puede iniciar un proceso a la llegada de un mensaje, enviar un mensaje (o capturar un mensaje) con un evento intermedio en algún lugar en medio del proceso, o puede enviar un mensaje al final de un proceso. Imagen 1.8 Los eventos son simples pero puede haber muchas variantes. Actividades Una actividad es un término genérico para el trabajo que el actor realiza en un proceso. Lo que muchas personas no entienden es que una actividad puede ser atómica o no atómica (compuesta). En otras palabras, una actividad puede ser una tarea o puede ser un subproceso (un proceso dentro del proceso principal). La parte divertida de las actividades es que se también se pueden especificar varios tipos de actividades. Por ejemplo, las tareas pueden ser tareas manuales, humanas, de mensaje (tienen la misma función de un evento de mensaje), de comandos (script), o de servicio (indicando, quizás, que el trabajo está siendo realizado por un servicio web). Imagen 1.9 Las actividades pueden ser atómicas (tarea) o no atómicas (subproceso). Imagen 1.10 Subproceso expandido. Tomar decisiones con puertas de enlace Los eventos y las actividades son muy fáciles de entender. La magia real en un proceso, sin embargo, tiene lugar en las compuertas. Las compuertas pueden decirle al proceso que tome exclusivamente una u otra ruta,o les indica a los participantes en el proceso que empiecen a trabajar en paralelo. Incluso, en otros escenarios, podría haber múltiples caminos de los cuales sólo algunos se activan bajo ciertas circunstancias. Hay algunas compuertas bastante extravagantes. Mi preferida es la compuerta basada en eventos (también conocida como Race) la cual básicamente crea una carrera entre dos rutas alternativas. Por ejemplo, una compañía puede tener una política de cancelación en donde el cliente puede cancelar una póliza de seguro emitida dentro de 1 semana; de otra forma, esta imprimirá y enviará la póliza por correo. En este caso, o bien recibimos la cancelación dentro de una semana u optamos por emitir la póliza. Vaya! – eso es elegante. Imagen 1.11 Las puertas de enlace basadas en eventos son difíciles de dominar pero son una función elegante del BPMN 2.0. Las 3 grandes puertas de enlace No se preocupe si piensa que la puerta de enlace basada en evento es difícil; lo es. Pero tampoco es muy común. Aquí están las 3 que debería conocer: • Exclusiva – Esta decisión representa un punto de bifurcación en donde las alternativas están basadas en expresiones condicionales contenidas dentro de flujos de secuencia salientes. Solo una de las alternativas será elegida. • Paralela (bifurcación) - El BPMN usa el término “bifurcación” para referirse a la división de una ruta en dos o más rutas paralelas (también conocida como una división AND). Es un lugar en el proceso en donde las actividades pueden ejecutarse simultáneamente, en vez de secuencialmente. • Inclusiva – Esta decisión representa un punto de bifurcación en donde las alternativas están basadas en expresiones condicionales contenidas dentro de un flujo de secuencia saliente. En cierto sentido es una agrupación de decisiones binarias relacionadas e independientes. Ya que cada ruta es independiente, todas las combinaciones de las rutas PUEDEN tomarse, desde cero hasta todas. Sin embargo, debe diseñarse para que al menos se tome una ruta. Se puede usar una condición por defecto para asegurar que al menos se tome una ruta. Imagen 1.12 Los 3 tipos de puerta de enlace más comunes. Vamos a nadar Vale la pena pasar otros cuantos minutos en otro elemento importante en la subclase descriptiva – los carriles, piscinas, y mi favorito, la piscina caja negra. Una piscina es la representación gráfica de un participante en una colaboración. También actúa como un “carril” y un contenedor gráfico para dividir una serie de actividades de otras piscinas, usualmente en el contexto de situaciones B2B. Una piscina PUEDE tener detalles internos, en la forma del proceso que será ejecutado. O una piscina PUEDE no tener ningún detalle interno, es decir, puede ser una “caja negra”. Un carril es una sub-partición dentro de un proceso, a veces dentro de una piscina, y se extiende a lo largo de todo el proceso ya sea vertical u horizontalmente. Los carriles se usan para organizar y categorizar actividades Imagen 1.13 Piscina con 2 carriles. Imagen 1.14 Piscina vacía. Gestión de excepciones Si consigue superar la subclase descriptiva de elemento y todavía tiene apetito para más BPMN, hay otros elementos que son divertidos de aprender y bastante útiles. En este eBook solo le mostraremos uno más. Para los demás, dé un vistazo a la especificación OMG y siga leyendo. Una de las cosas más útiles sobre el BPMN es la gestión de excepciones. Lo que ocurre es que la mayoría de los procesos de negocio no sigue su “happy path”. El happy path es la forma en la que el proceso fluye cuando no hay excepción. No obstante, cuando hay una excepción al flujo de trabajo, ayuda saber cómo lidiar con ella. Una forma de manejar excepciones es con un Flujo de Excepción. Un flujo de excepción ocurre fuera del flujo normal del proceso y se basa en un evento intermedio unido al límite de una actividad que ocurre durante la ejecución del proceso. El flujo de excepción puede basarse en un temporizador (evento límite de temporizador), la llegada de un mensaje, o un error. Cuando uno de estos eventos sucede durante la ejecución de la actividad, la actividad da lugar a una nueva ruta. Magnifico, ¿cierto? Imagen 1.15 La gestión de excepciones es elegante en el BPMN. ¿En qué se diferencia el BPMN 2.0 de otras versiones anteriores? BPMN 2.0 offers far greater scope than earlier versions. El BPMN 2.0 ha estado presente desde hace algunos años, y tiene varias funciones y ventajas nuevas en comparaciones aversiones anteriores. Las versiones anteriores al 2.0 son menos consistentes, no tan maduras tecnológicamente, y no tan susceptibles de automatización. Muchos diagramas hechos bajo las antiguas versiones de BPMN están desactualizados, y son mucho más útiles y significativos cuando se traducen bajo el BPMN 2.0. El BPMN 2.0 es la principal revisión del BPMN hasta ahora, con mejoras que se han hecho tanto a los elementos visuales del BPMN como a los elementos “interiores” del BPMN como la semántica. Los diagramas representados bajo el BPMN 2.0 son similares a aquellos creados bajo versiones más antiguas, pero el BPMN 2.0 también ofrece un número de nuevos elementos, incluyendo: • • • • • • • • Eventos paralelos múltiples Eventos de aumento Diferentes tipos de tarea (servicio, enviar, recibir, etc.) Actividades globales Instancias secuenciales múltiples de tareas y de subtareas asociadas Instanciación de compuertas basadas en eventos Subprocesos basados en eventos Nuevos tipos de objetos de datos (entrada de datos, salida, mensaje, compilación, etc.) Las formas y los símbolos que se utilizaban en las versiones anteriores del BPMN todavía se utilizan en el BPMN 2.0. Un cambio importante es que el BPMN 2.0 adopta el formato de intercambio XML, que facilita la conversión de un modelo y de su notación en un proceso ejecutable automático. Eso significa que los proveedores de software de flujo de trabajo que usen BPMN pueden fácilmente emplear como entrada BPMN 2.0 y automatizarla. Imagen 1.16 Varios nuevos tipos de objeto en el BPMN 2.0. 7 reglas para el modelado BPMN Imagen 1.17 Reglas de modelado a seguir. Debe seguir algunas prácticas idóneas cuando esté modelando en el BPMN 2.0: 1. Haga que el diagrama BPMN refleje apropiadamente la lógica del proceso, complete con etiquetas en las actividades, subprocesos, eventos intermedios, y puertas de enlace 2. Muestre explícitamente cómo se manejan las excepciones 3. Haga modelos jerárquicos (y por lo tanto más fáciles de ver como un todo) con procesos y subprocesos expandiéndose desde un diagrama de alto nivel 4. Etiquete los tipos de tarea como “usuario” (una tarea que cumple un humano) o “servicio” (una tarea automatizada) 5. Represente acciones en un formato verbo-nombre (validar orden, verificar crédito, etc.) 6. Use constantemente flujos de mensaje para indicar el contexto empresarial de las actividades y eventos en un flujo de trabajo 7. Use piscinas de caja negra para mostrar participantes externos y su relación con el proceso “No olvide que aprender BPMN 2.0 requiere de práctica. No lea solamente la teoría. La práctica hace a la perfección! Un lenguaje común para negocios y trabajadores técnicos En resumen, lo mejor sobre el BPMN 2.0 es que ofrece un lenguaje común para usuarios técnicos y no técnicos, permitiendo que ambos tipos de personal tengan la precisión, flexibilidad, y entendimiento que necesitan para construir procesos correctamente. Ya que el BPMN 2.0 ofrece este lenguaje compartido, la colaboración es más fácil, y aplicaciones nuevas y más flexibles son posibles. El sistema de estándares compartidos hace que la comunicación y el entendimiento sean más claros y fáciles tanto dentro de una organización como entre organizaciones. Quizás su organización sea reticente a probarBPMN, mucho más BPMN 2.0. Pero en realidad no hay razón para posponerlo. No tiene que ser un experto para hacer un buen uso del BPMN. Aprender el razonamiento detrás del BPMN puede requerir un aumento de la curva de aprendizaje, pero una vez lo haga, se abrirá todo un nuevo mundo de posibilidades para la automatización de flujos de trabajo. Pero además, su personal técnico tendrá más facilidad transformándolos en verdaderos procesos automáticos. Acortar la distancia técnica es una de las funciones más importantes del BPMN 2.0. Construir procesos ajustados al BPMN 2.0 con ProcessMaker El diseñador de ProcessMaker permite construir procesos ajustados a BPMN 2.0, dejándole tener una notación estándar que será entendida por todos sus interesados a nivel empresarial dentro y fuera de su organización. Con el diseñador de ProcessMaker, sus gerentes de negocio, analistas de negocio, y programadores hablarán todos el mismo idioma, y la “brecha tecnológica” entre usuarios técnicos y no técnicos se reducirá considerablemente. ProcessMaker es un software de automatización y administración de procesos empresariales de código libre y en la nube que ofrece a los usuarios poder y flexibilidad. Puede usar cualquier número de plantillas pre-integradas como un punto de partida, o puede desarrollar flujos de trabajo desde cero si lo desea. Dele una oportunidad hoy mismo. Imagen 1.18 Con el diseñador de ProcessMaker puede construir procesos ajustados al BPMN 2.0. Si desea aprender más sobre el BPMN 2.0 o cómo ProcessMaker apoya el BPMN 2.0, por favor siéntase libre de contactarnos al 617-340-3377, o envíenos un correo electrónico a [email protected]. Contáctenos www.processmaker.com | +1.617.340.3377