Normalmente la transición de waterfall hacia la Agilidad a través del aprendizaje y experiencia de un marco de trabajo como Scrum, es natural y hasta aconsejable, aunque tarde o temprano descubres lo necesario y suficiente para darte cuenta que para ser Ágil no necesitas un rígido marco de trabajo con roles predefinidos. Cada miembro, equipo y contexto son diferentes, con necesidades distintas.
¿Con tanta información sobre prácticas, metodologías, frameworks, realmente sabemos en qué consiste la Agilidad? Creo que una buena manera de entenderlo es conociendo su origen y su evolución:
Después de la segunda guerra mundial Estados Unidos ocupa Japón aplicando sus exitosas técnicas de producción, adaptándose e influidas por la filosofía y conocimiento oriental originando en muy poco tiempo una mejora exponencial y situando a Japón en una de las principales economías del mundo, sirviendo de ejemplo al resto de economías mundiales.
1970
Tachii Ohno, entró en Toyota gracias a las relaciones de su padre con la familia fundadora de la marca (Toyoda). Llegó a convertirse en director y vicepresidente de Toyota y en un maestro de la calidad.
Estudió los sistemas de producción Fordista y Taylorista tan exitosos en Estados Unidos adoptando sus mismos procesos productivos, aunque eliminando el desperdicio (muda), aportando el valor en el momento requerido y en la cantidad necesaria (Just In Time) con la máxima calidad gracias a una relación estrecha con sus clientes.
Aplicó la filosofía Kaizen (mejora continua), empleó un sistema de tarjetas para el control y visualización del flujo de trabajo (Kanban), otras técnicas y prácticas (5S, 5Whys), entre muchas otras valiosas aportaciones. Dando así lugar a Lean Manufacturing y sistema de producción en Toyota o TPS, haciéndose conocido en 1970.
1986
Hirotaka Taekuchi y Ikujiro Nonaka escriben The New New development game en Harvard Business Review, donde analizan y describen patrones comunes en técnicas, procesos productivos y modelos de gestión de equipos en empresas de éxito del momento como Canon, Xerox, Toyota, Honda, HP, en las que se requerían una gran rapidez en la salida al mercado de sus nuevos productos, o lo que es lo mismo: Rapid-Application Development
Los autores analizan y unifican las prácticas más eficientes y comunes de sus estudios reflejándolo en su artículo. Definen los equipos multidisciplinares y autónomos utilizando una comparación con el Rugby y la melé (scrum en inglés), donde todo el equipo participa y colabora por un objetivo común.
1993
Jeff Sutherland adaptó y aplico las técnicas descritas en la industria del software, siendo en 1995 y conjuntamente con Ken Schwaber donde finalmente se formalizó el nuevo marco de trabajo que hoy todos conocemos de Scrum (basándose en la comparación que describieron Hirotaka Taekuchi y Ikujiro Nonaka en su artículo).
Surgen algunos frameworks y metodologías menos populares hoy día siguiendo los mismos principios:
- Alistair Cockburn trabajó con IBM para crear una nueva metodología alternativa entrevistando a equipos de empresas de éxito y del mismo modo que en el artículo de Hirotaka Taekuchi y Ikujiro Nonaka encontró patrones comunes que recopiló en una nueva metodología llamada Crystal Clear.
- En Reino Unido un conjunto de proveedores y expertos del desarrollo de software hacen lo propio creando un framework llamado Dynamic Systems development method.
1996
Kent Beck, Ron Reffries y Ward Cunnigant trabajan conjuntamente en un proyecto de nóminas en la empresa Crysler. Donde bajo la influencia de todos los cambios e innovaciones del momento en el desarrollo de software, aplican y adoptan diversas prácticas y técnicas dando énfasis a la calidad del código y la ampliación del conocimiento en el equipo.
A los tres años y bajo toda esa experiencia, Kent Beck las recopila y publica su primera edición del libro XP Explained: Embrace the change. Describiendo así una serie de valores, principios y prácticas como una nueva metodología llamada eXtreme Programming.
2001
Kent Beck intenta unificar todas las experiencias del nuevo movimiento en el desarrollo de software e invita a varios gurús del momento a crear conjuntamente un manifiesto común. Entre ellos se encuentran los creadores de Scrum, Crystal y otras metodologías ágiles. En ese momento Kent Beck sugiere el nuevo concepto de Agile. Dando lugar a los principios del manifiesto ágil.
Os recomiendo esta charla de Martin Fowler
Not Just Code Monkeys • Martin Fowler
2003
Mary y Tom Poppendieck basándose en Lean Manufacturing y sistema de producción en Toyota o TPS y bajo la influencia de los últimos cambios en el movimiento ágil, lo adaptan al desarrollo de software escribiendo el libro Lean Software Development: An Agile Toolkit.
Todo siguió su evolución y muchos conceptos han ido apareciendo entorno a la agilidad Agile Project Management, Management 3.0, Software Craftsmanship, etc. Ya ves que hay un amplio abanico de posibilidades, pero todos ellos con factores comunes diferenciadores con los modelos tradicionales.
Son los valores y principios de cada equipo Ágil lo que determinarán sus prácticas dependiendo de su contexto. Al final el objetivo es común en todos los casos: entregar valor útil, con la mayor calidad y lo antes posible.
Espero que os haya resultado útil. Personalmente he aprendido mucho con este post 🙂