La mejor manera de manejar "Entonces, ¿cuándo se hará esto?"

8

Durante la reunión de pie diaria en medio de un sprint, el administrador de proyecto de facto / scrum master generalmente pregunta a los desarrolladores alguna versión de:

"Entonces, ¿cuándo se hará esto?"

"Entonces, ¿puedes comprometerte a hacer esta tarea antes de las 4pm hoy?"

"¿Cuántas horas te quedan en esta subtarea?"

Francamente, esto es muy molesto y no hace que las cosas se hagan más rápido. El resultado es que los desarrolladores a menudo se sienten bajo mucha presión y las standups a menudo se sienten más como un campo de batalla que como una colaboración.

Como desarrollador, ¿cuál es una forma sólida de manejar esto?

Derek
fuente
¿Tienes gerentes de proyecto que intentan "hacer ágil"? Esto suena como una estupidez típica de la boca de un gerente de proyecto. Debe hacer crecer la piel gruesa y rellenar todas las estimaciones, como siempre lo hicimos con todos los demás estilos de desarrollo.
Frank Hileman
66
¿Tienes un jefe de proyecto / scrum master? Debe tener un gerente de proyecto y un maestro de scrum, y no deben ser la misma persona.
gnasher729
55
Posible duplicado de ¿Cómo responder cuando se le pide un presupuesto?
Doc Brown
"No sé" es una respuesta perfectamente aceptable si no lo hace.
Robert Harvey

Respuestas:

5

La mejor manera de manejar "Entonces, ¿cuándo se hará esto?"

"Al final del sprint".

Me doy cuenta de que es una respuesta sarcástica, pero hay algo de verdad escondido allí. Depende de quién hace la pregunta y por qué hacen esa pregunta.

El gerente de proyecto realmente no tiene nada que ver con hacer esas preguntas: deben preguntarle al scrum master si necesitan información detallada sobre las tareas en progreso, y deben hacerlo fuera del stand-up diario.

Si es el scrum master quien está preguntando, tal vez están preguntando para que puedan estar preparados para los próximos bloqueos de carreteras. Si ese es el caso, solo sé honesto.

En scrum, el equipo no tiene la obligación de terminar una tarea o historia en particular hasta el final del sprint, suponiendo que estén preguntando sobre una historia relacionada con el sprint actual (en comparación con un arreglo fuera de banda). Los plazos para las tareas dentro de una historia son propiedad del equipo, y no deberían sentir la presión de un gerente de proyecto.

Sin embargo , el desarrollo de software es un proceso colaborativo, por lo que es razonable dar cabida a tales preguntas, dentro de lo razonable.

¿La solución? Desde su perspectiva: responda lo más honestamente que pueda, tan brevemente como pueda si es durante el stand-up. Si está trabajando activamente en la tarea sobre la que se le pregunta, siempre puede decir algo como "se estima que tomará un par de horas, por lo que podría terminarlo hoy". Si no está trabajando en ello, un simple "No sé, no he comenzado a trabajar en él. Creo que la estimación todavía parece bastante precisa".

Desde su perspectiva: necesitan aceptar su respuesta.

"Entonces, ¿puedes comprometerte a hacer esta tarea antes de las 4pm hoy?"

La respuesta a eso casi siempre debería ser "no". Simplemente no hay necesidad de comprometerse con un entregable al final del día para una tarea en medio de un sprint. Si la tarea finaliza hoy a las 4 p.m. o mañana a las 9 a.m. es irrelevante siempre que la historia en su conjunto esté terminada al final del sprint.

"¿Cuántas horas te quedan en esta subtarea?"

Esa es una pregunta razonable para hacer. Solo responde honestamente. Me doy cuenta de que eso es muy difícil de hacer. He estado allí. Creo que los desarrolladores son inherentemente optimistas. Analizaremos una tarea y pensaremos "eso solo me llevará un par de horas" y, antes de que te des cuenta, ha pasado todo el día. Por eso funciona ágil: admitimos nuestras limitaciones en la estimación y hacemos nuestro mejor esfuerzo para dividir las cosas en los trozos más pequeños posibles.

