¿La metodología Agile está haciendo que el ciclo de vida del desarrollo de software sea más amigable para el cliente?

“Bueno o malo, difícil de decir”.

Se supone que Agile se enfoca en las ‘predilecciones volátiles’ de un cliente. Por lo general, les gusta Agile por su flexibilidad y aplicabilidad a muchos requisitos diferentes del lado del cliente. Dicen que les gusta Agile debido a las siguientes ventajas:

Es rapido . Permite realizar el deseo del cliente más rápido y lanzar una aplicación lista o su nueva versión más rápido, ya que valora el “software de trabajo sobre la documentación completa” y no se necesita una planificación exhaustiva. El cliente puede ver el resultado en un corto período de tiempo.

Es barato No es necesario gastar dinero en el diseño de la arquitectura: los clientes solo quieren que funcione aquí y ahora.

Es sencillo. Ágil es más comprensible para un hombre que está lejos de tener problemas de desarrollo de software. No tratarán con palabras tan terribles como “creación de prototipos”, “arquitectura”, “áreas de responsabilidad” y similares.

Es seguro. No implica un alto nivel de responsabilidad. “Hoy quiero una cosa, mañana, otra, y está bien. He cambiado de opinión, no hay problema.

Pero a cambio, Agile requiere una fuerte participación del cliente en todas las etapas del proceso de desarrollo. Este es el punto principal que determina el éxito de un nuevo producto. Los comentarios del cliente afectan casi todo: recursos, planes, horarios, procesos de trabajo y la estructura del equipo.

Para entender si Agile va a funcionar para su proyecto o no, es mejor examinar sus “valores centrales” desde el principio. Si la confiabilidad, la previsibilidad y la estabilidad son lo más importante, mejor intente otra cosa. Cuando se trata con brechas de tiempo, equipos distribuidos, nuevo dominio, Agile parece ser casi la única salida. Y este Agile es odiado tanto por los clientes como por los equipos de desarrollo porque la invención de algo nuevo es un estrés constante. Pero Agile es casi el único método para trabajar en condiciones tan difíciles e incomprensibles.

Aquí puede encontrar más información sobre Agile desde la perspectiva del cliente.

Tiene en el pasado. Estoy menos seguro de que lo sea hoy porque ha sido cooptado por un vendedor de aceite de serpiente y una variedad de vendedores ambulantes en torno al concepto de agilidad (que no debe confundirse con los principios que se encuentran en el Manifiesto para el desarrollo de software ágil). Desafortunadamente, también ha sido contaminada en muchas organizaciones por una PMO hinchada y con muchos procesos. Estaba destinado a ser ligero y centrado en la producción de software. De esa forma, fue tremendamente exitoso y extremadamente centrado en el cliente. Sin embargo, en muchos casos se ha transformado en un carbunco pesado en el proceso que tiene poco que ver con la producción de software.

Si.
Si el proceso se sigue correctamente, debería tener:
1. Un propietario del producto (ya sea cliente o representante del cliente) que participa durante todo el ciclo de vida.
2. Requisitos escritos en “historias de usuarios” que reflejan lo que el cliente quiere y por qué
3. Sprint revisa dónde el cliente puede ver y proporcionar comentarios sobre el producto tal como está construido de forma iterativa
4. Cada historia tiene “condiciones de satisfacción” y la noción de ser “aceptado”
Uno podría argumentar que algunos de estos aspectos son similares a la cascada, pero lo que distingue a Agile es la revisión iterativa con el cliente a medida que se construye el producto. En cascada, escribiría una especificación, obtendría la aprobación y el producto se entregaría meses después.

Hay una frase que he encontrado verdadera, “las personas no saben lo que quieren hasta que lo ven”, por lo que es bueno hacer revisiones iterativas con las partes interesadas. Sin embargo, con algunas partes interesadas, existe el riesgo de “iterar fuera de control”. Y a veces es más rápido iterar en papel que en código, en mi experiencia.

Bueno, eso dependería del cliente. Si el cliente acepta la colaboración sobre la negociación del contrato, entonces sí. Si el cliente está feliz de responder al cambio después de seguir un plan, entonces sí. Si no, entonces no.

Pero si el cliente está preparado para renunciar a la ilusión de un control completo, aceptar el riesgo y centrarse en los retornos, sin duda le hará ganar más dinero que la alternativa (falla costosa y / o producto subóptimo).