Recientemente entrevisté a algunas compañías que hacen Agile, Scrum para ser más precisos y hay algunas cosas que no me parecen ágiles. Tomaré un caso que me interesa particularmente ahora, el de Scrum sprints.
Un gerente de proyecto en particular con el que hablé (sí, dije gerente de proyecto) dijo con orgullo que las personas de su equipo entienden ("me dijeron" es lo que aprendí del contexto) que no te vas a casa cuando terminan las horas de trabajo , te vas a casa cuando el trabajo está hecho, no importa cuánto te lleve. Lo que he leído entre líneas es que agrupamos tantas funciones como sea posible en un sprint y trabajamos horas extras para que esto suceda.
Ahora, no he hecho Agile por ahora (trabajé con instituciones financieras y gubernamentales que la mayoría todavía prefieren cascada) pero entiendo que:
- sprint en Scrum es el nombre de la iteración genérica en Agile;
- el equipo debe trabajar a un ritmo sostenible y tratar de evitar las horas extra a largo plazo, ya que eso tiene efectos solo en el corto tiempo y los efectos se ven reducidos por los problemas en los que incurren a largo plazo.
¿Son correctas mis declaraciones? Y, ¿debo tomar la presentación del gerente como una bandera roja?
fuente
Respuestas:
No tiene que buscar mucho para ver que estas prácticas son contrarias a los principios detrás de Agile. Uno de los principios detrás del Manifiesto Ágil establece:
Hace unos años, Scrum hizo un cambio sutil pero importante . En lugar de que los equipos se comprometan con el trabajo que se puede lograr, pronostican lo que creen que pueden hacer.
El cambio se produce debido al abuso, que se parece mucho a la actitud de "no ir a casa hasta que se hace" que usted describe. En el desarrollo, hay muchos factores fuera del control de los equipos con los que no pueden comprometerse: para usar la analogía del clima, no se puede "comprometer" que lloverá mañana.
Para responder directamente a sus preguntas:
fuente
Sí, tienes razón, y si me dijeran lo que te dijeron, huiría de allí lo más rápido posible. Solo están usando ágil como excusa. Suena como la clásica marcha de la muerte.
fuente
Hay una cosa clave que puede hacer que esto sea aceptable: el equipo acepta el alcance del sprint.
En Scrum, los equipos no solo reciben trabajo asignado. El propietario del producto negocia con el equipo para priorizar el trabajo del producto y el trabajo técnico (deudas). El gerente del proyecto, el propietario del producto y el equipo luego negocian qué se lleva a un sprint y cuál es el alcance de ese trabajo.
En este mundo, el equipo esencialmente dice "podemos hacer que X trabaje, pruebe y envíe esta iteración". Por lo tanto, esperaría que un equipo ocasionalmente trabaje horas extras para cumplir con estos compromisos.
Dicho esto, muchos lugares bastardan ágilmente y tan pocos líderes de equipo pueden negociar efectivamente con personas que generalmente son sus jefes ... Tomaría esto como una gran bandera roja.
fuente
Scrum se divide en sprints donde calculas un conjunto de tareas que se completarán en la duración de ese sprint (generalmente 2 semanas, pero he visto entre 1 día y 4 semanas). Creo que esto crea un incentivo para desestimar las tareas. Las OP (propietario del producto) querrán estimaciones bajas para obtener un gran compromiso por sprint. El equipo hará grandes estimaciones para generar buenos gráficos de consumo para que los PM lo vean. Estos son, por supuesto, indicativos de una mala organización. Realmente desea obtener estimaciones precisas y no tener miedo de quedarse corto y llevar las historias al próximo sprint o terminar temprano y sacar tareas adicionales del trabajo atrasado. Creo que el término "sprint" crea esta imagen de personas que trabajan más rápido.
fuente
No: los sprints de scrum son un timebox, nada más y nada menos. Al comienzo del sprint / iteración, el equipo da una estimación de la cantidad de puntos de historia que creen que pueden lograr, basándose en cosas como el rendimiento anterior, la disponibilidad, los próximos eventos, los impedimentos abiertos, etc. Luego negocian con el propietario del producto. sobre qué historias de usuarios se ponen en el sprint. Ese es (o fue? Ver otra respuesta) el compromiso que el equipo le da al propietario del producto.
Durante el desarrollo, si resulta que las cosas no son realmente las predichas (es el desarrollo de software después de todo) y existe el riesgo de que el equipo no cumpla con el compromiso, informan al propietario del producto que existe el riesgo de que una o más historias ocurran No se completará.
Y eso está bien. Claro, se siente mal, tener que admitir al final del sprint que el sprint falló, pero no es una derrota, es una oportunidad para mejorar. Porque al final del sprint / inicio del nuevo, puedes hacer una retrospectiva del sprint, y lo primero que alguien preguntará es '¿Por qué fallamos este sprint y qué debemos hacer para no volver a fallar? ? Una opción sería emitir menos compromiso (= tomar menos puntos de historia).
tl; dr: ritmo sostenible. Scrum se trata de cadencia, algo que el equipo puede mantener indefinidamente sobre una base de sprint a sprint. Trabajar horas extras no lo es; el equipo tendrá un exceso de trabajo, el trabajo se volverá descuidado, los miembros se enfermarán o dejarán de fumar por completo, y luego tendrá un problema mucho mayor que un sprint fallido.
fuente
De la gente del Manifiesto Ágil
Trabajar horas extras todo el tiempo no me parece sostenible.
Dicho esto, no veo ningún problema con un compromiso de primavera que sea fuerte (si esa es la forma en que el equipo quiere trabajar), y tener que trabajar horas extras cuando se compromete demasiado o arruina las estimaciones es un buen incentivo para mejorar en la estimación o comunicación expectativas a PO.
fuente
Eso no es Scrum. La carga de trabajo propuesta para un timebox se basa en la velocidad del equipo , no en la lista de deseos del gerente. Simplemente están tratando de engañarte para que creas que trabajar horas extras sin fin es "ágil", lo cual no es así. El equipo se volverá más eficiente mientras trabaja tranquilo y concentrado, pero Scrum no es una varita mágica para obtener ganancias de eficiencia sin fin .
O el gerente tiene un ligero malentendido de Agile, o (lo más probable) piensa que los desarrolladores son tan estúpidos. Por otro lado, cuando el equipo acepta el sprint una y otra vez, sabiendo que necesitarán hacer horas extras, ¿tal vez sean realmente estúpidos y no lo merezcan mejor?
Supongo que sabes la respuesta ... ;-)
fuente