Cuando Agile sale mal [cerrado]

23

Estoy escribiendo un curso de Agile para algunos de los chicos nuevos que estamos incorporando recientemente, y quiero agregar una historia de advertencia para que entiendan que Agile no está destinado a todos los proyectos.

Mi problema es que, debido a la naturaleza de los proyectos en los que trabajo con Agile, ha funcionado bastante bien hasta ahora, honestamente no puedo señalar qué puede salir mal y por qué cuando lo usa en el tipo de proyecto equivocado.

¿Qué cosas hay que tener en cuenta cuando un proyecto Agile sale mal?

Chepech
fuente
18
La mayoría de las historias de terror que escuché sobre ágil eran más sobre las personas involucradas que sobre el tipo de proyecto en el que estaban trabajando.
Matthieu
1
Veo varias preguntas que apuntan a dificultades ágiles en la sección "Relacionado" a la derecha ------------------->
CFL_Jeff
1
Revisé la pregunta para no invitar a la hora del cuento y, en cambio, pregunté por hechos concretos individuales sobre dónde falla Agile.
maple_shaft
3
@Oded ¿Qué enfoque hace el trabajo bien cuando hay plazos "duro sin dar en la funcionalidad"?
irracional John
66
@irrationalJohn - La marcha de la muerte, por supuesto;)
Finalizada el

Respuestas:

46

El mayor fracaso con los equipos "ágiles" es el resultado de lo que se llama Cargo Culting . Esencialmente, los equipos quieren los efectos de los equipos ágiles exitosos, por lo que imitan las acciones visibles

  • Standups diarios (que duran aproximadamente una hora)
  • Romper el trabajo en sprints
  • Historias de usuarios (que generalmente son poco más que una oración pero se espera una estimación)

Esos son los tres que verá consistentemente "aplicados" en estos entornos, pero muy poco compromiso para ser realmente ágil. De hecho, escuchará a la gerencia decir que estamos "haciendo ágilmente". (Huir con esas dos palabras es una mala señal).

También escuchará mucho acerca de la deuda técnica, pero su definición de deuda técnica es "hágalo rápido y sucio y tal vez lo solucionaremos más adelante". (Traducción: vamos a hacer que parezca que estamos preocupados por la mantenibilidad, pero en realidad mantendremos la misma mentalidad de sala de calderas porque eso es lo que nos funcionó en el pasado).

Otras frases clave: "Sé que estas historias no están completamente definidas, pero lo estamos haciendo ágilmente para poder solucionarlas a medida que avanzamos".

"Estamos haciendo un desarrollo ágil, por lo que deberías poder acomodar lo que necesito dentro del sprint cuando lo identifique".

"No podemos bloquear nuestras historias comprometidas al comienzo del sprint porque las necesidades siguen cambiando a mitad del sprint".

El indicador clave sobre si un proyecto ágil será exitoso es si el líder del proyecto (scrum master o cualquier otro rol) ha tenido experiencia o capacitación formal para liderar un proyecto ágil. Con demasiada frecuencia, he visto a personas leer sobre Agile en un libro o tomar un curso de dos días sobre ser un maestro de scrum y pensar que tienen las habilidades para implementarlo con éxito. Lo siento, no está sucediendo capitán.

Michael Brown
fuente
44
No estoy totalmente de acuerdo con el indicador clave del éxito. Diría que el indicador clave es un compromiso real tanto de la gerencia como de los desarrolladores, y al menos una comprensión básica y aceptación de las reglas ágiles por parte de los clientes. Incluso la mejor capacitación ágil del mundo no puede llevarte lejos si la gerencia se comporta como lo describiste anteriormente. OTOH con suficiente determinación y entusiasmo, uno puede aprender Ágil incluso de un libro y aplicarlo con éxito en un proyecto a través de un refinamiento sucesivo, si la gerencia lo apoya con seriedad.
Péter Török
Solo un aparte, ¿puedes explicar qué significa "mentalidad de sala de calderas"? Lo he escuchado antes, pero nunca escuché una explicación.
Kevin McCormick
2
un "ambiente de sala de calderas" es un área de alta presión, que se arregla ahora por cualquier medio donde las condiciones de trabajo son siempre desagradables. La mentalidad de la sala de calderas perpetúa este tipo de situación.
Hellion
1
"... el líder del proyecto (scrum master) ...": Hace poco escuché una charla de Bob Martin que sostenía que el scrum master no estaba destinado a ser el líder del proyecto al principio: era un papel para rotar entre los miembros del equipo (desarrolladores involucrados en el proyecto, no los gerentes) y solo se suponía que verificaran que ciertos principios ágiles se aplicaran a lo largo del sprint.
Giorgio
21