Bryan Oakley
fuente
2

Pídale a Scrum Master que aclare el propósito de una reunión de Sprint y Stand Up. Casi cualquier persona que trabaje con Scrum diría que el propósito de un Sprint es decidir qué se hace durante la duración del Sprint y nunca he oído hablar de que algo se deba durante un sprint.

Tal vez tenga que atender emergencias que realmente no tengan nada que ver con un sprint. Los equipos / desarrolladores que tienen estas tareas fuera del sprint, deben asegurarse de no incluir el tiempo para hacer esto como parte de la planificación del sprint. Tal vez tenga un día laboral de 8 horas, pero si pasa 1-2 horas apagando incendios, no puede esperar incluirlo como parte de la estimación.

En lo que respecta a las reuniones standup, puede sugerir algún otro sistema para rastrear cuándo se realizarán ciertas tareas inmediatas como algún tipo de sistema de tickets de soporte. Estos ni siquiera deberían discutirse durante el standup.

Parece que tu scrum master necesita ser reentrenado o repensar por qué estás haciendo Scrum en primer lugar. No es adecuado para todos los grupos y situaciones. Alguien en la cima no lo ha comprado.

JeffO
fuente
"El propósito de un Sprint es decidir qué se hace durante la duración del Sprint": e incluso este objetivo puede no alcanzarse debido a estimaciones incorrectas, por ejemplo, cuando los detalles adicionales de implementación se vuelven claros durante la implementación misma.
Giorgio
@Giorgio: diría que el propósito de un sprint es decidir qué "intentas" hacer. Si te quedas corto, úsalo para planificar el próximo sprint. Ese es el beneficio de un proceso iterativo. Si es una falla total, simplemente deseche el sprint y comience uno nuevo. No hay nada que ganar para la planificación futura cuando ha cometido un error de cálculo drástico además de no cometer el mismo error.
JeffO
2

He experimentado una microgestión como esta y la forma en que la he manejado con éxito es siendo muy transparente y comunicativa. No toma mucho tiempo ganar la confianza del gerente; construyes confianza y ellos retroceden. A veces incluso te da más espacio y latitud. Es posible que su gerente se sienta inseguro o fuera de control, por lo que esto se lo facilitará. Obviamente no es lo ideal, pero ustedes son un equipo y todos deberían querer el mismo resultado. Buena suerte.

Nicole N
fuente
Empatía. Esa es una habilidad poderosa que no todos dominan :-). Sin embargo, es bueno entender por qué el Gerente pone tanto énfasis en la planificación, cuando en Agile, el énfasis se centra en las personas. Comprender los dolores del gerente puede ayudar a contextualizar los porqués de la presión. Sin embargo, el Gerente y la compañía deben tener en cuenta que las estimaciones son solo eso. Suposiciones No las matemáticas, por lo que también deben practicar la empatía hacia los desarrolladores y darles crédito.
Laiv
1

"Se hará cuando se haga".

No tiene ningún valor intentar obtener estimaciones de finalización de los desarrolladores. Las estimaciones son inexactas, especialmente si se basan en el tiempo. Además, las personas en roles gerenciales tienden a interpretar esas estimaciones como compromisos, lo que resulta en los efectos perjudiciales que sienten los desarrolladores.

Una opción sería evitar responder la pregunta en términos de compromisos de tiempo.

"Esta tarea se realizará después de que haga las cosas A, B y C."

"Está bien. ¿Y cuánto tiempo llevará eso?"

"Lo veremos al final del día".

Cambiar la conversación de los compromisos de tiempo a lo que hay que hacer puede ayudar a tomar ventaja y mostrar que "cuánto tiempo se llevará a cabo" es menos importante que "qué se necesita para hacerlo".

