Esta es una pregunta interesante. Supongo que un elemento importante para responder a esta pregunta es el cambio en la mentalidad de las personas que Agile requiere:
Desde la perspectiva de los equipos de desarrollo:
- ahora se espera que los equipos funcionen como unidades interdisciplinarias y autoorganizadas (con diseñadores, desarrolladores y evaluadores a menudo trabajando en paralelo)
- El papel clásico de un Project Manager se vuelve redundante en Agile y es reemplazado por un ScrumMaster y los propios desarrolladores, que ahora son en gran parte responsables de planificar y estimar el trabajo.
- Con las reuniones diarias de pie, los tableros de scrum y los gráficos quemados, hay mucha más visibilidad sobre el progreso del proyecto y sobre quién está haciendo qué (o no según sea el caso)
- los equipos tienden a trabajar en sprints a corto plazo, que pueden ser intensos y generalmente comienzan con una reunión central de planificación de sprint y terminan con una reunión de revisión de sprint en la que la funcionalidad de trabajo real se demuestra al cliente o parte interesada
Desde la perspectiva del cliente:
- ¿Qué debe hacer un desarrollador cuando está atrapado en un problema?
- ¿Existe una herramienta UML mejor que la estrella UML?
- ¿Crees que es posible conseguir un trabajo en Google como ingeniero químico?
- ¿Cómo prioriza específicamente estas consideraciones al elegir un equipo de software y un producto para unirse?
- Cómo crear un plan de prueba (por ejemplo, como un diagrama de flujo) para evaluar algoritmos de procesamiento de imágenes
- En la mayoría de los proyectos ágiles, solo se congelan los plazos. La funcionalidad es flexible
- esto introduce un elemento de incertidumbre que lleva un tiempo acostumbrarse
- Dado que Agile es un proceso iterativo, los clientes podrán ver y probar los incrementos de productos de forma continua. En muchos casos, estos incrementos estarán lejos del artículo terminado (particularmente en términos de apariencia)
- con el cliente en el rol de Propietario del producto, que se usa comúnmente en Agile, existe la expectativa de una mayor participación (tanto en términos de revisiones de productos como de toma de decisiones) en comparación con el rol del cliente en los proyectos más tradicionales de Waterfall
- los clientes tendrán que intentar resistir el impulso de agregar una característica o un cambio durante una iteración ya que cada sprint se basará en un número fijo de características que se desarrollarán
Siento que con Agile es importante no quedar demasiado empantanado por la metodología, el lado del proceso de las cosas. Después de todo, Agile en sí mismo es una metodología flexible y en evolución.
En cambio, creo que para que Agile tenga éxito, es importante adaptar los principios que sustentan a Agile de tal manera que funcionen para el proyecto, los desarrolladores y el propietario del producto en cuestión.