Revisitando el Manifiesto (1): Software funcionando sobre documentación extensiva

Hace unas semanas, en nuestra reunión de planeamiento del Backlog, surgió como iniciativa la necesidad de recordar en la comunidad los valores y principios del Manifiesto Ágil, esto luego se reafirmo cuando en una conversación interna uno de los miembros de la comunidad pregunto respecto a que manifiesto estábamos hablando, por lo que hemos acordado que distintos autores revisemos y comentemos cada uno de los valores del Manifiesto, así que aquí empezamos…

Software funcionando sobre documentación extensiva

Quienes llevamos buen tiempo en el desarrollo de software, hemos lidiado muchas veces con la necesidad de documentar, ya sea lo que hemos hecho, como lo que planeamos hacer y la verdad.. los resultados son dispares, no ha sido raro que al final como consecuencia de la discusión con los implicados lo bonitamente especificado en los documentos funcionales no tenia nada que ver con lo implementado, o que al llegar a mantener un proyecto (hecho por otros, claro esta) simplemente no había documentación o era muy pobre.

Y la documentación es algo por lo que se nos acusa a veces de “es que en Agile no documentan”, y la verdad es otro, no se niega la necesidad de la documentación, sino que esta debe hacerse mirando al objetivo de generar valor, o mejor dicho que esta sea un buen acompañante de un software de calidad que cumple la necesidad real de los usuarios y stakeholders.

De esta manera, debemos procurar ir construyendo la documentación conforme nuestro entendimiento del producto vaya aumentando, asumir que esta no es estática, que evoluciona conforme el producto evoluciona (y surgen nuevas historias de usuario) y sobre todo, pensando en que le sea útil al que un día necesite enterarse de que va eso.

Porque una cosa es cierta, por mas que mejoremos la calidad de nuestro código (lo cual es un proceso constante que nunca debemos descuidar), siempre habrá situaciones que o son contraintuitivas o difíciles de explicar que nos deben poner a pensar en escribir algo que (como digo a veces) ayude efectivamente “al pobre tipo que un día tendrá que hacerse cargo de esto”.

Nótese lo que estamos hablando, la documentación necesaria es fruto del proceso de creación y evolución de un software que funciona, no el super prerequisito de esté, y que al igual que el software también debería ser iterativo e incremental.

Entonces,  lo que nos corresponde es recordar siempre que valor es software funcionando en manos del usuario, y que esta en nuestro buen criterio el definir el nivel de documentación necesaria que acompañe a nuestro producto, teniendo en mente que esta también debe de generar valor al futuro lector.

Autor del Post: Ernesto Cárdenas Cangahuala

Los artículos firmados representan exclusivamente la opinión de sus respectivos autores, no correspondiendo de manera oficial a la opinión de Agile Perú como comunidad.

Leave a Reply

Your email address will not be published. Required fields are marked *