En la jornada del sábado después de mucho pensarlo y de tener que descartar algunas charlas en las que me hubiera gustado participar, asistí a las siguientes sesiones:
Lean in agile adoption
En esta sesión Xavier Quesada realizo una introducción a los principios de lean.
Lean trata de eliminar desperdicios y clasifica estos desperdicios en 7 tipos. Lean sobre todo se utiliza en procesos de fabricación en linea, a pesar de eso los principios de lean se pueden aplicar al desarrollo de software.
Xavier también nos explico una herramienta aparentemente simple pero muy efectiva a la hora de encontrar cuellos de botellas en los procesos de una empresa, el Value Stream Mapping.
Control de proyectos con Scrum, métricas ágiles
Rodrigo Corral dirigió esta charla sobre la utilización de métricas para realizar un seguimiento correcto de los proyectos que utilizan Scrum.
Para poder realizar un seguimiento del proyecto necesitamos descomponer las historias de usuario en tareas binarias(esta realizada o no esta realizada) y con una duración de máxima de 2 días.
Realizar una buena estimación es también muy importante. En el proceso de estimación durante el Sprint Planing meeting tiene que participar todo el equipo, de esta manera obtenemos una ganancia de informacion que nos ayudara a obtener una estimacion mucho mas precisa.
Para realizar el seguimiento Scrum nos proporciona el Burndown chart, el cual aporta toda la información necesaria para saber si vamos bien o nos estamos retrasando.
Acceptance Testing (ATDD) y TDD
El acceptance testing es el proceso para obtener casos de prueba desde las historia de usuario y posterior automatización siguiendo TDD.
El proceso seria el siguiente:
Historia Usuario -> Criterios Aceptación -> Test Aceptación -> Casos de prueba (ejemplo que cumplen o no los criterios de aceptación).
Los casos de prueba se implementan siguiendo TDD.
Es importante realizar el test antes de la funcionalidad. Si realizas la funcionalidad antes del test cuando vas a realizar el test tendrás una predisposición a realizarlo para que pase el código que has implementado anteriormente.
Los test también son requerimientos y documentación.
Existen dos herramientas que nos ayudan en el proceso, Concordion y Cucumber.
Kanban
Kanban(visual card) se dio a conocer cuando Toyota explico su sistema de producción.
Kanban se basa en:
- Limitar el WIP (work in progress)
- Pull & flow, los elementos no se empujan del anterior al siguiente si no que es el siguiente el que pide los elementos al anterior.
Kanban utiliza el sistema de colas para gestionar el trabajo por hacer, un ejemplo de cola típica aplicable al desarrollo de software es el siguiente:
Request -> next -> slots -> done
A la conclusión que llegue es que kanban sobre todo encaja bien en procesos de mantenimiento o helpdesk, aunque también hay ejemplos en los que utilizan kanban para el desarrollo de software.
Bugs Agiles
Esta sesión fue un coloquio entre los asistente para intercambiar experiencias sobre como gestionar los bugs siguiendo una metodología ágil como Scrum.
Primero tenemos que distinguir entre dos tipos de bugs, los bugs stoppers, estos son los causantes de que tengamos que parar lo que estamos haciendo para solucionarlos, y los bugs planificables, son bugs que permiten seguir trabajando al usuario y los podemos resolver en el siguiente Sprint.
Con los Bugs planificables no tenemos problemas ya que podemos planificarlos para el siguiente Sprint, lo único que tenemos que tener en cuenta es si los utilizamos para medir la velocidad del equipo o solo utilizamos la nueva funcionalidad para medir la velocidad.
Para los bugs stoppers lo que podemos hacer es tener un encargado en el equipo de solucionarlos con un factor de foco menor que el resto de componentes del equipo. Esta es una solución pensada para empresas pequeñas, en empresas mas grandes pueden tener un equipo dedicado al mantenimiento.
La experiencia de haber asistido al Agile Open Space 2009 ha sido muy positiva, mucha gente del sector con las misma inquietudes y los mismos problemas. Sin duda se lo recomiendo a cualquiera que estés interesado en las metodologías ágiles.
Desde aquí agradecer a los organizadores y a los patrocinadores el esfuerzo que han realizado para que se pudiera celebrar el Agile Open Space, Gracias !!!.