Las métricas funcionan mejor en fábricas y los programadores no funcionan en una línea de ensamblaje.
Entiendo completamente el deseo de medir la productividad.
¿Pero usaría la misma métrica para un médico de familia y un cirujano cardíaco? ¿Qué tal si Miguel Ángel pinta la Capilla Sixtina y algún tipo en México que saca pinturas de terciopelo negro de Elvis?
Louis de Broglie escribió una tesis doctoral que fue tan breve que los examinadores la rechazarían, excepto que De Broglie era un aristócrata muy bien ubicado y necesitaban una buena excusa. Así que los examinadores lo enviaron a Einstein, quien no solo no lo rechazó, sino que lo remitió al comité del Nobel, y De Broglie recibió el Premio Nobel de Física cinco años después.
Las medidas numéricas funcionan mejor en el trabajo que es repetitivo, como fundir hierro o atornillar tornillos en las puertas de los autos. Pero si está repitiendo el código que se ha hecho anteriormente, no necesita un programador, solo necesita copiar y pegar. La programación es fundamentalmente una disciplina creativa, y la productividad depende completamente de lo que estás haciendo.
Algunos días, arranco 1000 líneas de código. Hoy, voy a corregir errores de geometría de coordenadas, y el código podría reducirse. Si tuviera que corregir un error en un controlador del kernel de Linux, podría dedicar todo el día a la depuración y no escribir una línea de código nuevo.
La medición de la productividad del programador es muy, muy, muy subjetiva .
Si desea saber si Joe es productivo, busque a Sally y Ralph, quiénes saben qué está haciendo Joe y tienen competencia en las mismas áreas, y pregúnteles.
El mejor sistema numérico que he visto en mi vida ha sido la planificación de puntos de póquer de Agile. Esa es solo una manera elegante de preguntarle a Joe, a Sally y a Ralph qué tan duro creen que será el próximo trabajo de Joe. Luego puede medir la productividad en puntos por semana para cada miembro del equipo. Pero incluso entonces, toma un tiempo calibrar las estimaciones de un equipo, y los números son confusos y fáciles de descartar.
Muchas personas quieren estimaciones de productividad para poder planificar su programación. Es algo así como la teoría de "enchúfelo a MS Project, observe el camino crítico y está la fecha de envío". Nunca, nunca he visto ese trabajo, hay demasiadas incógnitas. Si quieres eso, usa Waterfall, diseña todo por adelantado, no permitas ningún cambio y prepárate para decepcionarte de todos modos.