Es una buena práctica, sin discusión, documentar el software. Una buena práctica que, por desgracia, tiende a no ejercerse y que no es fácil ni de promover ni de auditar...aunque si sufrir su ausencia.
Hay razones evidentes de legibilidad, de mantenibilidad, de facilitar la transferencia y colaboración entre diferentes programadores, de legado a quien venga detrás...
Pero más allá de esas evidencias, me parecen relevantes las tres razones que aporta Frederick P. Brooks en su libro 'The mythical man-month', tres motivos más orientados, si se quiere, a la gestión del proyecto que a la calidad del software propiamente dicho.
El primero es como mecanismo de descubrimiento de gaps e inconsistencias. Así, nos dice:
writing decisions down is essential. Only when one writes do the gaps appear and the inconsistencies protrude. The act of writing turns out to require hundreds of mini-decisions, and it is the existence of these that distinguishes clear, exact policies from fuzzy ones.
Es quizá éste un motivo poco reconocido pero el que personalmente más aprecio y al que más valor otorgo: la escritura, la documentación, como vehículo de pensamiento y de estructuración. Estoy seguro de haber escrito en este u otro de mis blogs al respecto porque lo considero esencial,
El segundo es casi evidente y autoexplicativo y tiene que ver, simplemente, con la comunicación:
Documents will communicate the decisions to others
El tercer motivo es como herramienta de gestión, como un lugar de consulta y guión, casi un plan que consultar para monitorizar el proyecto y gestionarlo.
a manager's documents give him a data base and checklist.
Se observa que estos motivos van más allá de la evidencia de comentar el código o utilizar una herramienta CASE que de alguna forma documenta un diseño. Se trata de la documentación como herramienta de gestión del proyecto e incluye, adicionalmente y más allá de la documentación estrictamente técnica, la expresión escrita de los planes y decisiones arquitecturales y de gestión, y llegaría a algo así como el Project Management Plan que preconiza el PMI (Project Management Institute).
No hay comentarios:
Publicar un comentario