miércoles, 29 de octubre de 2014

¿Qué es ser ágil? ¿por qué debería interesar ser ágil?

¿Qué es ser ágil?
Un primer intento por responder esta pregunta ya lo hice en un post hace unos años: Agilismo en pocas palabras. Pero viendo que el sesgo mediático hacia Scrum sigue campando a sus anchas me he animado a dedicar la primera parte de este post a reivindicar que Scrum es solo una parte del agilismo :-), y la otra parte a argumentar por qué vale la pena ser ágil.

Ser ágil conlleva el comulgar y aplicar los valores y principios del Manifiesto Ágil. Lo claro y sencillo es la comprensión de dichos valores y principios generales, lo más complicado y menos evidente es cómo constatar en acciones concretas del día a día que efectivamente se están aplicando dichos valores y principios.

Podríamos suponer que si usamos un método ágil estaremos siendo ágil. Pero, ¿qué método deberíamos usar?, podríamos elegir entre los más populares: Kanban, Lean Development, Scrum o Extreme Programming. Pero, no son todos iguales, ¿en qué se diferencian? ¿cuál es el mejor?. Tengo la impresión que estas dudas están bastante extendidas, pues recurrentemente me encuentro con la necesidad de responder a esta cuestiones :-).

Detrás de los principios ágiles y de los métodos ágiles lo que debemos identificar y conocer son Prácticas Ágiles. El método Extreme Programming (XP) presenta una lista explícita y concreta de 12 prácticas ágiles, muy estrechamente relacionadas, apoyándose unas con otras y creando sinergia en su aplicación conjunta. Kent Beck el autor de XP explica en su libro que el apelativo "Extreme" del nombre de su método se refiere a aplicar el máximo de prácticas y en la mayor intensidad posible, a ello se refería con "extrema".

Si analizamos los métodos ágiles descubriremos que existen prácticas ágiles comunes entre métodos y otras exclusivas de alguno de ellos. Pero sin lugar a dudas, si optamos por elegir un método, estaremos ignorando prácticas ágiles de otros métodos que podrían sernos útiles. Lectura recomendada: ¿Kanban o Scrum?, that is not the question. Las prácticas ágiles deben verse como oportunidades para mejorar nuestra forma de trabajo, con lo cual NO debemos centrarnos en evaluar un método ágil para aplicarlo sino que debemos evaluar qué prácticas ágiles podemos aplicar, y tal como decíamos antes, mientras más prácticas y en mayor intensidad se apliquen, más significativa será la mejora que consigamos.

Para ayudar en la comprensión de las prácticas ágiles hemos desarrollado el sitio AgileRoadmap+, un servicio gratuito que presenta una lista de 42 prácticas ágiles extraídas de los métodos ágiles más populares, presentadas de una forma genérica (para facilitar su comprensión en contextos que no son de software), y establecidas con mucha granuralidad para facilitar su selección y decisión respecto de su nivel de aplicación.

Así pues, "ser ágil" no es un todo o nada. Probablemente no podrás aplicar todas las prácticas ágiles, ni todas en su mayor intensidad. Tampoco significa que no se apliquen practicas tradicionales. La implantación de prácticas ágiles podría conllevar una evolución que al menos al empezar deba convivir con prácticas más tradicionales. Algunas prácticas tradicionales son complementarias a las prácticas ágiles, es decir, cubren necesidades de proceso no abordadas por las practicas ágiles, por ejemplo, gestión de riesgos, gestión de proveedores, prácticas específicas del contexto (asociadas a aplicación de técnicas específicas para el análisis, diseño o construcción del producto). Todo esto tampoco significa que cualquier aplicación parcial de prácticas ágiles deba considerarse como una implantación ágil. Lo realmente interesante es tener conciencia de qué prácticas ágiles se están aplicando y en qué nivel de intensidad, y qué prácticas ágiles no se están aplicando (y por qué no).

¿Por qué debería interesarnos ser ágil?
Probablemente bastaría solo con la comprensión de las prácticas ágiles para convencernos que nos conviene aplicarlas :-). Sin embargo, podemos ser más exigentes en cuanto a los argumentos que nos animen a embarcarnos en una implantación de prácticas ágiles.

Una forma sencilla y sensata de argumentar la utilidad de las prácticas ágiles es estableciendo su contribución a objetivos del ámbito candidato para la implantación. Según esto, a continuación se presenta un esquema que relaciona objetivos de mejora y prácticas ágiles (del catálogo de prácticas ágiles de AgileRoadMap+).

A nivel global los objetivos se han clasificado en tres dimensiones de mejora (identificados por su letra inicial):


En el siguiente esquema se representan con puntos las prácticas ágiles, como sectores los objetivos y en los círculos concéntricos desde adentro hacia afuera se representa el grado de contribución de los objetivos a la correspondiente práctica, así, una práctica que esté más hacia el interior contribuye de forma mayor que una práctica que se encuentra más hacia el exterior. Además, una práctica puede estar repetida en diferentes sectores cuando contribuye a diferentes objetivos.

Descarga desde este enlace una presentación en la cual poniendo el cursor sobre el punto de la práctica puede leerse su nombre. Además, con la mismos números identificativos, en este enlace está la lista de prácticas ágiles del AgileRoadmap+.




Con esta información, seleccionando los objetivos más importantes en el ámbito en el cual se hará la implantación de prácticas ágiles podemos identificar qué prácticas ágiles pueden contribuir a conseguir dichos objetivos.

El objetivo "OBJ3: Gestionar eficazmente los cambios, tanto en los trabajos como en sus prioridades" está explicado en detalle en el post de este link.

En AgileRoadmap+ encontrarás además información respecto de desafíos de cada práctica y relaciones entre prácticas, lo cual te ayudará a seleccionar las prácticas ágiles con las que sería recomendable comenzar la implantación ágil.


Patricio Letelier


twitter.com/yopolt
linkedin.com/in/letelier
agilismoatwork.blogspot.com
www.tuneupprocess.com

No hay comentarios:

Publicar un comentario