¿Por qué se fracasa al adoptar metodologías ágiles?
En la anterior entrada al blog sobre metodologías ágiles pudimos ver el Lean Software Development, desde su origen en el contexto del manufacturing, a la forma de adopción en la industria de desarrollo software.
En esta segunda entrada se continúa el trabajo explorando las limitaciones de las prácticas ágiles antes de decidir sobre su idoneidad para la integración en una organización. Para ello se han tenido en cuenta un conjunto de trabajos de investigación que reportan incidencias o problemas al intentar aplicar está metodología.
Cabe destacar que estas limitaciones han sido extraídas del conjunto de diferentes tipos de metodologías ágiles como, por ejemplo: Dinamic Systems Development Method (DSDM), Extreme Programing (XP), SCRUM, Crystal Clear, Feature-Driven Develoment o Lean Software Develoment.
¿Cuáles son las limitaciones en las practicas ágiles que han sido reportadas hasta la fecha?
Existe un elevado número de categorías que engloban estas limitaciones, pero la alta dependencia en las personas, la dependencia organizacional y el gran impacto en la estructura organizativa y cultura, fueron los tres factores limitantes más importantes en la implementación de metodologías ágiles en la industria del software. A continuación, se analiza cada una de estos factores por separado.
1. Alta dependencia en las personas.
Este es el factor más citado en los trabajos y se divide en cuatro grupos. El primer grupo fue la falta de apoyo por parte del equipo de dirección. Si no se contaba con el apoyo total del equipo de dirección, las implementaciones ágiles fueron dolorosas y difíciles, o menos eficaces debido a los muchos problemas y dificultades que surgieron. En uno de los casos, los desarrolladores se sintieron inseguros y amenazados cuando hubo un cambio en el personal de dirección que llevó a pensar en contra de su calidad del trabajo. Por otro lado, se reportó un éxito de la implementación SCRUM por el sólido apoyo que habían recibido desde el principio. Por tanto, la falta de apoyo de la dirección es considerada la gran causa de este problema.
En segundo lugar, la necesidad de desarrolladores experimentados y altamente cualificados. No utilizar los requisitos tradicionales requiere una gran experiencia para manejar la enorme brecha que hay entre los requisitos de usuario y la codificación. Además, la falta de documentación, el énfasis en el trabajo autónomo (auto-organización), sin trabajo de diseño previo, y haciendo las cosas de manera rápida sin experiencia adecuada. El hecho es que los enfoques ágiles requieren personal cualificado.
En tercer lugar, la preocupación se focaliza en los jefes de proyecto (Agile/SCRUM master). La necesidad de realizar una especificación clara de los roles y tareas de cada persona es de gran importancia en proyectos ágiles. En algunos de los casos, los jefes de proyecto eran inexpertos, inactivos, raramente disponibles o ineficientes, lo que provocaba graves problemas en el desarrollo del proyecto.
Por último, pero no menos importante, las prácticas ágiles dependen en gran medida de la comunicación intensiva con el cliente, ya que la colaboración con el cliente es uno de los cuatro valores de las metodologías ágiles. Como resultado, cuando hay una falta de confianza en el lado del cliente o el cliente no está disponible, la información y la retroalimentación relevante serán escasas. Por otro lado, el equipo puede tener unas expectativas superiores a las esperadas por el cliente, superando su capacidad y disposición.
2. Dependencia organizacional.
La resistencia organizacional puede ser la principal barrera, porque los altos ejecutivos e ingenieros deben estar dispuestos a darle un serio intento. Para lograr verdaderamente el compromiso de la gente con los cambios provocados, el esfuerzo debe provenir del nivel organizativo más alto.
En un caso, una empresa obligó a sus trabajadores adoptar los procesos ágiles, a pesar de que era inadecuado. Mientras tanto, las reestructuraciones organizacionales habían obstaculizado la comunicación y la colaboración entre los desarrolladores y el equipo de pruebas, así como con el equipo de control de calidad cuando se colocaban por separado. Es imperativo que antes de que cualquier organización decida adoptar una metodología ágil, esta deba evaluar si la cultura de la empresa, la estructura operativa, los procesos de negocio y los proyectos son adecuados para el uso de una metodología ágil.
3. Alto impacto en la estructura organizativa y cultura.
Para adoptar las metodologías ágiles, habrá una necesidad de cambio no sólo del estilo de trabajo, sino también de la estructura organizativa y cultura. Hay un conflicto inherente entre los modelos ágiles y las organizaciones operadas bajo procesos legados, mentalidades y culturas. Modificar la estructura organizativa, así como la forma y métodos de trabajo tradiciones suponen un gran esfuerzo para que las prácticas ágiles puedan funcionar en el equipo.
Los cambios en la organización son necesarios en el proceso de adopción de prácticas ágiles, especialmente para el gobierno corporativo tradicional. Sin embargo, la cultura y la mentalidad de trabajo de las personas dentro de las organizaciones son reconocidos como los aspectos más difíciles de cambiar.
Conclusiones
Las metodologías ágiles han definido el referente a seguir en el desarrollo software, pero nunca hay una única solución al problema, y adoptar estás metodologías sin el completo apoyo de la organización, sin el personal cualificado adecuado, y sin un conocimiento del alcance del proyecto y de la disposición del cliente, los proyectos estarán destinados al fracaso. Además, el gran impacto en la estructura organizativa y en la cultura de trabajo de los empleados puede ser una barrera que en algunos casos sea muy costosa o imposible de salvar.
En cualquier caso, es imperativo que antes de que cualquier organización decida adoptar una metodología ágil, esta deba evaluar la viabilidad dentro de su organización.