Como Scrum Master, ¿cómo evito que un miembro del equipo se dé por vencido con demasiada facilidad?

Actualmente dirijo un equipo que incluye un desarrollador. Tiene bastante talento, pero el problema que tiene es que cuando se atasca en un problema durante un largo período de tiempo, simplemente pierde interés en resolverlo y quiere pasar a otras tareas.

A menudo me dice que 'Oh, no se puede resolver' seguido de 'No sé cuánto tiempo llevará resolverlo'.

Solo después de involucrar al propietario del producto, él hace el trabajo, pero el hecho de que necesito involucrar al propietario del producto me hace sentir inseguro.

¿Qué puedo hacer para animar a alguien de mi equipo a trabajar en tareas difíciles sin tener que recurrir a la gerencia?

@nvoigt dijo semanas.
@JoeStrazzere sí, le dije que debe dejar de darse por vencido fácilmente, pero se enoja y luego hace el trabajo. Eventualmente termina completando el trabajo, pero tengo que escuchar un montón de quejas antes de que lo haga.
¿Este desarrollador es parte de un equipo o trabaja solo?
@JoeStrazzere Soy efectivamente un mando intermedio, la configuración es actualmente donde el propietario del producto me permite saber lo que quiere en el producto, mi función es luego organizar los sprints y garantizar que el equipo complete su trabajo de manera oportuna en función de la hoja de ruta del producto. Es una organización muy pequeña, por lo que no tenemos a nadie haciendo BA, líder tecnológico, etc. Tengo que desempeñar varios roles.
Tenga en cuenta que no es el trabajo del Scrum Master asegurarse de que el equipo complete el trabajo de manera oportuna. Es el trabajo del propio equipo hacer eso. Un poco de entrenamiento formal de scrum suena como una buena idea.
Voto para cerrar esta pregunta como fuera de tema porque es un elemental "¿cómo manejo a alguien?" pregunta o algo específico de SCRUM en cuyo caso pertenece a Project Management (posible candidato para la migración)
@Lilienthal: no tengo ningún problema, ya que se trata de una pregunta de gestión "elemental". No todo el mundo tiene habilidades de gestión. Esto tiene un enfoque lo suficientemente estrecho como para que podamos abordarlo. Como alguien que es un líder de equipo y lo ha sido por un tiempo, todavía estaría interesado en ver las soluciones que brindan nuestros expertos.
@Chad Para eso están los libros. Tal vez haya valor en un genérico "¿Cuáles son los fundamentos de la gestión?" pregunta, pero eso tendría que ser redactado correctamente y creado con ese objetivo en mente. Francamente, parece que OP no es un gerente en este escenario, lo que hace que esto sea más una pregunta de Scrum que cualquier otra cosa, especialmente en función de la respuesta más votada.
@Chad Gracias por decir que no tengo habilidades de gestión; de todos modos, este resultó ser el movimiento correcto, ya que ahora se dio cuenta de por qué debería escucharme más a partir de los errores adicionales que se encuentran. Por lo tanto, el ejercicio no es una completa pérdida de tiempo.
@ bobo2000 - No quise dar a entender que no tienes habilidades de gestión. Esta pregunta puede haber sido específicamente para usted, pero revisar si una pregunta debe cerrarse es desde la perspectiva de si la pregunta será útil para otros en el futuro.

Respuestas (5)

Como maestro de Scrum, no es su trabajo administrar al desarrollador. Tampoco es su trabajo involucrar al propietario del producto (PO). Es el trabajo de su PO vigilar lo que está haciendo su equipo y es su trabajo asegurarse de que se mantengan en el proceso de Scrum.

Su desarrollador tiene toda la razón al no discutir los detalles del trabajo en el ticket con usted. Usted no es la persona que le asigna el trabajo o juzga si se hace el trabajo o qué tan bien se hace. El Scrum master no es el asistente-PO.

Sin embargo , si su desarrollador solo hace otra historia, tiene que comunicárselo al equipo. Es trabajo del equipo ver quién hace qué y es trabajo del equipo asegurarse de que todas las historias se hagan.

El equipo podría decidir que esta historia es más grande de lo esperado y consultar al PO. El equipo puede decidir que existe un impedimento externo (sin un entorno de prueba, por ejemplo) y delegarlo al Scrum Master para que lo resuelva. El equipo puede decidir que alguien más del equipo ayude al desarrollador porque algunas cosas son difíciles de ver con un solo par de ojos. Tal vez no terminen su objetivo de sprint. Es entonces el momento de discutir esto en la retrospectiva.

