miércoles, 21 de mayo de 2008

¿Documentación en ambientes ágiles?

Ezequiel Glinsky nos invitó a Nicolás Páez y a mi a hablar sobre la documentación de arquitectura en desarrollo de software usando métodos ágiles, en la materia Metodologías de Documentación de la Maestria en Tecnología de la Información de la Universidad de Palermo.
¡Qué desafio!

Es acaso la documentación contraria a las ideas ágiles (Working software over comprehensive documentation)?
Evidentemente no. Pero como comenté en una entrada anterior en relación a la administación de proyectos, me acostumbre a hablar del "lado izquierdo" del Manifiesto Ágil, que es donde hacemos foco por considerarse más valioso, pero lo de la derecha también tiene valor, y por lo tanto a muchas personas les interesa saber que forma toman en un ambiente con metodologías ágiles la documentación, los procesos, las herramientas, los contratos, etc.
Después de darle un par de vueltas al tema, lo plantee de la siguiente manera:
  • Motivos para implementar metodologías ágiles: la forma de documentación es una herramienta para lograr un objetivo, entonces debo entender los objetivos.
  • Cómo cambian los roles y tareas relacionados con arquitectura: no pudiendo asumir que la gente conoce la forma de trabajo en ambientes ágiles, es necesario comentar como es afectada la definición de arquitectura, y por ende la documentación correspondiente.
  • ¿Documentación?: y finalmente, ¿estamos hablando de documentación, o acaso nos referimos a Comunicación de la arquitectura? Es una diferencia interesante, ya que este diferente punto de vista nos cambia la perspectiva. Pair programing es una forma de comunicar la Arquitectura, como así también las reuniones de diseño ante un pizarrón. Con esta punto de vista, la documentación (wiki, documento, herramienta) es una forma más de comunicar. Sobre esto ha escrito Rebecca Wirfs-Brock. Por otro lado, también podemos consideramos que la Arquitectura es un idioma (o al menos un dialecto), que nos sirve para expresar la solución a la necesidad del cliente; con este punto de vista la pregunta es como hacer para que los miembros del equipo y otras perso.

La charla se dió en poco más de una hora, con 15 min de preguntas. Pueden encontrar la presentación
acá.

Luego Nico comentó la experiencia de Snoop, lo que permitió bajar a tierra varias de las ideas y creo que logro un buena mezcla de ideas y práctica. Lo interesante es que nos pusimos de acuerdo a altisimo nivel, y sin embargo las presentaciones se complementaron muy bien. Para más información, pueden ver el grupo de la materia.

No hay comentarios: