Estamos desarrollando un producto que requiere que 3 equipos trabajen juntos: mi equipo trabaja en el desarrollo web, el equipo B trabaja en el sistema integrado y el equipo C nos une (para decirlo de manera simple). Hay un propietario del producto que es responsable del producto general (comercial, técnico) y un director de proyecto que gestiona el progreso del proyecto. Hacemos lanzamientos mensuales.
Así que diré que es un típico equipo de desarrollo de productos de funciones cruzadas. Una cosa que me molesta desde el punto de vista de la gestión de proyectos es que el director del proyecto enviará las estadísticas sobre la "productividad" de todos al final de cada versión, por ejemplo, las horas de trabajo (según su hoja de cálculo), las tasas de corrección de errores ( cuántos errores corrigió), cuántos errores introdujo al implementar una nueva característica, etc.
Para mí, como gerente del equipo AI, no veo la utilidad de eso. Entiendo que está haciendo su trabajo y en este caso tal vez quiera mantener informados a los interesados, a cada uno de nosotros, sobre el avance del proyecto. Tal vez quiera recordarles a todos lo que hicimos bien o mal en este lanzamiento. Sé que Scrum tiene un gráfico de quemado y, en teoría, deberíamos intentar que nuestro chat de quemado parezca una línea recta. Pero por mi propia experiencia eso rara vez sucede. Pero scrum es otro tema en el que no quiero involucrarme en esta pregunta.
Entonces, ¿es típico enviar estadísticas como esta? ¿Cuáles son los pros y los contras de esto?
---- actualizar ---
Como ya dije "no veo la utilidad de eso". Pero como él seguirá haciendo eso, necesito ver si hay algún "lado positivo". Esa es una de las principales razones por las que hice esta pregunta. Tuvimos algunos lanzamientos mensuales que tenían más errores que otros meses. Entonces, ¿las estadísticas les recordarían a todos que debemos hacerlo mejor la próxima vez (aunque lo dudo mucho)?
En algunos países, esto podría incluso ser ilegal sin la aprobación de los sindicatos, por lo que importa mucho dónde se encuentre.
Pero dejando de lado el aspecto legal: esto puede llevar a consecuencias no deseadas:
Este tipo de estadísticas suelen ser una señal de advertencia de que un paquete de software se está estancando y muriendo. Las otras 2 respuestas han cubierto mucho, pero agregaré algunas cosas:
Los desarrolladores productivos cometen errores, los malos desarrolladores nunca han cometido ninguno:
Sí, la mala gestión es típica.
La filosofía central aparente aquí es algo llamado gestión de "teoría X". Es decir, los desarrolladores son perezosos y no harán ningún trabajo si es posible, por lo que deben ser monitoreados de manera muy precisa y pública.
No estoy diciendo que un enfoque autoritario y de baja confianza nunca funcione en ninguna industria. Pero al menos en el software, uno no puede acosar y avergonzar para obtener buenos resultados. Es un campo lo suficientemente complejo como para que uno necesite que la gente se preocupe al menos un poco. Entonces, si los teóricos tienen razón y los desarrolladores son flojos, ya está jodido. Y si los desarrolladores son, de hecho, personas motivadas deseosas de ayudar a la empresa a lograr sus objetivos, tratarlos de una manera abiertamente irrespetuosa no es una buena manera de mantenerlos así.
Dejando a un lado las cosas de la teoría X, ¿qué pasa si este gerente tiene éxito en obligar a los desarrolladores a hacer exactamente lo que se les pide que hagan? Eso seguiría siendo un mal resultado. Las métricas son solo medidas estrechas del mundo y todas ellas tienen resultados perversos. Se pueden jugar. Por lo general, las personas tienen la buena voluntad de no hacerlo, a cambio de ser juzgados por su trabajo de una manera que tiene en cuenta más que solo mediciones. En este caso, el precio de los malos números es una vergüenza pública, por lo que no creo que haya ninguna razón para la buena voluntad aquí.
Es posible que haya notado que lo que obliga a jugar con las estadísticas también hace que esto sea lo opuesto a un lugar de trabajo psicológicamente seguro o saludable.
Pero, de hecho, en este caso las métricas no solo son defectuosas. son basura Claramente, el gerente estaba demasiado ocupado pensando en formas detalladas de vigilar a los desarrolladores que se olvidaron de darles alguna relación con el valor comercial real. Por lo tanto, no se necesita una gran cantidad de pensamiento para ver dónde pueden diferir los dos. Por ejemplo, ¿por qué corregiría un error importante cuando podría corregir 10 sin sentido? ¿Por qué arreglaría uno importante rápidamente cuando podría causar defectos menores? ¿Por qué serías el mentor de un compañero de equipo? ¿Por qué incluso ayudaría a un compañero de equipo si dañara su productividad personal? ¿Por qué haría algo que mejorara o acelerara el desarrollo en el futuro si ahora lo ralentiza? ¿Por qué haría algo creativo o arriesgado si lo ralentiza o corre el riesgo de fallar? Otras respuestas ya agregan mucho más a esta lista.
Una vez que publique estos números, incluso si la gerencia no recompensa/castiga activamente a los desarrolladores en función de estos números, los desarrolladores se compararán con otros. Van a tratar de establecerse como alguien que produce un bajo número de defectos. Si bien eso es probablemente exactamente lo que espera el PM, tiene una serie de efectos secundarios indeseables, algunos de los cuales ya se mencionaron en las otras respuestas.
Hay un dicho que aprendí hace muchos años:
If you work a lot, you make a lot of mistakes.
If you work less, you make fewer mistakes.
If you don't work at all, you make no mistakes.
If you make no mistakes, you get promoted.
También conocida como la ley de las consecuencias no deseadas. Como desarrollador de software, cuando desarrollo una característica, hay un punto en el que no se considera terminado, por lo tanto, tiene muchos errores. Luego llega un punto en el que todo está terminado, pero todavía hay muchos errores. Luego reduzco el número de errores, luego los reduzco aún más a cero.
Mientras reduzco la cantidad de errores, básicamente hago el trabajo de control de calidad, excepto que entregarles un código que está lleno de errores es ineficiente. Se vuelve eficiente cuando el número de errores es tan bajo que entregarlo al control de calidad es mejor que buscar los errores yo mismo. Si encuentro y soluciono todos los errores antes de entregar, eso es realmente ineficiente, porque son mejores para encontrar errores. Ahora bien, si soy juzgado por la cantidad de errores que produzco, la ecuación cambia para mí. Hacer un trabajo ineficiente me da un mejor resultado. Así que adivina lo que haré.
Hay muchas historias en las que se juzgó a los desarrolladores y al control de calidad según la "cantidad de errores encontrados" y la "cantidad de errores corregidos". Es obvio que un desarrollador agregaría un error intencionalmente, le diría a QA dónde está y, cuando QA encuentre e informe el error, lo solucione en dos minutos. Ganar/ganar para dos empleados a expensas de la empresa.
Kilisi
helena
Qiulang邱朗
Qiulang邱朗