Nuevamente: en Scrum, ni los maestros de Scrum ni los PO tienen el trabajo de decirle a un miembro del equipo que haga una determinada historia o cómo hacer una determinada historia. Equipo autoorganizado significa que el equipo organiza cómo se hacen las historias. Si eso no funciona, deja que el equipo encuentre una solución.


Una parte general: no creas que Scrum es todo material sensiblero, cálido y esponjoso solo porque no hay un gerente de proyecto de antaño. No subestimes la presión de tus compañeros. Si no corrige el error, el equipo tendrá que hacer la tarea. Y ellos tampoco estarán contentos con eso. Pero necesitas realmente hacer Scrum. Como siempre, parece que le ha dado una mano de pintura Scrum, teniendo SM, PO y Team, pero no está actuando como tal. Sigues siendo "su jefe" y "administrándolo". Eso no es Scrum y no funcionará de esta manera. Scrum solo funciona si realmente haces Scrum. Dar títulos y hacerlo a la antigua no va a funcionar.

Todo eso es genial, pero las personas deben ser responsables de su trabajo y de la alta calidad del producto. Si él no nos hubiera escuchado y solo hubiera hecho un desarrollo totalmente nuevo, la deuda tecnológica habría terminado potencialmente aumentando. Resultó que, desde que hizo el trabajo que le dijimos que investigara, abrió una lata de gusanos donde hay muchos errores críticos para el negocio que deben resolverse. Para su información, no administro estrictamente al desarrollador, en el mejor de los casos lo guío y tendemos a discutir esto con todo el equipo antes de que se comprometa.
Entonces, ¿qué pasa con el error cuando no lo arregla? ¿Alguien más retoma su trabajo o el equipo pierde su meta de sprint?
Estamos haciendo kanban en este momento, terminó y cumplió su objetivo de sprint ayer. Contamos con un sistema en el que tenemos sprints solo para trabajos de alta prioridad (para garantizar que se realicen). El sprint es típicamente de 4 días y luego cambia a kanban por el resto de la semana. Descubrimos que esto funciona muy bien, ya que podemos adaptarnos rápidamente a situaciones como esta en lugar de esperar hasta la semana siguiente y agregarlo a la acumulación de sprint. Si durante el sprint ocurre una situación de emergencia, entonces la acumulación del sprint debe cambiarse después de hablar con el equipo de desarrollo.
¿Qué quisiste decir exactamente con su meta de sprint? ¿No te dan compromisos para todo el equipo?
¿Cómo tienes un objetivo de sprint si estás haciendo Kanban, sin sprints en Kanban?
@ bobo2000 - 'las personas deben ser responsables de su trabajo y de la alta calidad del trabajo del producto' - sí, para eso está el equipo, el EQUIPO se autogestiona y tiene propiedad colectiva, por lo que deberían presionar para que se solucione el error y el código debe tener la calidad requerida, no el Scrum Master (especialmente porque Kanban no tiene un rol de SM de todos modos)
@bobo2000: si tiene una pregunta describiéndose a sí mismo como Scrum Master, la gente asumirá que está haciendo Scrum y le dará la respuesta de Scrum. Si está haciendo algo completamente diferente, mejor no mencionar los términos de Scrum.
@Thewandering Hacemos un sprint de 4 días, hay un objetivo de sprint para el final de cada sprint. Experimentamos con sprints de 2 semanas y de 1 semana, pero el problema con ambos enfoques es que hizo que el ciclo de entrega fuera lento y rígido dado que la acumulación de sprints no puede cambiar a mitad de camino y el incremento del producto se muestra el lunes siguiente. Al hacer un sprint de 4 días, podemos mostrarle a la parte interesada lo que se entregó en la misma semana, luego usar el resto de la semana para corregir errores o ajustar el incremento para que sea como él lo quiere. Luego desplegamos el lunes. Parece funcionar para nosotros.
Para agregar, si el equipo de scrum termina antes de lo previsto, como fue el caso esta semana, cambiamos a Kanban por el resto de la semana, en lugar de comenzar un nuevo sprint. El nuevo sprint siempre comienza el lunes. Espero que tenga sentido.

