Mantener actualizados los diagramas de arquitectura lógica y física

12

En cualquier proyecto de desarrollo de software que involucre sistemas distribuidos con múltiples desarrolladores, tener diagramas de arquitectura lógica y física es la mejor práctica, pero en mi experiencia estos diagramas siempre comienzan bien mantenidos al comienzo de un proyecto, pero no se actualizan a medida que el proyecto se lanza y las fases de mantenimiento comienzan.

Para proyectos complejos con una gran cantidad de procesos distribuidos, los diagramas tienden a quedar obsoletos o imprecisos muy rápidamente, incluso antes del lanzamiento inicial, ya que ninguna persona tiene todo el conocimiento.

Teniendo en cuenta estos antecedentes, quiero hacer las siguientes preguntas a la comunidad:

  1. ¿Qué tan importante es tener diagramas de arquitectura lógica y física precisos y actualizados?
  2. ¿Existen herramientas y procesos que puedan ayudar a mantenerlos actualizados?
  3. ¿Quién debería ser responsable de mantenerlos actualizados? ¿Cómo pueden contribuir los administradores de sistemas, los desarrolladores y los equipos de control de calidad?
ARau
fuente
El artículo sugiere que estos deberían ser parte de la "documentación entregable", por lo que se le da importancia. ¿Deberían ser elementos creados como parte de la cartera de pedidos y formar parte de la entrega?
ARau

Respuestas:

5

Vivo en el mundo real con limitaciones de tiempo y problemas de recursos, así que entiendo por qué la mayoría de la documentación del software se ignora o queda desactualizada, pero incluso en esas condiciones, insisto absolutamente en que los diagramas de la base de datos se creen y se mantengan actualizados. Si no es un modelo relacional habitual y consta de entidades con documentos, pares clave-valor o estructuras JSON / XML, también se debe crear y mantener un modelo de objeto de esos elementos. Si todo lo demás falla en los esfuerzos de documentación de un proyecto, al menos un diagrama de base de datos y / o modelos de objetos le permitirán a uno trabajar hacia atrás hasta el front-end para descubrir qué está sucediendo.

Existen numerosas opciones para crear y mantener documentos de software, pero uno de mis favoritos es Enterprise Architect. Es integral y une casos de uso, diagramas de secuencia, diagramas de clase y otros.

En cuanto a quién es responsable de esto, lo considero un esfuerzo de equipo. Pocas personas disfrutan haciéndolo, pero debe hacerse. El arquitecto o líder tecnológico de un proyecto debería ser el responsable de ello, delegando las tareas de manera adecuada.

David Spenard
fuente