Las personas que no entendieron qué es ágil (¿qué era?) Y lo aplicaron a:

  • clientes que no están disponibles para comentarios hasta la fecha límite
    ... y amenazan con acciones legales después;

  • gerentes que mantienen a los desarrolladores alejados del cliente (probablemente porque están un poco mal pagados y podrían saltar barcos, ir a trabajar para dicho cliente) y jugar un juego del " teléfono roto " en un intento desesperado (aunque a menudo exitoso) en parecer ocupado y útil,

    Ver también: manejo de hongos , también conocido como "guardado oscuro, alimentado con estiércol" y jefes de pelo puntiagudo . :)

  • equipos que son demasiado grandes para ir a cualquier parte;

  • empresas que mantienen en su nómina una vez reconocidos diseñadores arquitectura de sistema que están desviando desesperadamente atención del hecho de que perdieron de vista por completo la nave de codificación real, por overdesigning magnífica, poco prácticas, UML, de difícil darse cuenta de Familias sagrada .

ZJR
fuente
2
Guau, susurros chinos, ¿en serio? Suena hella racista.
Mark Canlas
12
No estoy de acuerdo con tu indignación hipócrita sobre el racismo. Ve a decirle racista a la entrada de wikipedia sobre el tema y a su referencia a la edición 2008 del diccionario oxford.
ZJR
3
@Canlas Suenas hella norteamericano.
ZJR
3
¿Qué demonios playing a game of "telephone"significa? Realmente no creo que la edición fuera de ninguna manera necesaria ...
Cocowalla 03 de
66
El nombre real del juego es "Teléfono roto" (ya editado) y como ZJR señala que no es una frase racista, en realidad vinculé el artículo de Wikipedia con "Teléfono roto" y ¿adivina qué? redirige a "Chinese Whispers" =)
Chepech
12

Agile no es adecuado para contratos de plazo fijo o precio fijo. Una vez que te hayas registrado para una bestia así, tienes que entregar. Agile es muy bueno en el desarrollo continuo para siempre, ya que los clientes cambian de opinión y "aclaran" sus requisitos. Eso no te ayuda el día que se acaba el dinero, pero aún así tienes que terminar el trabajo.

Sin embargo, Agile es muy bueno para la fase posterior al proyecto cuando realiza actualizaciones incrementales y correcciones de errores.

El otro aspecto en el que Agile falla no es culpa de Agile, es culpa de las personas que insisten en todo lo viejo, como la documentación completa del proyecto, los diseños iniciales y las malas líneas de comunicación. (El manifiesto ágil medio arsed ).

gbjbaanb
fuente
Aguantalo. ¿Realmente crees que la mayoría de los proyectos ágiles están destinados a continuar "para siempre"?
user16764
1
eso depende del proyecto, algunos como abiertos y continúan mientras haya nuevos requisitos para incluir. Pero la mayoría de los proyectos ágiles no están destinados a terminar y enviarse en un día determinado. Estaba pensando particularmente en los contratos del gobierno que han marcado hitos para cumplir.
gbjbaanb
Formalmente, un proyecto nunca es abierto; La característica clave que define un proyecto es que tiene una fecha de inicio y finalización. Son productos y servicios que usted mantiene a largo plazo.
Donal Fellows
1
"malas líneas de comunicación": Hasta donde yo sé, la buena comunicación no ha sido descubierta por ágil, y las metodologías ágiles pueden hacer muy poco con equipos disfuncionales que no pueden comunicarse.
Giorgio
9

Aquí hay algunas preguntas que pueden ser útiles para buscar una respuesta en términos de encontrar un ejemplo donde un intento de Agile puede ir mal:

¿Alguna vez has oído hablar de "pseudo Agile"? Aquí hay un par de entradas de blog al respecto:

Hay algo que decir para las empresas que pueden tener su propia visión de lo que es ágil y convertirlo en otra cosa.

JB King
fuente
8

Trabajé en un equipo ágil altamente exitoso, así como en algunos que intentaron Agile, pero no pude hacerlo funcionar.

El exitoso tenía los siguientes elementos:

  • Requisitos verdaderamente "ágiles". Hubo historias de usuarios y las codificamos.
  • Disponible propietario del producto. Si una historia de usuario de la que estaba codificando estaba incompleta, podría ir fácilmente al propietario del producto, preguntarle qué debería estar allí, agregarla y completar el código.
  • Compromiso con el proceso y darse cuenta de que era una curva de aprendizaje.
  • Equipo enfocado
  • Gerentes que conocían y entendían la forma ágil de hacer las cosas y se comprometieron a hacerlo funcionar.

El exitoso equipo hizo Agile, y lo hizo muy bien. Creo que si no tiene ninguno de esos puntos anteriores, podría fallar con bastante facilidad. La primera y la segunda cosas van de la mano, y si no tienes eso, entonces Agile no funcionará.

