Los siguientes principios ágiles para la documentación dan respuestas a la necesidad de eliminar los residuos, ineficacia o incluso la falta de viabilidad de los enfoques tradicionales.
Principio KISS – «Keep It Simple Stupid» -, fue introducido por Kelly Johnson. La complejidad innecesaria es «estúpida» en un contexto dónde la complejidad ya es un problema inherente. Los requisitos serán cambiados a causa de múltiples razones: resolución de dudas, cambios en el negocio, cambios por el entendimiento del cliente, etc. En tales condiciones, cualquier documentación exhaustiva requerirá un significante esfuerzo de cambio y a la vez un riesgo alto de no actualización. La primera solución es mantener ligera la representación de los requisitos.
Principio YAGNI – «You aren´t gonna need it» -, fue introducido por los fundadores de XP, Ron Jeffries lo describe como «Siempre implementa cosas cuando realmente las necesites, nunca cuando preveas que las necesitarás». Se puede encontrar una buena visión sobre YAGNI en http://martinfowler.com/bliki/Yagni.html . Respecto de la documentación, no se deben capturar características que prevemos, sino más bien esperar hasta tener buena información suficiente.
Principio TAGRI – «They Ain´t Gonna Read It” -, introducido por Scott Ambler. La idea básica es que muy poca de la documentación que es creada durante el desarrollo del software, realmente es leída por los interesados. Reconociendo esto, se debería documentar con el propósito de crear documentación ágil que refleje las necesidades reales de documentación de la audiencia interesada. La mejor manera de hacer esto es que las personas que están escribiendo la documentación trabajen muy cerca de las personas que desarrollan y del resto de interesados en recibir los documentos; cuando se hace eso se puede descubrir que pueden necesitar algo completamente diferente a lo que se pensaba originalmente.
Una de las ideas falsas sobre el desarrollo ágil de software es que no se escribe documentación. Nada más lejos de la verdad, en el enfoque ágil se escribe documentación eficaz y de alto valor, pero sí es cierto que en la práctica es mucho menor la documentación en este enfoque que en los enfoques tradicionales de desarrollo de software.
Estos principios que he comentado ayudarán a encontrar el equilibrio necesario y creo que son válidos no sólo para el desarrollo Ágil sino para el planteamiento más tradicional.