jueves, 4 de abril de 2013

Agile Roadmap: el primer paso para la implantación de prácticas ágiles

Un Agile Roadmap es la hoja de ruta para la implantación de prácticas ágiles en un equipo de trabajo. Es equivalente a un Improvement Backlog para un equipo de trabajo, es decir, una lista ordenada de mejoras de proceso que se quiere ir implantando a lo largo del tiempo en el equipo de trabajo.

Para poder elaborar un Agile Roadmap se necesita conocer y entender el conjunto de prácticas ágiles que ofrecen los métodos ágiles. En Carta de Prácticas Ágiles: Arma tu propio menú ágil propongo una lista de prácticas ágiles, y además, éstas están planteadas y descritas de forma general para que puedan ser comprendidas y aprovechadas por equipos de trabajo cuyo ámbito no es de desarrollo o mantenimiento de software (la mayoría de la bibliografía ágil es del ámbito software). Comentaré al final de este post acerca de AGILEV Roadmap, un sitio que hemos desarrollado para apoyar en el diagnóstico y evaluación de prácticas ágiles.

Un Agile Roadmap implícitamente reconoce el hecho que es difícil y muchas veces no recomendable implantar muchas prácticas a la vez y en toda su profundidad (lectura recomendada ¿Revolución o evolución hacia la agilidad?). Por esto es útil tener una lista ordenada de prácticas candidatas que podrían irse implantando paulatinamente. También implícitamente un Agile Roadmap centra el foco en la aplicación de prácticas, NO en conseguir aplicar una metodología ágil en particular.

Un Agile Roadmap debería ser el resultado de un diagnóstico y evaluación del contexto del equipo de trabajo. En nuestra experiencia en implantación de prácticas ágiles hemos ido refinando un protocolo para este trabajo de diagnóstico y evaluación, el cual consta de los siguientes pasos:
  1. Seleccionar el equipo de trabajo en el cual se aplicarán las prácticas ágiles. Nuestra aproximación al respecto es siempre bottom-up, es decir, implantar trabajando muy estrechamente con cada equipo. Si bien es necesario hacer un trabajo previo de promoción hasta un determinado nivel directivo (el suficiente para conseguir el apoyo de la iniciativa), el trabajo de implantación se hace con el equipo como un todo, no debe ser impuesto desde "arriba" ni debe dejarse a la motivación y esfuerzo heroico de algunos integrantes del equipo.
  2. Estudiar los productos, servicios y/o proyectos encargados al equipo seleccionado. Obviamente lo ideal sería que el equipo sólo trabajase en un producto, servicio o proyecto, pero desgraciadamente suele ser frecuente que el equipo es responsable de varios trabajos diferentes. Esto puede constituir un mayor desafío para la implantación y puede que nos lleve a centrarnos en la aplicación de prácticas en solo algunos de los trabajos del equipo, ir paulatinamente aplicando prácticas a los distintos ámbitos de trabajo del equipo. 
  3. Evaluar globalmente el tipo de trabajo encargado al equipo y su posible diversidad. Hay dos factores determinantes: (a) si se trata de un producto (desarrollo y/o mantenimiento del producto) o de un servicio y (b) cómo se organiza el trabajo, si se quiere (y puede) planificar el trabajo o si lo que interesa en atender el trabajo en la medida que se recibe. Respecto de (a), si el trabajo del equipo no está asociado a un producto simplemente se deberían descartar ciertas prácticas que son claramente orientadas a trabajo con productos. En el caso (b), dependiendo de si el trabajo se planifica o si se atiende según se recibe, correspondientemente hay ciertas prácticas aplicables a uno o a otro caso. Para un mismo equipo puede haber mezclas de situaciones respecto de (a) o (b), por ejemplo, el equipo se encarga del desarrollo de cierto producto pero también es responsable de unos servicios, o si además, para unos casos de producto o servicio interesa planificar y para otros no. Es muy importante que para cada caso se adapte adecuadamente el proceso, es decir, que se apliquen las prácticas más adecuadas. Por esto, si hay una diversidad de trabajos encargados al equipo (cada uno con diferentes características) sería conveniente tener diferentes roadmaps para cada tipo de trabajo del equipo. Por ejemplo, sería un error que todo el trabajo del equipo se estime y planifique siendo que, también el equipo está encargado de un servicio cuya demanda no es previsible ni se quiere agrupar y planificar. 
  4. Establecer los objetivos que pretende la iniciativa de mejorar de proceso. Este paso obliga a una reflexión y diagnóstico respecto del desempeño del equipo en en contexto del producto/servicio estudiado. Cada práctica ágil contribuye en cierta medida a ciertos objetivos con lo cual, evaluando la importancia de los objetivos en el contexto del equipo de trabajo se pueden seleccionar prácticas candidatas según su contribución a dichos objetivos. 
  5. Acotar las prácticas candidatas. Las prácticas candidatas estarán acotadas por la evaluación realizada en el paso 3, es decir, según los factores (a) y (b) algunas prácticas candidatas serían descartadas para los pasos siguientes.
  6. Establecer el nivel de aplicación de cada práctica. Es importante evaluar si una práctica está ya aplicada, no aplicada, parcialmente aplicado o simplemente no interesará aplicarla. Un práctica no aplicada tendrá un mayor efecto que una práctica que se está ya aplicando de forma parcial.
  7. Establecer el nivel de dificultad que tendrían los desafíos de implantación de cada práctica. Las prácticas no aplicadas o parcialmente aplicadas ofrecen un margen de mejora si se implantan, sin embargo, hay que tener presente los desafíos que normalmente debe enfrentar cada práctica.
  8. Evaluar la aplicabilidad de cada práctica. Con toda la información recopilada en los pasos anteriores puede establecerse una valoración de la aplicabilidad de la práctica, siguiendo las siguientes directrices: valorar positivamente la importancia de los objetivos a los que contribuye la práctica y valorar también la propia contribución, valorar positivamente el nivel de aplicación actual de la práctica (mayor si la práctica no está siendo aplicada), valorar el nivel de dificultad de los desafíos de la práctica (mientras menos mejor), valorar el esfuerzo de aplicación de la práctica (mientras menos mejor).
Una ayuda adicional para elaborar tu Agile Roadmap la tienes en el sitio agile-roadmap.tuneupprocess.com. Allí tienes disponible gratuitamente la automatización parcial de los pasos 1 al 8, que de forma asistida te permitirán conseguir un Agile Roadmap.

No hay comentarios:

Publicar un comentario