El equipo en el que estaba que no le fue bien a Agile también tenía algunos elementos:

  • Falta de compromiso de la gerencia. La gerencia no creía en la filosofía y, como resultado, dudaba en comprometerse.
  • Requisitos documentados en otros lugares que no sean historias de usuarios. Ver arriba sobre el compromiso de gestión. Además, teníamos analistas de requisitos altamente pagados y herramientas de requisitos grandes y costosas que alguien necesitaba para justificar el uso.
Alan Delimon
fuente
Más o menos refleja mi experiencia con Agile, +1. O bien todo el equipo (incluido el representante y la gestión empresarial) se compromete a volverse ágil y funciona bien, o son solo algunos desarrolladores los que quieren hacerlo y es un caso de bloqueo y quema.
Amos M. Carpenter
7

Agregaré a las excelentes respuestas ya publicadas que, por mi experiencia, ágil y específicamente Scrum solo funcionará si la gerencia Y el equipo están dispuestos a dar mucha visibilidad a lo que está sucediendo.

Esto significa que en las empresas públicas (gobiernos, por ejemplo), será muy difícil hacer que funcione correctamente.


fuente
5

Ágil en mi opinión se trata de la cultura del equipo que está practicando. Si la cultura apesta, los miembros del equipo no se llevan bien y las personas no están colaborando para cumplir con los compromisos de sprint, entonces la cultura o el equipo es deficiente.

Sin embargo, no diría necesariamente que Waterfall funcionará necesariamente en un entorno así, no es una situación en blanco y negro, muy poco es realmente en blanco y negro.

Un buen equipo ágil es comunal. Tienen un espíritu tribal de comunidad donde todos los miembros están trabajando para lograr los mismos objetivos. El equipo tiene éxito o falla juntos. Trabajan juntos para resolver problemas. Un miembro del equipo detendrá lo que está haciendo con sus tareas para ayudar a un miembro del equipo con dificultades. Todo es hundirse o nadar.

Cuando este no es el caso, rápidamente se hace evidente lo que está mal. Si los miembros del equipo están sentados, escribiendo en sus computadoras portátiles o enviando mensajes de texto, o dividiéndose en zonas durante el standup diario, entonces no tienes un buen equipo ágil. Si sus gerentes de proyecto están aplicando todos los procedimientos, definiciones y terminologías de Scrum, pero todo el mundo solo mantiene la cadencia y presta servicios, entonces esto es solo una farsa bastante evidente de lo que realmente es Agile, y esto de muchas maneras conduce a la disfunción del equipo, la ineficiencia , plazos vencidos y proyectos fallidos.

Failing Agile está en muchos aspectos peor que un equipo de Waterfall moderadamente exitoso y probablemente tenga tasas de éxito de proyecto más bajas.

maple_shaft
fuente
Estoy de acuerdo, pero considere, por ejemplo, un proyecto en el que los propietarios de los productos no están disponibles prácticamente todo el tiempo y hay un plazo fijo predefinido en el proyecto porque es crítico demostrarlo en una convención (o cualquier otra cosa), y su equipo está compuesto por un Un par de ancianos pastoreando una manada de jóvenes. Entonces, sí, no hay blanco y negro, pero hay algunas características centrales que un proyecto necesita para funcionar bien con Agile que no tiene que ver con la actitud de las personas, ¿verdad?
Chepech
5

No lo sé por experiencia personal, pero hipotéticamente, hay muchas circunstancias en las que ágil no es la mejor opción.

  • Proyectos cuyo producto es crítico para la vida o la propiedad: por ejemplo, no desea utilizar Agile para desarrollar el software que ejecuta su marcapasos. ¿Por qué? Porque tiene una tolerancia cercana a cero para los errores. Considere un ejemplo clásico de error de programación dentro de la medicina con respecto al Therac 25 . De acuerdo, no fue construido con agilidad, pero el punto es este: desarrollar vida o propiedad crítica no es un lugar para decir, "limpiaremos eso en el próximo sprint" o "no necesitamos grandes, solo buenos suficiente."

  • Proyectos con demasiados desarrolladores junior: Agile espera una cierta cantidad de autonomía dentro del grupo participante. Si no hay suficiente experiencia en el equipo, esa autonomía puede funcionar en su contra.

  • Proyectos que requieren un mayor grado de control o planificación que lo que tradicionalmente se ofrece con Agile.

Supongo que alguien más intervendrá y ayudará con mejores ejemplos, o rechazará este bocado que he escrito ;-).

Solo recuerda que cuando la única herramienta que tienes es un martillo, cada problema parece un clavo. No todos los proyectos son uñas.

Dan Coates
fuente
55
Ágil no excluye los sistemas críticos para la vida. Si el cliente no prueba y acepta completamente un artículo, no está "hecho" y no se libera, sin importar si el sprint está hecho. Es posible que otros elementos (requisitos, historias) se hayan completado y probado correctamente durante el sprint, por lo que PUEDEN ser liberados, si los clientes lo desean. Agile siempre se trata de entregar exactamente lo que el cliente necesita, con alta calidad.
Matthew Flynn