Dudaba si debería publicar esto en los programadores, pero creo que este problema es generalmente aplicable.
Tenemos un miembro junior del equipo (alrededor de dos años en la empresa) que sigue asignándose tareas grandes y difíciles que habrían sido más adecuadas para un desarrollador senior. Dado que cualquiera puede elegir cualquier elemento del trabajo pendiente, es difícil evitarlo.
Por supuesto que es bueno que sea ambicioso, pero cuando se atasca se desespera. En lugar de dar un paso atrás y considerar por qué las cosas no funcionan, a menudo termina yendo demasiado lejos por el camino equivocado. Luego comienza a bombardear a otros desarrolladores con preguntas que a menudo no podemos responder porque no proporciona el contexto.
Dado que quiero que trabajemos en equipo de la manera más eficiente posible, he probado un par de soluciones diferentes:
Actualización: Gracias por todas las respuestas. Esperemos que sigan siendo útiles para futuros visitantes. En cuanto a mi historia...
Se lo mencioné a mi gerente (que ya había observado el comportamiento) y le sugerí que intentáramos involucrarnos antes y tratar de asegurarnos de que dividiera las tareas demasiado grandes en partes más pequeñas. Mi gerente estaba más en la línea de que debería decirle directamente que no asumiera tareas difíciles. No estoy del todo contento, pero ya veremos.
Los equipos autoorganizados en un entorno de desarrollo Agile (cualquier entorno, en realidad) pueden ser cosas maravillosas y producir grandes resultados tanto tangibles (producto) como intangibles (cultura, moral, etc.). Pero en la base de los equipos autoorganizados que funcionan suelen estar estos principios básicos :
Por lo que describe, su equipo tiene algunos problemas con tres de estas cosas: alguien no es competente en algún aspecto del trabajo, los intentos de colaborar y resolver este problema no van bien, y debido a eso, la confianza y el respeto probablemente estén sufriendo. también.
Esto no hace que el equipo sea feliz y productivo, como bien sabes... y esto es precisamente lo que tiene el gerente del equipo (o el líder del equipo, o como llames a la persona a la que reportan oficialmente los miembros del equipo). intervenir y manejar a la persona que está teniendo dificultades con algún aspecto del proceso debido a algo que le falta. En este caso, la falta de habilidad para juzgar adecuadamente las tareas a realizar, la falta de habilidad para pedir ayuda y colaborar productivamente, etc.
Estas no son cosas que el resto del equipo debe resolver, incluso si es un equipo autoorganizado; todavía hay un gerente funcional cuyo trabajo debería ser resolver estos problemas.
Ahora, habiendo dicho todo eso, ustedes (¿todos?) deben ser elogiados por elegir un montón de cosas que son completamente razonables y que generalmente funcionan en estas situaciones . ¿Eliminar la capacidad de "elegir" por un momento y decirle a la persona directamente qué hacer? Gran idea, y también una que el gerentedebe ser responsable, no los miembros del equipo, a menos que no sea oneroso para todos ustedes (pero lo será). ¿Empujar a alguien hacia el camino correcto que no ven? Súper, esa es una forma de colaboración. ¿Pero si no llegan allí? Entonces todavía no están allí y estás en la misma posición y más atrás. ¿Programación en pareja? Brillante: funciona para mucha gente, es una excelente forma de colaboración directa, y el hecho de que dudara en hacerlo o hacerlo bien muestra que hay un problema de personas que debe resolver alguien que no sea usted (por ejemplo, el gerente ).
El líder del equipo que me reporta tuvo exactamente esta situación recientemente, y juntos trabajamos en cada uno de los pasos anteriores, 1: 1 entre este gerente y su empleado no del todo a la altura que estaba arruinando el resto del equipo, y el resultado fue que el miembro del equipo fue despedido, no por falta de intentos por parte de todos, sino por falta de aptitud y, hasta cierto punto, de competencia.
Entonces, la solución para que todos ustedes promulguen es que no pueden promulgar una solución. Involucre a su gerente y plantee los problemas tan claramente como lo ha hecho aquí, tanto en términos de lo que ha intentado, dónde salió mal y dónde usted y su equipo necesitan ayuda.
Hay una razón por la que durante cientos de años las tareas fueron asignadas por los gerentes, ya sabes. Te acabas de encontrar por qué.
Si desea continuar haciendo esto (que reconozco que es una moda actual, una que siento que no estuvo bien pensada), entonces tal vez necesite clasificar las tareas según el tipo o nivel de desarrollador que puede asumirlas. Si alguien quiere hacer la transición a un puesto de mayor jerarquía o a uno fuera de su experiencia actual, quizás se le permita asumir esas tareas, pero solo con un tipo específico de orientación (como hacerlo como parte de un par) o solo con la aprobación. del líder del equipo después de que la persona argumente cómo lo manejaría. Es desastroso dejar que los desarrolladores se vuelvan locos en tareas para las que actualmente no están capacitados o no tienen el juicio o la experiencia para poder realizarlas. Es malo para la empresa, es malo para los clientes y, en última instancia, es malo para los desarrolladores que se ven afectados.
Asumir desafíos es bueno. Hacer preguntas es bueno. Tratar de resolver las cosas por sí mismo es bueno. Cualquiera que sea la solución que busques, asegúrate de no dañar los aspectos positivos de él como miembro del equipo, de lo contrario, sufrirás a largo plazo.
Entonces, ¿cuál es el verdadero problema aquí? Has enumerado un montón de síntomas:
Pero ¿por qué sucede esto? ¿Cuál es el mal hábito real en el corazón de estos comportamientos? ¿Es que no se da cuenta cuando ha mordido más de lo que puede masticar? ¿Es que tiene demasiado orgullo para pedir ayuda para abordar el problema desde el principio desde que lo eligió? ¿Es que quiere aprender cosas nuevas pero no tiene una manera fácil de obtener orientación cuando no puede justificarlo como parte de la solución de un problema?
Sugeriría involucrarse antes. Ya que fuiste su mentor y él confía en ti, podrías intervenir antes en el proceso de una manera no amenazante para darle una manera fácil de hablar sobre lo que te está haciendo. Algo como, "Vaya, ese problema en el que estás trabajando parece un desafío realmente interesante. Me encantaría escuchar tu proceso de pensamiento al respecto; siempre estoy buscando nuevas formas de resolver estos problemas más complicados". Es una forma no amenazante de ver cuál es el problema real y ayuda a entrar en una etapa más temprana.
Es mucho más fácil hacer crecer el talento que corregir los malos hábitos. Si comprende mejor su motivación y por qué tiene problemas, puede encontrar la mejor manera de evitar esos escollos mientras lo mantiene motivado y usa esos buenos hábitos para lo mejor. Si quiere una retroalimentación positiva sobre cómo abordar los problemas desafiantes, puede sugerirle buenos problemas para que los aborde y asegúrese de felicitarlo cuando haga un buen trabajo. Si necesita obtener apoyo en las primeras etapas para trabajar en todo el problema antes de comenzar, puede encontrar una manera de establecer un tiempo durante las reuniones del equipo para tener una lluvia de ideas o crear una oportunidad para que trabaje con alguien para el concepto. (pero no hasta el punto de la programación en pareja).
Siempre es más fácil concentrarse en los malos hábitos porque siempre son las cosas molestas que causan problemas a otras personas. El problema es que centrarse en los malos hábitos sin cultivar los buenos corre el riesgo de matar la motivación y embotar su talento natural al hacer que concentre su energía en lo que no es bueno.
No es necesario ser gerente para actuar como tal, apoyar a los miembros del equipo es una buena práctica para cualquier persona en cualquier posición.
Probablemente deberías tener una conversación directa sobre su impacto negativo en el flujo de trabajo del equipo cuando "muerde más de lo que puede masticar". Si puede dar ejemplos puntuales sobre dónde ha dejado caer la pelota y cómo ha impactado al equipo. El objetivo no debe ser solo que deje de exceder su alcance, sino desarrollar una estrategia para perfeccionar las habilidades que necesita para convertirse en un mejor programador. Al menos te estás acercando y teniendo la conversación.
Trate de recomendarle proyectos para que los tome, podría jugar con ellos como si fueran importantes y necesitaran terminarse de inmediato. Si esto no funciona, llévelo a un lado por un momento y siéntelo. Explíquele que es importante aprender lo básico y que, dado que conoce a la empresa, debe concentrarse en las otras tareas. No le digas que tome tareas más simples, encuentra una forma alternativa de decir esto; por ejemplo, diga tomar una tarea que solo use estos 3 archivos que se usan comúnmente (o lo que sea). Puede mencionar cómo a menudo se confunde con algunas tareas y decir que es mejor tomar las que son menos intrínsecas y más cortas para completar.
Podrías decir algo como "Sé que eres ambicioso, y esto es genial, pero teniendo en cuenta que te has estancado en estas tareas, primero debes familiarizarte con las más simples como estas".
Si tiene este problema, el resto del equipo tendrá el mismo problema. Tengo curiosidad por saber por qué esto no se escala al gerente del equipo, porque obviamente habrá algún impacto en el progreso del proyecto como resultado de los retrasos adicionales causados por las ineficiencias. Dado que es un entorno de equipo, y las personas realmente necesitan trabajar juntas en armonía, esto debe resolverse en equipo para que él tampoco lo tome como algo personal. En el peor de los casos, la persona no es adecuada para el equipo (técnicamente o socialmente) y es posible que deba ser eliminada (si nada más funciona). Pero no es realmente su problema el que debe tratar, sino el problema del líder/gerente del equipo, así que asegúrese de plantearlo a la(s) persona(s) adecuada(s).
Con suerte, el gerente se encargará de eso, así que sea sincero con esta persona sobre la posición en la que ha puesto a todos cuando el gerente solicite comentarios. Hágale saber que no le va a mentir y que estas son las cosas que le voy a decir.
Ofrecer ayuda. Si cree que ha tomado una tarea demasiado grande, configure las pautas. Hágale saber que puede dedicarle un breve período de tiempo y luego mostrar algún progreso o abandonar la tarea. Permitir preguntas en un tiempo determinado. No se le permite simplemente interrumpir. Ha abusado de ese privilegio durante algún tiempo.
Si él es reacio a programar parejas, no debe esperar que funcione al principio. Se va a resistir ya ser difícil como un niño. Empeorará antes de mejorar. Sientes que esto es importante, apégate a él hasta que se sume a bordo o sufre las consecuencias. Y debe haber consecuencias.
Me parece que todo el mundo estaría mejor si no hiciera nada en lugar de todos estos esfuerzos contraproducentes. Incluso si se asigna a sí mismo una tarea, ponga a alguien más en ella también. Simplemente no veo lo que tienes que perder. El jefe se dará cuenta mucho antes.
HLGEM
Programador de Cincinnati
ala de cera
Cazador de ciervos
ala de cera
jcmeloni
ala de cera
usuario5305
chris schiffhauer
Thorbjorn Ravn Andersen