No todos se adhieren a los mismos principios con scrum, particularmente en tiendas pequeñas donde las personas usan múltiples sombreros. Por lo tanto, no es del todo inusual manejar esta situación usted mismo.

Apilar más funciones en los errores hará que su deuda técnica se dispare. Los errores no serán más fáciles de encontrar o corregir agregando más funciones.

Si estos errores se detectan temprano en el ciclo de desarrollo, no los clasifique como errores, pero rechace los elementos que ha completado como incompletos.

Es probable que necesite aumentar sus pruebas y, sin duda, su cobertura de prueba. Una inversión de uno o dos sprints en pruebas unitarias y del sistema aumentará la calidad del código. También obtendrá formas más fáciles de replicar los problemas y más confianza en las áreas de código que podrían estar causando el error, pero no lo están. Todo esto conspirará para reducir el alcance y el tiempo necesarios para corregir errores. También puede agregar revisión de código si aún no lo ha hecho.

También es posible que la alta dirección esté dando un mensaje diferente. Las características venden productos y actualizaciones; los errores enfurecen: estadísticamente, los clientes no dicen que valoren el código libre de errores en las encuestas y, por lo general, no evalúan profundamente la calidad del código antes de comprarlo. Si es así, ese es el habilitador principal. Si no, un edicto único e inequívoco desde arriba ayudará. Pedirle a la alta gerencia que básicamente exija que todos los errores se solucionen antes de que se agreguen nuevas funciones lo sacará de la lista de los malos que puedo ignorar. Preguntárselo a la alta gerencia replantearía el problema para él.

No le gusta comer verduras. Necesita comer sus verduras. :-)

"¿Respuesta corta?" ¡Delicadamente!

Aunque usted no es el gerente de esta persona, en el sentido de la palabra de recursos humanos, usted es el líder de su equipo en particular. (Se use o no terminología como "scrum". No importa qué, si se usa alguna, "filosofía de gestión"...) Usted actúa con autoridad delegada.

Por lo tanto, después de discutir en privado tu estrategia con el gerente y escuchar atentamente sus instrucciones o sugerencias, habla en privado (pero, directamente) con el desarrollador. Recuérdele que espera que se ciña a una tarea hasta que la complete, pero también que se espera que pida ayuda, asistencia y orientación. Que dichas solicitudes deben dirigirse a usted y que las aceptará. Que considere parte de su trabajo remover cualquier impedimento que se interponga en su camino.

Sin ser amenazante de ninguna manera, intente ayudar a esta persona a comprender que "el equipo necesita al equipo" y que, de hecho, se requiere su participación adecuada en estos asuntos. Como líder del equipo, y dentro del alcance del equipo que está liderando, tiene la prerrogativa y la responsabilidad (delegada) de decir tales cosas.

Después de haber tomado el tiempo para discutir su plan con el gerente, ahora tendrá el apoyo de ese gerente. "Sí, Jim o Jane, soy consciente de que bobo2000 les iba a decir esto, porque primero lo discutió conmigo. Él estaba y está efectivamente 'hablando por mí', y yo soy su gerente".

Además:   esté listo "en un abrir y cerrar de ojos" para detenerse y escuchar a esta persona. ¿Por qué podría esta persona rehuir las tareas difíciles? El comentario de que "no es divertido" (o lo que sea) podría ser una cortina de humo. ¿Puede extraer la opinión sincera de esta persona sobre la situación? Los programadores a veces ocultan sus debilidades percibidas, y es posible que perciban debilidades donde y cuando no las percibes. Esfuérzate mucho en hacer de esta una conversación privada (!) y bidireccional .

Practique su mejor tacto, diplomacia, poderes de persuasión y ... decisión. Sí, tienes autoridad. Si tu puedes. Pero lo que realmente quiere lograr es: (a) comprender mejor la verdadera situación desde el punto de vista de esta persona, y (b) persuadir a esta persona para que quiera cambiar para mejor.

Un compañero lo dijo una vez de esta manera: "Ofrécele mantequilla y miel en una rebanada de pan. Cuando acepte, saca tu espada y úsala para untar con mantequilla el pan. Él tomará y apreciará la miel, y no fallará también ". para notar que llevas una espada".

Al final de la reunión, y después de dejar que la persona tenga la última palabra, dar la mano, salir de esa habitación privada y dejar todo lo dicho dentro de esa habitación, "dentro de esa habitación".

