Actualmente estoy en el proceso de actualizar un documento de diseño para que sea correcto y actualizado para futuros desarrolladores.
Actualmente, el documento se centra solo en los hechos, presentando cómo es el diseño. No hay justificación para ninguna decisión presentada. Creo que es importante capturar la lógica para que los desarrolladores sepan por qué algo es así, ya que eso probablemente afectará las decisiones futuras. No es posible para mí agregar una justificación para todas las decisiones de diseño, especialmente aquellas tomadas antes de comenzar a trabajar en el proyecto, pero estoy haciendo lo que puedo en este departamento.
Sin embargo, algunas de las decisiones de diseño son, respetuosamente, decisiones muy malas dados los requisitos del proyecto. Sin embargo, también hay algunos buenos.
Mi pensamiento inicial fue que debería incluir una discusión sobre problemas de diseño y posibles soluciones o soluciones a estos problemas para enfocar la atención de los futuros mantenedores, pero no estoy seguro de si el documento de diseño es un lugar para este tipo de discusión e información. No quiero que una "crítica" del diseño se convierta en "rasgar este diseño uno nuevo" mientras otras personas trabajan en este sistema y actualizan el documento, ya que eso es claramente inapropiado.
Mi gerente apoyaría cualquier decisión, así que depende de mí. Independientemente del enfoque que adopte, el documento producido se versionaría oficialmente y se proporcionaría a los desarrolladores que trabajan en el sistema, generalmente antes de que se encarguen del trabajo de desarrollo. Se espera que un nuevo desarrollador se familiarice con los documentos asociados con un sistema de software dado antes de comenzar el trabajo de desarrollo.
Preguntas:
- En caso de que un documento de diseño se adhiera a hechos en bruto ("este es el diseño") y la justificación ("este es el motivo") o también se debe utilizar para señalar problemas no defectuosos con el diseño que podrían ser problemáticos para futuros desarrolladores?
- Si el documento de diseño no se debe utilizar para capturar esta información, qué tipo de documento debe capturarlo y qué más se debe capturar con una discusión sobre los fundamentos del diseño, las compensaciones y los problemas conocidos (que no son defectos, ya que se rastrean los defectos usando otras herramientas)?