Colaboracion en tiempo real en diagramas C4 y arquitectura global - Archyl Blog

La colaboracion en arquitectura no deberia detenerse en las pizarras. Estamos extendiendo la presencia en tiempo real, los cursores en vivo y el seguimiento de foco a los diagramas C4 de sus proyectos y la vista de Arquitectura Global, para que todo su equipo pueda trabajar en la misma arquitectura, al mismo tiempo.

Colaboracion en tiempo real en diagramas C4 y arquitectura global

Hace unas semanas, lanzamos la colaboracion en tiempo real en pizarras. La respuesta fue inmediata y clara: a los equipos les encantaba ver los cursores de los demas, les encantaban los indicadores de presencia, les encantaba ver como la arquitectura tomaba forma en conjunto. Pero la solicitud mas comun fue: "Podemos tener esto en los diagramas C4 reales tambien?"

Pregunta justa. Las pizarras son geniales para el brainstorming, pero la verdadera arquitectura vive en sus modelos C4: los sistemas, contenedores, componentes y elementos de codigo que definen como esta estructurado su software. Ahi es donde los equipos pasan la mayor parte del tiempo. Ahi es donde la colaboracion importa mas.

Hoy, lo hacemos realidad. La colaboracion en tiempo real ahora funciona en los diagramas C4 de proyecto y la vista de Arquitectura Global.

La misma magia, donde importa

Si ha usado la colaboracion en pizarras, esto le resultara inmediatamente familiar. Abra la vista de diagrama de un proyecto, y cuando un companero abra el mismo proyecto, su cursor aparece en su lienzo. Una flecha de color con su nombre deslizandose por el diagrama mientras explora su arquitectura.

Seleccione un nodo de sistema y todos lo ven resaltado con su color: un borde sutil alrededor del elemento, su nombre encima. Su companero selecciona un contenedor diferente? Usted ve su seleccion en su color. El lenguaje visual es simple: siempre sabe quien esta mirando que.

La pila de avatares aparece en la esquina inferior. Ve quien esta aqui. Una notificacion aparece cuando alguien se une a su sesion. Todo simplemente funciona.

Colaboracion en tiempo real en diagramas C4

Colaborando a traves de los niveles C4

Aqui es donde las cosas se ponen interesantes. Los modelos C4 son jerarquicos: usted puede estar trabajando en el nivel de Sistema mientras su colega esta profundamente en el nivel de Componente de un contenedor especifico. Ambos estan editando el mismo proyecto, pero mirando diferentes profundidades.

Rastreamos esto a traves de metadatos. La sesion de cada colaborador lleva informacion sobre que nivel C4 esta visualizando actualmente. Esto significa que puede ver no solo que Sarah esta en el mismo proyecto, sino que esta trabajando en el nivel de Contenedor mientras usted esta en el nivel de Sistema. Los indicadores de presencia lo mantienen informado sin el ruido de mostrar cursores en una vista que ni siquiera esta mirando.

Cuando dos personas estan en el mismo nivel, los cursores y resaltados de foco aparecen naturalmente. Cuando estan en diferentes niveles, la colaboracion permanece en segundo plano: presente pero sin distraer.

Arquitectura Global: colaboracion entre proyectos

La vista de Arquitectura Global muestra todos los sistemas de su organizacion en un solo lugar. Es donde ve el panorama general: como se conectan los proyectos, donde estan los limites, que sistemas se comunican entre si.

Ahora puede explorar esa vista juntos. Abra la Arquitectura Global y sus companeros ven su cursor moviendose por el paisaje organizacional. Seleccione un sistema para examinarlo, y todos ven su foco.

Agregamos filtrado por vista aqui porque la vista de Arquitectura Global tiene dos modos de profundidad: sistemas y contenedores. Si esta mirando la vista general de sistemas y su colega ha profundizado en la vista de contenedores, no veran los cursores del otro. Estan efectivamente en lienzos diferentes. Cambien a la misma profundidad, y la colaboracion cobra vida nuevamente.

Es el tipo de detalle que hace que la colaboracion se sienta natural en lugar de ruidosa. Ve lo que es relevante para su contexto actual.

