Como Scrum es una metodología de gestión de proyectos, ¿cómo lo 'venderías' a los desarrolladores en un equipo que esté razonablemente satisfecho con su situación actual?
Me parece fácil explicarle a nuestro Gerente de Producto cómo Scrum le permitirá obtener lanzamientos regulares, modificar requisitos y lograr que el equipo se concentre primero en las historias de alta prioridad. Me resultó fácil explicar lo que TDD o la integración continua aportan en la vida cotidiana de un desarrollador.
Pero, ¿cómo pueden convencerse los desarrolladores de adoptar Scrum? ¿Cómo haría Scrum hacerles la vida más fácil?
Romper el gran objetivo ("hacer el software") en partes más pequeñas, historias, y decidir cuál de ellas hacer en el sprint actual mejora la productividad y reduce el estrés. Cuando sabes específicamente lo que se supone que debes hacer ahora , hay poco por lo que preocuparte, y puedes concentrarte en hacer la pequeña pieza en lugar de sentirte abrumado por la gran totalidad.
fuente
Stack Ranks / Backlog evita que los hitos sean marchas de la muerte
Como desarrollador, el 'patrón destructivo' que más veo en el desarrollo de software es cuando algún 'controlador externo' (por ejemplo, gestión de proyectos, gestión ejecutiva) se emociona mucho por el hecho de que la 'característica favorita' no se activará ' fecha calendario "y ordena una marcha de la muerte.
Scrum, porque clasifica las 'características importantes' en una lista de tareas pendientes, ayuda a los desarrolladores a manejar esta tensión de manera proactiva de dos maneras. En primer lugar, puede clasificar la "característica favorita" en la parte superior de la lista de tareas para que sea más probable que esté contento. Segundo, da una respuesta muy visual y concreta a "dado que movimos 'widgets parpadeantes' al rango 1, es muy probable que no lleguemos a 'conejitos saltando' en este sprint ya que ahora es el rango 7. Son ¿te sientes cómodo con esta compensación? "
También descubrí que con los sprints cortos, los 'controladores externos' están menos molestos por posponer el trabajo. Si los 'widgets parpadeantes' no se convierten en 'hito 1' y el 'hito 2' no termina hasta dentro de 9 meses, el patrocinador de los 'widgets parpadeantes' se enoja mucho. Pero si 'widgets parpadeantes' se clasifica en la pila 7 en lugar de 1 porque realmente hay 6 cosas más importantes que deben hacerse primero, esto significa que probablemente lo haremos en sprint + 1 o en el peor sprint + 2, lo que significa se mostrará dentro de 12 o 18 semanas (usando sprints de 6 semanas). En mi experiencia, esperar 3 meses es 'aceptable' para los impacientes; además, de vuelta en el modelo 'cascada' de hitos de más de 3 meses,
Finalmente, si estamos llegando al final del sprint y las cosas tardaron más de lo esperado, es muy bueno poder llevar los elementos 5-6-7 al siguiente sprint y asegurarnos de que hayamos completado 1-2-3 -4 con alta calidad y sin 70 hr semanas. Después de todo, nos aseguraremos de llegar al 5-6-7 próximo sprint. Una vez más, dados los plazos más cortos involucrados en el aplazamiento, los 'controladores externos' generalmente se sienten más cómodos con esto y no insisten en que nos saltamos el hito dos semanas y ordenemos cenas cada noche 'solo para superarlo'.
fuente
Las personas en un equipo Scrum pueden decidir muchas cosas por sí mismas: qué se hará durante el próximo sprint, cómo dividimos esta historia en tareas, quién trabaja en qué, etc. Esto les da poder, y es casi exactamente lo contrario a lo micro -administración.
fuente
El hecho de que los requisitos cambiarán se tiene en cuenta desde el principio. Los desarrolladores no necesitan crear especificaciones detalladas con estimaciones precisas y luego pasar semanas desarrollando una función solo para darse cuenta de que el cliente cambia de opinión tan pronto como ve el resultado ...
fuente
Para mí, la tarea de autoasignar desde la cartera de pedidos es el mayor punto de venta desde el punto de vista del desarrollador. Además, la intimidad con el cliente / propietario del producto ayuda a comprender el esquema más amplio de las cosas.
fuente
Un par de cosas:
Partiendo del punto de Xavier sobre los requisitos que cambian desde el principio, se desarrolla una atmósfera menos política cuando todos aceptan desde el principio que algunas cosas no serán como el cliente espera. La entrega y revisión rápidas significarán que el costo de las comunicaciones erróneas es bajo, y en lugar de jugar al juego de la culpa, los desarrolladores pueden cambiar las cosas para que funcionen como el cliente espera.
Puntos de historia! ¿Qué desarrollador no le gusta obtener puntos por hacer cosas? En serio, es mejor que obtener insignias en SC2 o Stack Overflow.
fuente
Hay varias cosas que me gustan como desarrollador sobre scrum.
Los desarrolladores tienden a recibir más información por adelantado. El propietario del producto debe explicar todo el trabajo que se realizará durante el próximo sprint con suficiente detalle para permitir buenas estimaciones.
La estimación justo a tiempo significa que esas estimaciones son razonablemente precisas. Por lo general, todos tienen una idea razonablemente buena de lo que se terminará en un sprint. Esto brinda a los programadores y gerentes de proyectos las herramientas para rechazar demandas irrazonables.
Es bueno retroceder cada tres o cuatro semanas y respirar y al menos cambiar de ritmo.
Los equipos autoorganizados parecen dar un poco más de variedad en el trabajo.
Al menos en teoría, durante el sprint hay menos interrupciones y "emergencias".
La reunión de pie diaria obliga a los programadores a decir varias palabras todos los días.
Es más fácil ver el progreso realizado a medida que las historias se terminan explícitamente y se revisan al final de cada sprint.
Los gráficos de quemado son un medio ligero bastante efectivo para seguir el progreso.
fuente
La ventaja para el desarrollador es la retroalimentación temprana (del cliente, probador, propietario del producto, etc.).
También como desarrollador, siempre estoy interesado en hacer las cosas paso a paso sin distracciones. Scrum proporciona esto.
PD: scrum no es una metodología, es un marco.
fuente