binskits
fuente
2
Estoy de acuerdo en que generalmente es inútil proporcionar estimaciones por hora, especialmente para algo creativo como la programación que requiere grandes cantidades de trabajo ininterrumpido. Pero otras personas legítimamente necesitan saber cuándo estaremos listos, por lo que las estimaciones son necesarias en una escala de días o semanas. Si "scrum" se interpone en el camino, entonces el scrum y no la estimación es el problema. La buena noticia: las estimaciones mejoran a medida que las practica, y pueden protegerse: "hay una probabilidad de 50-50 de que esté listo hoy, de lo contrario mañana por la mañana". También he tenido buenas experiencias con técnicas como la planificación del póker.
amon
Estoy de acuerdo en que las estimaciones pueden ser útiles para personas ajenas al equipo, pero mi respuesta fue específica a la pregunta del OP sobre cómo lidiar con la microgestión durante las paradas.
binskits
1

No te dejes intimidar por el maestro scrum. Habla abierta y francamente sobre el trabajo por delante. Haga preguntas de él / ella como cuál es la urgencia. ¿Por qué tiene que ser hecho por 4? Si realmente se necesita hacer otras tareas, puede que sea necesario empujarlas hasta más tarde. Es tu oportunidad de construir braguero. Las respuestas de Frank son mejores temprano que excusas después.

Randy Moulton
fuente
1

Cuanto más "micro" sea la gestión, más difícil será hacer predicciones precisas. Si tengo 20 tareas de ocho horas, es decir, tareas que se estiman razonablemente que toman ocho horas cada una, eso debería hacerse en cuatro semanas, o tal vez unos días más o menos. Si tengo una de esas tareas, hay mucha más variabilidad.

Tal tarea puede llevar 10 minutos si el problema a resolver resulta ser mucho más fácil de lo que pensaba. (Me ha sucedido, calculé que necesitaba escribir bastante código, y resultó que alguien ya había escrito exactamente lo que necesitaba). O puede llevar una semana (mi código no funciona debido a un error en una biblioteca que necesita ser reparado, lo que tiene todo tipo de malas consecuencias). Para veinte tareas, estas cosas se equilibran. No es para una tarea.

Alguien te pide que predigas el futuro. No puedes hacer eso. Y si se le pide que prediga un solo evento, las estadísticas no lo ayudan. El tipo de persona que hace estas preguntas no entiende el significado de "estimar". Por lo tanto, si se le pregunta "se hará esto en cuatro horas", las posibles respuestas son "muy probable", "tal vez, tal vez no" y "muy improbable".

gnasher729
fuente
1

Esta es una buena pregunta. Contestaré desde la perspectiva de alguien con 30 años de experiencia con una década como gerente de proyectos dedicado en todas las áreas, excepto el desarrollo de software, pero recientemente tropecé con el desarrollo de software del área sin querer. Independientemente de la metodología utilizada en su equipo y de cómo se llama, al final del día, los proyectos de desarrollo son los mismos que cualquier otro en el sentido comercial de que los objetivos deben cumplirse dentro de las limitaciones de tiempo, presupuesto y calidad: - y mientras los proyectos se ejecutan, el negocio continúa moviéndose y evolucionando y tiene una buena posibilidad de inyectar cambios en su proyecto. Por lo tanto, es necesario establecer y comprometerse con objetivos y plazos, y poder proporcionar actualizaciones con frecuencia y cuando se le solicite. Yo no'

Dicho esto, en mi experiencia, lo que hace que las estimaciones de tiempo en el desarrollo de software sean particularmente desafiantes es que los proyectos de desarrollo implican muchos territorios desconocidos. La definición técnica de un "proyecto", según el Cuerpo de Conocimientos de Gestión de Proyectos del Project Management Institute, es que un proyecto debe ser único. Sin embargo, la gran mayoría de los "proyectos" en TI son meras re-ejecuciones de planos y diseños previamente diseñados y libros de ejecución. En el desarrollo de software, tenemos marcos y varios patrones de diseño genérico que hacen que gran parte del desarrollo sea reutilizable, pero aún así, el núcleo de cada proyecto es completamente único.

