¿De cuánto código debería ser responsable?

12

A través de colegas y entrevistas de salida, he escuchado que en mi pequeña empresa soy "responsable" de 3 a 10 veces más código del que sería en otro trabajo. Estoy tratando de buscar algún tipo de métrica difusa que pueda usar para comparar mi carga de trabajo con otras en mi campo.

Por "responsabilidad del código", no quiero decir "soy el único que conoce el área X de la base de código" (aunque, lamentablemente, a menudo es cierto en un entorno de inicio), sino que me refiero a un número como "code_base_size / number_of_developers".

¿Hay recursos que pueda usar para ayudarme a medir mi carga de trabajo con más precisión que solo contar líneas de código?

    
pregunta Michael 30.12.2011 - 17:19

5 respuestas

12

La única medida concreta para un desarrollador empleado es la cantidad de horas dedicadas a la codificación y corrección de errores, y el dinero que se le paga por ello. Si se queda hasta tarde en la noche 6 días a la semana por 50 mil dólares al año, entonces tiene un problema. No importa en cuántas líneas de código su jefe quiera que usted sea responsable, usted no manejará más de lo que puede hacer, por supuesto, teniendo en cuenta una cierta calidad de código. Desarrollar código de baja calidad sin pruebas unitarias es una buena manera de manejar mucho más código, pero la compañía tendrá que pagar el precio de un gran deuda técnica .

En small , los desarrolladores tienden a ser responsables de mucho más código que en large corp. El factor 3 a 10 al que te refieres me parece realista.

    
respondido por el Patrick Smacchia - NDepend dev 30.12.2011 - 17:35
6

Conozco a un equipo de tres personas que logró un código base de 1.5 millones de líneas y no se ahogó en él. La medida importante no es la cantidad de código de la que es responsable, sino la cantidad de código que necesita cambiar en un cierto incremento de tiempo.

También está el ángulo de evaluación de riesgos. Si usted es la única persona que conoce un código, ¿cuál es el costo de oportunidad que se perdería si camina debajo de un autobús? Las pequeñas empresas generalmente no realizan evaluaciones de riesgo de esa manera, pero esto significa que el éxito continuo del negocio se deja al azar.

    
respondido por el Joeri Sebrechts 30.12.2011 - 19:57
3
El tamaño de la base del código

/ número de desarrolladores no está relacionado con la carga de trabajo. Si tiene una base de código estable enorme, la métrica será alta. Si tiene una base de código pequeña aún en desarrollo, esa métrica será baja. Los cambios en las líneas por unidad de tiempo por desarrollador están más relacionados con la carga de trabajo. Pero incluso entonces, he pasado días para rastrear errores sutiles cuya solución fue una línea ...

    
respondido por el AProgrammer 30.12.2011 - 18:04
2

El código debe ser responsabilidad del grupo, no de un desarrollador. El apoyo debe delegarse de manera justa cada semana, parece estúpido asignarlo de otra manera. Si ese no es el caso, le sugiero que hable con su gerencia.

En la situación, su descripción de un desarrollador podría estar luchando para cumplir con los plazos debido a la gran cantidad de soporte de un área en la que otros desarrolladores no están trabajando. Es una estructura de gestión muy ineficiente.

También sugiero que se aleje de medir la carga de trabajo en líneas de código. Las horas hombre son la única métrica sensible que puedo pensar

  

Medir el progreso de la programación por líneas de código es como medir   Avances en la construcción de aviones por peso - Bill Gates

NB. No estoy diciendo lo mismo que estoy diciendo bastante. También vale la pena señalar que está bien especializarse en ciertos aspectos de la base del código, eso sucede naturalmente. Es solo un problema si nadie más trabaja en ese código.

    
respondido por el Tom Squires 30.12.2011 - 18:11
2
  

Por ejemplo, si Facebook tuviera 2 programadores, obviamente serían   trabajaba demasiado, pero ¿CÓMO llegarías a esa conclusión? Ese es el tipo   de la pregunta que buscaba.

Esto no es una pregunta de programación, es una pregunta de administración.
Hay algunas preguntas fáciles para responder y no tienen nada que ver con el software.

  1. ¿Cuántas horas trabajas?
  2. ¿Cuántas horas deberías estar trabajando?
  3. ¿Se cumplen los plazos?

Luego sigue esta lógica:

  • Si 1 > 2, necesita más personas o plazos menos agresivos.
  • Si 1 < 2, necesita menos personas o más iniciativas.
  • Si no se cumplen los plazos y 1 > = 2, necesita más personas.
  • Si no se cumplen los plazos y 1 < 2, debe despedir a alguien.

Esta es una simplificación excesiva que tiene dos fallas evidentes.

  • Las personas no son creadas iguales.
  • Hay formas de aumentar la producción de las personas (actualizar su computadora o algo así).

Pero entiendes la idea.

    
respondido por el user606723 30.12.2011 - 18:34

Lea otras preguntas en las etiquetas