A veces hay errores que son muy difíciles de encontrar para una persona específica. He visto errores que solo aparecían si su disco duro tenía un nombre determinado. O solo por la tarde. O sólo en un día del año. Eso pasa.

Parece que tienes errores que son difíciles de encontrar y corregir, pero no imposibles. Se da por vencido, tu jefe lo regaña, luego sigue trabajando y lo hace (si te entiendo bien). La parte en la que tu jefe tiene que involucrarse para que siga trabajando en el problema es francamente inaceptable. Involucrar al jefe también es algo con lo que es poco probable que su jefe esté contento.

Puede tomar la decisión gerencial de que un error no se corrija, si hay errores más importantes que son más fáciles de corregir. Pero si ese error necesita ser reparado, o se le da a otra persona (y si esa persona lo arregla, es una gran marca negra contra la primera persona a menos que haya algunas circunstancias inusuales), o le dices que continúe, y él continúa. Si no lo hace, no es problema de sus jefes, sino un problema de recursos humanos.

Solo para aclarar: si el desarrollador dice "no se puede arreglar", y el gerente piensa que es importante arreglarlo y se lo entrega a otra persona para que lo arregle, eso probablemente se recordará (escribirá) y se mencionará en el próxima revisión de desempeño. Si el desarrollador dice "no se puede arreglar" y le da una razón, y el siguiente desarrollador al que le pregunta dice "no se puede arreglar" con las mismas razones, esa es una situación completamente diferente.

PD. Noté que editaste el título a "como scrum master". Ser un maestro de scrum es un papel que desempeñas. Se trata de organizar los scrums, asegurarse de que las tareas estén bien especificadas y entren en un sprint, realizar un seguimiento del progreso, etc. La calidad de los desarrolladores no es tarea del scrum master. Desde el punto de vista puramente del scrum master, si no termina una tarea, entonces queda inconclusa a menos que alguien más la retome.

Sin embargo, hay dos roles diferentes en una empresa que sería responsable: uno sería un mentor o desarrollador senior encargado de ayudar a otros a hacer su trabajo correctamente, y otro sería el gerente del desarrollador que verá cuánto o poco contribuye esa persona. a la compañia. Usted podría estar en uno de estos roles también.

Meh, personalmente dudo que esto tenga algo que ver con la dificultad de corregir errores y todo lo relacionado con el hecho de que las nuevas funciones son más "emocionantes" para trabajar que rastrear errores. La corrección de errores puede ser una fuente de disfrute para muchos desarrolladores, pero con demasiada frecuencia me he encontrado con el tipo de desarrollador que preferiría estar en el campo verde en su trabajo que cazar errores, lo que en sí mismo está bien, es cuando prueban cada excusa. en el libro para salir de la corrección de errores que se convierte en un problema.
Gracias a esto, cuando el 'desarrollador' dice 'no se puede resolver', ¿cómo respondes? Y Moo, estás en el clavo.
@bobo2000 respondes: 99% of the time the problem is between the chair and the keyboard.. Todos los desarrolladores conocen ese, pero es posible que necesiten que alguien lo recuerde en algún momento :)
También me gustaría señalar que la experiencia difiere entre los diferentes miembros de un equipo, algo puede ser extremadamente difícil de encontrar para una persona y fácil para otra, por ejemplo, porque lo ha visto antes. Se le debe enseñar que cuando dice "no se puede arreglar", en realidad debe decir "He dedicado tiempo a esto y aún no he podido arreglarlo; necesito involucrar a otro miembro del equipo".
Cuando trabajé en una situación de Scrum, el sprint siempre se centró en cuántas características nuevas se podían agregar, no en cuántos errores se podían corregir. Si el desarrollador es responsable solo de las nuevas funciones, ¿eso podría hacer que intente cumplir con los objetivos del sprint e ignore las cosas que están fuera de los objetivos del sprint?

Me gustaría que cualquiera de mis desarrolladores se sintiera responsable de la calidad.

  1. ¿Este desarrollador tiene algún contacto con los usuarios del producto?
    • Podría ayudarlo a comenzar a ver a sus usuarios como personas y no solo como otro grupo que lo molesta. Me gustaría que la gente viera un producto de calidad y estuviera contenta con él.
  2. ¿El equipo tiene responsabilidad interna?
    • ¿Puede asignar a varios desarrolladores para que trabajen juntos a fin de abordar problemas difíciles? Por lo general, es más difícil ignorar a un compañero que ignorar un ticket de trabajo