Qué lenguaje de modelado usar
Se comparan como si un equipo tuviera que elegir uno y convivir con él. Responden a preguntas distintas, solo se solapan de verdad en tres sitios, y saber cuáles son es la mayor parte de la decisión.
9 min de lecturaModelling practice1 de 4
La respuesta corta
- UML describe cómo está construido un sistema, ArchiMate cómo se sostiene un parque entero, BPMN qué ocurre en un proceso y C4 en qué nivel de zoom estás mirando.
- Se solapan solo en tres sitios: el flujo del proceso, la estructura de aplicaciones y la caja del tamaño de un contenedor que C4, ArchiMate y UML saben dibujar.
- Elige según quién lee el diagrama y qué tiene que sobrevivir: una conversación, un fichero de intercambio o un motor de procesos.
- Usar más de uno es normal. El fallo es mezclar dos en un mismo lienzo sin decirlo: la caja pasa a significar lo que el lector suponga.
01Cuatro lenguajes, cuatro preguntas distintas#
Una notación es un conjunto de respuestas, y solo sirve si hacías la pregunta que responde. Las cuatro de este sitio las escribieron personas distintas, en décadas distintas, para salas distintas - y la comparación resulta escurridiza porque tres cuartas partes de ella son un error de categoría. Antes de comparar nada, ayuda leerlas como cuatro preguntas y no como cuatro cajas de herramientas.
| Elemento | Notación | Qué significa |
|---|---|---|
| UML 2.5.1 | Catorce tipos de diagrama, un sistema | ¿Cómo está construido este software? Clases, mensajes, estados, componentes, nodos. Lo bastante preciso para que un diagrama pueda estar mal, que es justo para lo que existe un metamodelo. |
| ArchiMate 4 | Capas y aspectos, un parque entero | ¿Cómo se sostienen negocio, aplicaciones y tecnología? Un solo vocabulario que abarca los tres, para que una pregunta que los cruce se pueda responder en un único modelo. |
| BPMN 2.0 | Un proceso, sus participantes y sus eventos | ¿Qué ocurre, en qué orden y quién lo hace? Escrito para que lo lea el negocio y lo ejecute un motor: un par de restricciones que ninguna otra notación de aquí acepta. |
| C4 | Cuatro niveles, ninguna forma impuesta | ¿En qué nivel de zoom estoy mirando? Una convención sobre el alcance más que una notación, así que se compone con cualquiera de las tres anteriores en vez de competir con ellas. |
Leídas así, la mayoría de los emparejamientos se disuelven. Comparar C4 con UML es comparar un índice con una tipografía, de lo que trata un artículo propio. Comparar ArchiMate con BPMN es comparar el mapa de un país con unas indicaciones de ruta. Lo que queda al retirar los errores de categoría son tres solapes reales, y sobre esos sí merece la pena discutir.
02Los tres sitios donde se solapan de verdad#
El flujo del proceso. Un proceso BPMN y un diagrama de actividad UML describen lo mismo: trabajo en secuencia, con ramas, paralelismo y participantes. Se dibujan distinto y apuntan a salas distintas, pero un diagrama del proceso de pedido a cobro es legítimo en ambos. Es el único solape en el que los dos candidatos son de verdad intercambiables para el lector, y por eso tiene una comparación propia.
La estructura de aplicaciones. Un componente de aplicación de ArchiMate y un componente UML nombran los dos un trozo de software y las interfaces que ofrece. La diferencia es la profundidad de campo: ArchiMate se detiene en el componente y mira a los lados, al proceso de negocio al que sirve y al nodo en el que corre; UML sigue acercándose, hasta las clases de dentro. Si la siguiente pregunta es "y de qué está hecho", quieres UML. Si es "y a quién le importa si se cae", quieres ArchiMate.
La caja del tamaño de un contenedor. Un contenedor C4, un componente de aplicación de ArchiMate y un componente UML son con frecuencia la misma cosa desplegable dibujada de tres maneras. Las tres notaciones son correctas aquí, y es el solape en el que los equipos más se hablan sin entenderse: el desacuerdo casi siempre va del nivel de detalle al que apunta el diagrama, no de qué notación es la buena.
03Tres preguntas que lo zanjan#
Donde sí existe una elección real, tres preguntas la zanjan más rápido que cualquier comparativa de funciones. Respóndelas en orden y la cuarta respuesta suele ser ya evidente.
1. ¿Quién tiene que leerlo sin que se lo enseñen? Esta restricción pesa más que la corrección, porque un diagrama que nadie lee no vale nada por legal que sea. Los desarrolladores leen UML y C4 de un vistazo. Los analistas de negocio y los responsables de operaciones leen BPMN de un vistazo, y a la mayoría nunca les han mostrado un diagrama de actividad UML. ArchiMate lo leen los arquitectos de empresa y quienes financian los programas, y casi nadie más.
2. ¿Cuánto entra en el alcance? ¿Un sistema, o el parque que lo rodea? UML y C4 tienen alcance de sistema: describen una cosa con frontera, repositorio y equipo. ArchiMate tiene alcance de parque, y aplicarlo a una sola aplicación produce un modelo correcto, caro y menos útil que los dos diagramas UML a los que sustituyó. El error contrario sale más caro: responder a "de qué aplicaciones depende esta capacidad de negocio" dibujando cuarenta diagramas de componentes.
3. ¿Qué tiene que sobrevivir a la reunión? Si la respuesta es "un entendimiento común", sirve cualquier notación que la sala lea, y gana la menos formal. Si es "un fichero que otra herramienta abra", hace falta una notación con formato de intercambio: UML tiene XMI, ArchiMate tiene el formato de intercambio de The Open Group, BPMN tiene su propio XML y C4 tiene lo que guarde tu herramienta de dibujo. Si es "algo que ejecute un motor", la respuesta es BPMN y no hay segundo candidato.
04Usar más de uno sin liarla#
La mayoría de las organizaciones a partir de cierto tamaño usan tres de las cuatro, y no es un fallo de gobierno. El fallo es más sutil y mucho más común: dos notaciones en un mismo lienzo y nada en la página que diga qué caja pertenece a cuál. El lector tiene entonces que adivinar si un rectángulo redondeado es un servicio de aplicación de ArchiMate o una tarea de BPMN, y un diagrama que hay que adivinar es un diagrama que se ignora.
Tres hábitos evitan casi todo eso. Etiqueta la vista con su notación y su nivel, igual que un punto de vista de ArchiMate lleva el nombre de la pregunta que responde. Mantén un elemento por cada cosa real, para que el mismo servicio sea una única entrada del modelo por muchas vistas que lo dibujen. Y deja que las vistas difieran en el detalle, nunca en el hecho: si dos diagramas muestran dependencias distintas para el mismo componente, el modelo ya ha dejado de ser cierto.
Con el último hábito una herramienta de dibujo no puede ayudar, porque detrás de las imágenes no tiene modelo alguno. Es la diferencia entre una carpeta de diagramas y un modelo con vistas sobre él, y por eso las plantillas de partida de aquí van por notación y no por dibujo: la notación que elijas fija el vocabulario, y el vocabulario es de lo que está hecho el modelo. Si prefieres verlo antes de seguir leyendo, la demo de quince segundos construye uno y te lo devuelve como fichero.
En una línea cada uno
- 01Ajusta el lenguaje a la pregunta: un sistema (UML, C4), un proceso (BPMN) o el parque que contiene ambos (ArchiMate).
- 02Solo tres solapes son reales - flujo de proceso, estructura de aplicaciones y la caja del tamaño de un contenedor - y solo el primero es una disyuntiva de verdad.
- 03El público pesa más que la corrección. Un diagrama legal que nadie en la sala lee ha fallado en lo único que tenía que hacer.
- 04Si hay que ejecutarlo, es BPMN. Si hay que intercambiarlo, hace falta una notación con formato de intercambio.
- 05Combina con libertad entre vistas; nunca en un mismo lienzo sin indicar qué notación rige.
05Preguntas frecuentes#
¿Qué lenguaje de modelado debería aprender primero un equipo?
El que responde a la pregunta que al equipo le han hecho de verdad. Un equipo que documenta el sistema que construye aprende UML o C4; uno que mapea cómo el parque de aplicaciones sostiene al negocio aprende ArchiMate; uno que escribe cómo circula el trabajo entre departamentos aprende BPMN. Aprender el que nadie pidió es como se abandona una notación en el tercer mes.
¿Puede un mismo modelo contener UML, ArchiMate y BPMN?
En una misma herramienta normalmente sí, y en proyectos reales es lo habitual: un componente de aplicación de ArchiMate y un componente UML pueden describir la misma cosa con distinta precisión. Ningún estándar admite un solo diagrama en dos notaciones, porque ambos metamodelos dan a las mismas formas significados distintos. Deja el modelo común y las vistas separadas.
¿Necesito ArchiMate si el equipo ya usa C4?
Para describir un único sistema de software, no. Los cuatro niveles de C4 lo cubren, y añadir ArchiMate encima compra una precisión que nadie pidió. ArchiMate se gana su sitio cuando la pregunta cruza sistemas: qué procesos de negocio sostiene una aplicación que se retira, o qué capacidades toca un programa. C4 no tiene vocabulario para ninguna de las dos.
¿Está mal dibujar un proceso de negocio en UML en lugar de BPMN?
No. Un diagrama de actividad UML es una notación de proceso legítima y se lee bien ante un público técnico. BPMN gana cuando los lectores son personas de negocio que ya lo han visto, cuando el proceso cruza organizaciones, o cuando el diagrama va a entregarse a un motor: BPMN 2.0 define una forma XML pensada para ejecutarse, y UML no tiene equivalente.
En esta serie
- 01Qué lenguaje usar
- 02Acotar un modelo
- 03Convenciones de nombres
- 04Mantener un modelo al día
Lecturas relacionadas
Fundamentos
Fundamentos
Fundamentos
Fundamentos
Práctica del modelado
Práctica del modelado