Los cambios se sincronizan automaticamente

La colaboracion no es solo cursores. Cuando un companero agrega un nuevo sistema, mueve un contenedor o actualiza una relacion, su diagrama se refresca automaticamente. No necesita recargar. No necesita preguntar "guardaste?"

Usamos operaciones versionadas internamente. Cada cambio incrementa un numero de version. Su cliente consulta nuevas versiones cada segundo y, cuando detecta un cambio, recarga los datos relevantes. Es simple, confiable y funciona detras de cualquier proxy o firewall: sin conexiones WebSocket de las que preocuparse.

El resultado es una superficie de trabajo compartida donde los cambios de todos aparecen en uno o dos segundos. Lo suficientemente rapido para la colaboracion activa, sin la complejidad de la sincronizacion caracter por caracter que necesitaria para un editor de texto.

Un sistema unificado

Una de las decisiones de las que estamos mas satisfechos es el modelo de colaboracion unificado. Pizarras, diagramas C4 de proyecto y Arquitectura Global funcionan sobre la misma infraestructura. Un servicio, un conjunto de tablas de base de datos, un conjunto de endpoints.

Internamente, cada sesion de colaboracion se identifica por un tipo de recurso (whiteboard, project o global) y un ID de recurso. El seguimiento de cursores, la deteccion de presencia, el versionado de operaciones y las tareas de limpieza son compartidos. Esto significa que las mejoras en un tipo de recurso benefician automaticamente a todos los demas.

Tambien significa que extender la colaboracion a nuevas areas en el futuro, como flujos, documentacion o ADRs, es cuestion de conectar la infraestructura existente a nuevas vistas, no construir algo desde cero.

Diez colores, cero confusion

Cada colaborador recibe un color unico de una paleta de diez tonos accesibles y distintos. La asignacion es determinista segun el orden de llegada, asi que si sale y vuelve a entrar, obtiene el mismo color (asumiendo que su lugar no ha sido tomado). Su cursor, sus resaltados de elementos, su anillo de avatar: todo usa el mismo color.

Probamos esta paleta en diversos tipos de pantalla y perfiles de vision del color. La paleta fue elegida para que cada par de colores sea distinguible, incluso para personas con formas comunes de daltonismo. La arquitectura es comunicacion: las herramientas no deberian introducir ambiguedad.

Casos de uso que estamos viendo

Revisiones de arquitectura: un tech lead recorre el modelo C4 con el equipo. Todos siguen en su propia pantalla, haciendo clic en los elementos sobre los que tienen preguntas. El lead ve donde se concentra la atencion y ajusta la discusion en consecuencia.

Onboarding: un nuevo ingeniero explora la arquitectura con un companero senior. En lugar de una presentacion de diapositivas, recorren juntos el diagrama vivo. El senior selecciona sistemas y los explica en tiempo real. El nuevo hace clic por todas partes y pregunta sobre lo que ve.

Sesiones de planificacion: dos equipos discuten una integracion. Cada equipo tiene su propio proyecto, pero abren la vista de Arquitectura Global juntos para ver como se conectaran sus sistemas. Pueden senalar sistemas especificos y discutir limites con todos mirando lo mismo.

Diseno distribuido: un ingeniero backend agrega nuevos componentes a un servicio mientras un ingeniero frontend revisa el contenedor API que consumira. Ambos estan en el mismo proyecto, trabajando en diferentes partes, conscientes del progreso del otro.

Para empezar

La colaboracion en tiempo real en diagramas C4 y Arquitectura Global esta disponible ahora en todos los planes que incluyen funciones de equipo. No hay nada que configurar: simplemente abra un proyecto o la vista de Arquitectura Global, y la colaboracion se activa en cuanto un companero abra la misma vista.

Su arquitectura es un artefacto de equipo. Ahora sus herramientas lo reflejan.


Nuevo en la colaboracion arquitectonica? Lea como construimos la Colaboracion en Pizarras para la historia completa, o explore el Descubrimiento de Arquitectura con IA para generar automaticamente la arquitectura sobre la que su equipo puede colaborar.