Hemos contratado a un desarrollador de software junior que se ha destacado en todas las métricas imaginables, excepto en el tiempo que les lleva probar manualmente el código que escriben. Recientemente dejamos ir a nuestro equipo de control de calidad y comenzamos a esperar que los desarrolladores realicen sus propias pruebas en profundidad.
Aquí viene el problema: para una determinada tarea de desarrollo de características que le tomaría a otro desarrollador intermedio/senior escribir 2 meses más reuniones y ayuda mía y de algunos de los otros ingenieros senior que escribieron el código base y 3 días para probar. Le toma 1 mes escribir un código absolutamente hermoso y eficaz de forma independientecon casi 0 defectos y 1-2 semanas para probar. ¡Y lleva con nosotros solo unos meses! La gerencia ha comenzado a rastrear sus tiempos de inactividad (debido al tiempo que le lleva realizar la prueba) y hemos notado que está inactivo el 50 % del tiempo durante los ciclos de prueba, lo cual la gerencia tiene un gran problema porque cree que debería trabajar más y probando sus características más rápido... a pesar de que es nuestro miembro de equipo con mejor rendimiento... en el nivel junior... que también pagamos considerablemente menos teniendo en cuenta el valor que aporta a nuestro equipo.
Realmente no quiero perder a este individuo porque entonces seré el responsable de reemplazarlo... y actualmente lo considero el mejor empleado de mi equipo. Tampoco quiero mencionarle nada porque no le pagamos tanto y siento que probablemente renunciará en el acto (lo encuentro un poco impulsivo) y encontrará un nuevo trabajo si yo traer esto a él. Reemplazarlo con alguien de igual habilidad nos costaría 2-3 veces más de lo que le pagamos actualmente. Y si contratamos a alguien más, estamos asumiendo un gran riesgo de que no podrá hacer el trabajo y terminará teniendo que despedirlo.
Discutí esto con la gerencia y traté de argumentar que deberíamos traer algo de control de calidad para reducir los tiempos de prueba, pero quieren tener una reunión con él y escalar cosas que absolutamente no quiero hacer.
¿Qué debo hacer aquí?
Tienes un problema de gestión. Y, sea cierto o no, debe explicarles que el tiempo que pasa probando es la razón por la que el código es tan bueno y, dado que sigue siendo más rápido que otras personas, tienen dos opciones:
o incluso 3: Date cuenta de que tienen algo muy bueno y asegúrate de tener los recursos para mantenerlo feliz todo el tiempo que puedas, con buenas condiciones de trabajo, mejor paga, lo que sea necesario. Que está brindando suficientes beneficios a la empresa como para que les importe más eso que el tiempo que deja descansar la mente mientras realiza las pruebas. (Y, podría señalar, para algunas personas, que el tiempo de inactividad es absolutamente esencial para tener un tiempo de actividad de alta calidad).
Permítanme reiterar esto : el hecho de que los dedos de alguien no se muevan no significa que estén inactivos. Su gerencia parece pensar que están midiendo algo útil, pero están descontando por completo el tiempo dedicado a pensar, planificar y recargar, todo lo cual es válido y necesario. Pero, como parecen ser algo cortos de vista, la mejor manera es explicar que, mientras está probando, también está pensando y mejorando el producto . Eso puede ser cierto o no, tal vez se esté recargando (lo que hace que el producto sea mejor), pero estoy bastante seguro de que su gerencia no entendería ese concepto. Tal vez se está perdiendo el tiempo, lo que lo hace más feliz y, por lo tanto, mejora el producto. Tal vez podría trabajar aún más eficientemente y, a medida que mejora en las pruebas, se acelerará.
¿Por qué la gerencia no mira a los otros desarrolladores, que son más lentos y menos productivos que su nuevo desarrollador junior? Intente desviarlos hacia sus otros desarrolladores. O, ¿por qué no hacer que ellos hagan las pruebas de su trabajo, ya que son tan rápidos en eso?
Están sucediendo muchas cosas aquí, y no muchas buenas.
Contrató a un desarrollador de software junior que parece estar, en general, muy bien. Ese es un buen comienzo. Sin embargo, los jóvenes necesitan tutoría para aprender y desarrollar sus habilidades. Así que ha elegido a un desarrollador junior, que puede no tener mucho conocimiento y experiencia en buenas técnicas de prueba manual, y espera que sea un probador manual altamente competente sin ningún tipo de tutoría o supervisión de un probador experimentado.
Incluso sin acceso a evaluadores experimentados y evaluadores de control de calidad, su desarrollador junior está escribiendo código con pocos defectos. Además de eso, están completando el paquete de trabajo general de diseño, desarrollo y prueba de la solución en 5 a 6 semanas cuando se estima que un desarrollador intermedio o senior diferente tardaría 8 semanas en hacer el trabajo. Están entregando 2-3 semanas más rápido y aparentemente de mayor calidad de lo que esperaría de una persona de mayor rango.
Cuando se trata de estimar, ¿le preguntó a su ingeniero junior cuánto tiempo tomaría hacer el trabajo? Una de las reglas fundamentales de la estimación es que las personas más cercanas a la obra son mejores en la estimación. Aunque, como junior, es posible que necesiten tutoría en buenas técnicas para comprender y estimar el trabajo. También me preguntaría si tiene sentido estimar el desarrollo y las pruebas de forma independiente o si tiene sentido estimar la finalización de todo el elemento de trabajo.
Esto conduce a "tiempo de inactividad". Medir el "tiempo de inactividad" no significa mucho en el trabajo del conocimiento. ¿Qué significa que están inactivos el 50% del tiempo? ¿Cómo se determina este número? Es posible que desee reconsiderar si esto significa algo, especialmente porque el trabajo se está haciendo más rápido de lo previsto.
Tampoco entiendo la vacilación de tener una conversación con el ingeniero junior para entender lo que está pasando. No tiene que ser una confrontación, pero tales conversaciones deben ser algo habitual entre cualquier gerente o líder de equipo y sus subordinados directos o miembros del equipo. Así es como encuentra y soluciona los problemas.
También recomendaría traer de vuelta a los especialistas en pruebas, de alguna forma. Incluso si su función es ayudar a supervisar y enseñar a los desarrolladores buenas técnicas de prueba, en lugar de ser las personas que diseñan y ejecutan todas las pruebas. Las pruebas son una especialidad y un conjunto de habilidades que no todos tienen. No tener personas que puedan mejorar el estado del arte local y subir de nivel a los ingenieros a su alrededor puede ser un detrimento para el equipo y la organización.
Entonces, en resumen:
Esto es realmente simple. No hay nada malo con el desempeño real de este joven desarrollador. El problema es su rendimiento medido por alguna métrica de rendimiento bastante estúpida. Así que simplemente explíquele lo que debe hacer para sortear esas métricas de rendimiento.
Una vez tuve el problema de que alguien contaba con qué frecuencia registrabas cosas en Perforce. Por lo tanto, pasa dos semanas implementando una función y la verifica. Una verificación en dos semanas, eso es un rendimiento increíblemente malo. Una vez que se le informa, verifica el progreso más pequeño, al menos cuatro veces al día. Eso es un factor 40 en la mejora del rendimiento.
Discutí esto con la gerencia y traté de argumentar que deberíamos traer algo de control de calidad para reducir los tiempos de prueba, pero quieren tener una reunión con él y escalar cosas que absolutamente no quiero hacer.
Argumentaste mal.
Si la gerencia quiere que los desarrolladores realicen el control de calidad y usted no puede hacerlos cambiar de opinión, se acabó. Tienes que trabajar con lo que tienes.
En su lugar, debería haber enfatizado que los diferentes desarrolladores tienen diferentes puntos fuertes y que el desarrollador está haciendo un gran trabajo al ofrecer funciones en general.
Vale la pena señalar que hay dos factores en juego. Son un poco más lentos en las pruebas, claro, pero eso empeora por el hecho de que funcionan más rápido durante el desarrollo.
Pero puedes convertir esto en algo positivo:
Dependiendo del tipo de prueba involucrada, podría ser bueno alentarlo a alternar entre escribir código y probar con más frecuencia (por ejemplo, escribir durante una semana o terminar una pequeña parte de la función y luego probarla). Mencionó que lo encontró un poco impulsivo; quizás en este caso sería mejor intentar convencer a la gerencia de que su desempeño actual ya es bueno. (Especialmente porque es un junior: tratar descaradamente de exprimir más trabajo de un desarrollador junior que ya se está desempeñando mejor que sus superiores sin promoverlo directamente es una forma segura de sacarlo de la empresa, y eso no es en absoluto lo que quieres. )
felipe kendall
jeff
jueves
jeff
Seth R.
We recently let our QA team go and have started to expect developers to do their own in-depth testing
- ¡Ay! Esa es una bandera roja en sí misma. Los desarrolladores no son probadores, es una disciplina diferente. Tampoco deberían ser responsables de realizar el control de calidad del código que escribieron ellos mismos. Extrañarán los mismos errores que perdieron cuando lo escribieron.isaac corbrey
joe stevens
joeqwerty
Steve
davidg
gnasher729
Joel Etherton
Let go of our QA team
,tracking his idle times
,we considerably underpay him
,hope I don't have to fire him [the highest performer]
. Esto tiene que ser una pregunta troll. Está más allá de mi comprensión que cualquier persona o empresa pueda ser tan mala en la gestión y tan completamente inconsciente.Gregorio Currie
Marcos Rotteveel
Juha Untinen
Dan Masek
daniel r collins