Pero tal como estuve hablando con Teodora, los datos no son más que eso, así que me animé a pedirle permiso para a partir de sus datos, darle una vuelta de tuerca y llegar más a fondo. Vamos con ello intentar responder a varias preguntas no sólo sobre las técnicas agiles, sino también sobre nuestro propio conocimiento de dichas técnicas.
Vamos a partir de los resultados, que podemos ver en la siguiente gráfica:
Lo primero a destacar, es que no hay una diferencia abismal entre los primeros y los últimos en este grupo.
Vamos a ver un poco los más útiles:
- Automated Builds: la compilación automática, forma parte tradicionalmente de los sitemas de integración continua, aunque es perfectamente válido el considerarlo de forma autónoma.
- Continuous integration: el 2º clasificado, viene a confirmar que la automatización de tareas, se sigue considerando una técnica ágil muy útil.
- Daily stand up meeting: la técnica de realizar breves reuniones de pie, diariamente, y de forma informal pero con un objetivo definido de poner en común las tareas en curso de cada uno, y los problemas encontrados o que nos atascan.
- Iteration planning: tradicionalmente vinculado a la programación extrema (Extreme Programming o XP), esta práctica consiste en la ejecución de la iteración: desde el desglose y estimación de las tareas, su asignación, y posterior desarrollo, ejecución de pruebas unitarias, etc., hasta la siguiente iteración.
Para terminar hoy, vamos a quedarnos con dos técnicas ágiles, que a pesar de estar incluidas aquí, son en realidad técnicas habituales en cualquier desarrollo de software ("ágil" o no):
- Coding Standards: Se trata de disponer de estándares de codificación o de desarrollo específicos del proyecto.
- Unit Testing: consiste en la planificación, diseño, programación y ejecución de pruebas enfocadas a probar un único componente o función.
Dejaremos para otro día, la segunda parte de este artículo, revisando las técnicas que quedan.