UML fue el gran intento del software de estandarizar los diagramas de diseño: la OMG lo aceptó en 1997 y la ISO lo adoptó en 2005. Colapsó bajo su propio peso: la documentación de UML 2.2 superaba las 1.000 páginas y el estándar quedó atado a herramientas CASE pesadas y a un trabajo previo oneroso, de modo que en la década de 2020 tanto defensores como detractores coincidían en que estaba esencialmente muerto.
Un artefacto le sobrevivió: el diagrama de secuencia, un mapa simple de mensajes que fluyen entre componentes. Sus supervivientes podían dibujarlo, pero las herramientas lo hacían penoso: jessems, un desarrollador de BitHawk, encontraba lento y frágil arrastrar formas en Lucidchart, y cualquier cambio futuro arruinaba la disposición.
El cambio fue Mermaid, una biblioteca de JavaScript en la que se declara el diagrama como texto plano: participantes, flechas y mensajes escritos dentro de un bloque de código Markdown, renderizados por la cadena de herramientas de Markdown. El autor lo probó esperando que código sobre código se sintiera mal, y luego lo encontró rápido, indoloro y hermoso; empezó a incrustar diagramas de secuencia en los planes de implementación de sus historias de usuario, previsualizándolos con recarga en caliente y exportándolos como imágenes para pegarlas en campos HTML.
La razón de que se afianzara es que el diagrama se convirtió en un artefacto de código ordinario. Vive junto a la historia que documenta, se compara en diffs durante la revisión de código, se actualiza con una edición de una línea en lugar de un redibujado, y se renderiza dondequiera que lo haga Markdown: el Markdown de GitHub admite Mermaid de serie, señalaron comentaristas en el hilo de Hacker News. El fundador de Mermaid lo enmarcó como una simplicidad informal que reemplazaba la complejidad rígida de las herramientas de la era de Rational Rose.
Convertir el diagrama en un artefacto de código: escribirlo como texto en Markdown y dejar que el renderizador lo dibuje
Escribir un diagrama es más rápido que arrastrarlo, así que el coste de autoría baja de una sesión de lienzo a unas pocas líneas junto al documento.
El texto se versiona y se compara en diffs como el código, así que actualizar un diagrama es una edición de una línea en la revisión en lugar de un redibujado frágil.
Los renderizadores de Markdown ya existen en todas partes, así que el diagrama se muestra donde el equipo ya lee y comenta la documentación.
UML murió por añadir complejidad; Mermaid conservó solo el artefacto útil y eliminó el coste de herramientas a su alrededor.
Un estándar sobrevive recortando el coste donde la gente ya trabaja: el diagrama que gana es el que se puede escribir en un documento y comparar en diffs durante la revisión.
La publicación reunió 207 puntos y 111 comentarios en Hacker News el 24 de julio de 2023. Los comentaristas señalaron que el Markdown de GitHub renderiza Mermaid de serie, lo compararon con PlantUML, d2 y Graphviz, y recomendaron ecosistemas de Markdown como Docusaurus, que lo renderizan con un solo comando de instalación. El autor mantuvo el flujo de trabajo en BitHawk, redactando planes de implementación cuyos diagramas de secuencia viven dentro de archivos Markdown, con mermaid-cli exportándolos como imágenes cuando los registros requerían HTML.
CONSULTA LAS PRUEBAS
Las fuentes
- The Unreasonable Effectiveness of Sequence Diagrams in MermaidJS jessems.com · jessems.com ·
- Sequence diagrams, the only good thing UML brought to software development MermaidChart blog · mermaid.ai
- Hacker News discussion: The Unreasonable Effectiveness of Sequence Diagrams in MermaidJS Hacker News · news.ycombinator.com ·