Además, la mayoría de los proyectos de desarrollo implican la integración con otros sistemas y la rapidez con que se puede hacer es una gran suposición. Estoy trabajando en un proyecto en este momento en que mis estimaciones de tiempo originales se basaron en el supuesto de que los 4 sistemas con los que necesito interactuar programáticamente tendrían API, y resulta que ninguno lo hace. Además, uno de los sistemas está alojado en la nube, y mi organización tiene políticas que prohíben el trabajo realizado. ¿Quién podría haber predicho eso?

A medida que se hacen descubrimientos que ponen en peligro los plazos, es importante comunicar bien por qué se produjo el retraso, por qué no se pudo prever, etc.

También me han pasado que me dijeron que el plazo dado no funcionaría y que sucedería mucho más "rápido". A otra variación se le está dando una gran cantidad de cambios para inyectar en el desarrollo sin que también se le otorgue el tiempo adicional. Hay una ley en física que dice que la materia no puede ser creada o destruida, y esto viene a mi mente porque me parece que el tiempo tampoco puede ser creado de la nada. Acelerar el desarrollo probablemente tendrá un impacto negativo en la calidad del lanzamiento, la capacidad de soporte del producto y / o la evolución futura del producto.

Las solicitudes sobre el cronograma deben responderse en términos comerciales generales. "Sí, estamos en camino de cumplir con los plazos previamente comprometidos, y no hay problemas que lo pongan en peligro". Las solicitudes para agregar un alcance significativo sin más tiempo, o simplemente para acelerar la entrega, deberían ser una forma de "podemos hacer eso, pero para que todos sepan que conlleva un riesgo inherente de errores porque gran parte del tiempo de desarrollo se hace para ser proactivo. para no introducir errores y también para realizar pruebas exhaustivas ". Cuando responden con "así que solo prueben más rápido", eso obtiene una respuesta que explica que las pruebas de desarrollo no implican tiempo de inactividad y pueden acelerarse sin introducir algún riesgo de defectos faltantes.

En resumen, simplemente sugiero que todos los desarrolladores, no solo los leads, scrum master o gerente de proyecto, estén preparados para discutir sus tareas en un contexto comercial y para tener discusiones sobre los parámetros cambiantes del proyecto al tomar en cuenta las compensaciones que puede resultar.

Thomas Carlisle
fuente
Esta es una respuesta intimidante. No es hasta el sexto párrafo que veo algo parecido a una respuesta procesable, y casi dejo de leer antes de llegar allí. Es posible que desee considerar reescribirlo para liderar con la respuesta final ("Las solicitudes sobre el cronograma deben responderse en términos comerciales generales") y luego seguir con la explicación.
Bryan Oakley
0

A medida que se realiza o completa el trabajo, se actualiza el trabajo restante estimado.

- Guía Scrum , página 15

Cada desarrollador debe actualizar su estado de tarea y las horas restantes estimadas cada día en cualquier herramienta de productividad que utilice su equipo (por ejemplo, TFS).

Entonces, la respuesta simple a su gerente es dirigirlo a la columna "horas restantes" en la lista de tareas. Con suerte, aprenderá que puede acceder a estos números él mismo y dejar de hacer preguntas estúpidas.

John Wu
fuente
1
La guía Scrum no dice nada sobre cómo se estima el trabajo. Bien podría ser que el trabajo se divida en tareas y que la actualización se base en la finalización de la tarea y las tareas restantes.
RibaldEddie
Si una tarea se divide en varias subtareas, el scrum master aún debería poder ver cómo son las estimaciones actuales.
mhr
0

Al hacer cualquiera de las preguntas anteriores, lo que el scrum master está tratando de decidir es si estamos en camino para este sprint y si hay algún problema de bloqueo para que puedas competir en esta tarea.

Los puntos de la historia no se correlacionan con las horas hombre, no están destinados a hacerlo, pero al preguntarle si puede hacer algo antes de una fecha, ¿realmente le pregunta qué le impide competir en esta tarea? Si necesita algo, pregunte, en mi opinión, su función es asegurarse de que pueda competir el sprint, eso es lo que realmente está preguntando ...

JamesD
fuente