"Pensemos en nombres como los de Leonardo Da Vinci, Isaac Newton, Galileo o algún otro. Todos sabemos que han hecho pero, ¿Acaso podríamos acordarnos de ellos si no tuvieramos registro de sus ideas o de sus invenciones?."
En el caso de los grandes pensadores, mujeres y hombres, de la humanidad su legado a quedado plasmado en libros, esto es su obra y pensamiento ha sido documentado.
En el caso de los grandes pensadores, mujeres y hombres, de la humanidad su legado a quedado plasmado en libros, esto es su obra y pensamiento ha sido documentado.
La documentación tiene su fundamento en el método científico. Con la intención de poder replicar el o los experimentos realizados para validar alguna tesis, el científico registra todas las condiciones bajo las cuales se realiza el experimento, de igual manera los resultados se escriben en tablas y estas a su vez generan gráficos estadísticos que nos permiten interpretarlos. En la actualidad los medios para llevar el registro de alguna actividad son muy diversos, siendo los digitales los más utilizados en la actualidad.
Ahora bien definiremos a la documentación como el proceso de registrar de manera ordenada los procedimientos y resultados obtenidos a lo largo de una investigación científica o proyecto o en general cualquier actividad que se necesite repetir más de una vez, por ejemplo: una receta de cocina bien documentada deberá llevar el tiempo exacto de cocción y la temperatura exacta en la que el platillo obtiene sus mejores propiedades.
Documentar nos permite dar el salto entre lo empírico y lo científico, entre el azar y las mejores prácticas.
Documentar un sistema de información implica almacenar y organizar la información necesaria (en forma de documento escrito o gráfico) con la intención de que al terminar el proyecto podamos: mantenerlo, mejorarlo y/o repetirlo. La cantidad de documentos generados a lo largo del proyecto va a depender del equipo que construye el software y del o los marcos de desarrollo que utilice la organización. Además en el caso de proyectos empresariales se deberá guardar documentación incluso de la configuración del hardware donde se despliegan los sistemas construidos.
De lo anterior me atrevería a dar la siguiente Clasificación de la Documentación:
1. Documentación administrativa:
Se refiere a los documentos que forman parte del contexto de la administración del proyecto como tal: Planes de trabajo, Definición del proyecto, Definición de roles y perfiles de los integrantes del proyecto. Análisis de costos, Análisis de riesgos, etc. En este lugar, por ejemplo, podríamos colocar todos los documentos de la gestión de proyectos que establece el PMBOOK.
2. Documentación técnica:
a) Desarrollo de software.
En este apartado pueden colocarse los documentos relacionados con el ciclo de desarrollo del sistema. De igual manera la cantidad de documentos varia de acuerdo al framework utilizado para crear el producto de software. En el caso de una aproximación clásica donde se define al ciclo de vida de los sistemas como: Análisis, Desarrollo, Pruebas e Implementación, tendríamos documentos tales como: Catálogo de requerimientos, digramas UML, Solución propuesta, Diccionario de Datos, Diccionario de formularios, Catálogo de objetos, Código fuente comentado, Plan de pruebas, pruebas y resultados, Plan de implementación o implantación, Memoria de instalación, Manual de usuario, Manual de administración.
Un marco más agil como SCRUM, no consideraria tantos documentos en su lugar consideraría más que suficiente que el código se comente de acuerdo al estandar del lenguaje, por ejemplo en Java se deberá utilizar el formato JavaDoc.
b) Aplicativos utilizados.
En el caso de aplicaciones empresariales donde además de desarrollar software a la medida se utilizan algunos programas que ya son comercializados, debemos guardar la memoria de instalación de los diversos aplicativos que forman la plataforma.
c) Componentes de hardware
Se debe guardar registro de la configuración del hardware sobre el cual se está instalando el aplicativo, debemos recordar que lo que deseamos es replicar el proceso más veces, por lo que la omisión de la configuración que tiene el hardware puede ser crucial para obtener los resultados esperados.
3. Procesos.
Tener escritos los procesos con base a estándares permitirá a las empresas evaluarlos y mejorarlos. Los procesos del cliente nos sirven para adecuar el producto de software a la empresa. La empresa que desarrolla el software o que ofrece servicios de IT puede encontrar un gran apoyo en marcos de referencia como ITIL.
Conclusión:
Vamos a cerrar el tema considerando lo siguiente:
- La documentación permite repetir el ciclo de desarrollo del sofware
- Permite la mejora continua
- Establece las bases del conocimiento del negocio
- Marca el estandar de calidad del software
- Permite medir el avance del proyecto
- Establece un legado para la siguiente generación de desarrolladores
Finalmente considero que cualquier proyecto de software de mediana a gran escala, que no esté bien documentado está condenado al fracaso y al olvido. Por otro lado no existe una lista de documentos estandar, en todo caso la lista de documentos dependen de las metodologías y marcos de referencia utilizados en su desarrollo y de las indicaciones del personal directivo, esto es ¿qué quiero que se documente, de un producto en específico?.