Rendimientos decrecientes en desarrolladores adicionales

10

¿Existe un término para describir el punto en el que agregar más desarrolladores a un proyecto de software proporcionará rendimientos decrecientes?

Me doy cuenta de que a un alto nivel, es más complicado que solo un número de desarrolladores en los que el proyecto tendrá una capacidad productiva (ex / estado del proyecto, calidad del desarrollador agregado), pero estoy tratando de llegar a Una forma de relacionar esto con la gestión no técnica a través de la repetición. Básicamente estoy buscando un término que invoque una imagen mental fuerte como "velocidad terminal", a excepción de la Ley de Brook .

smp7d
fuente
2
Creo que ese punto se llama "Ahora". Sin embargo, en serio, debe mostrarles un gráfico, trazando el momento en que se agregan uno / cinco / diez nuevos desarrolladores y el efecto que tiene en la línea de tiempo del proyecto (considerando la pérdida de productividad debido a la mentoría de miembros existentes, errores de nuevos miembros y reprocesos, etc.) )
Finalizado el
14
"Nueve mujeres que dan a luz a un bebé en un mes" es una analogía común que se utiliza para explicar el problema de recursos versus cronología a la gerencia.
dasblinkenlight
2
@dasblinkenlight - "¿Pero qué pasa si tienes a las mujeres trabajando por turnos?" (respuesta típica de gestión no técnica).
jfrankcarr
66
but senior management tends to view it as aggressively negativeLa agenda de la alta gerencia en su caso es doble: reducir los datos de finalización del proyecto por cualquier medio posible y controlar a los desarrolladores. Cualquier vista que vaya en contra de sus nociones preconcebidas será vista como negativa y dependerá de cuán agresivamente intentes "convencerlos" de lo contrario solo te etiquetará como "no un jugador de equipo", por ejemplo. La gerencia habla por alguien que no puede ser controlado.
maple_shaft
1
¿Le preocupan (a ellos?): Horario, riesgo o $, o una combinación de estos. Descubra por qué están más preocupados y aborde por qué más desarrolladores no solucionarán ese problema (y, para ser tomados en serio, proponga una solución alternativa). A menudo es más sutil que el dinero puro o los horarios.
mattnz

Respuestas:

7

Su pregunta incluye la respuesta: el punto de rendimientos decrecientes. Este es el punto donde agregar más recursos cuesta más que el efecto productivo de estos recursos. Ese es un concepto económico básico, por lo que se espera que su gerencia lo sepa de memoria ...

miraculixx
fuente
3
Lo que ha descrito es lo que los economistas llaman el punto de los rendimientos negativos , donde agregar recursos lo deja peor. El punto de rendimientos decrecientes es donde agregar más recursos aún aumenta la producción, pero en una cantidad menor. Por lo tanto, agregar recursos lo deja un poco mejor, pero menos de lo que podría esperar.
MarkJ
@ Mark J Buen punto. Supongo que no estoy necesariamente buscando rendimientos decrecientes o negativos por regla. Solo estoy buscando el punto en que el desarrollador principal / gerente de proyecto diría que no a más recursos. Desafortunadamente, eso no siempre se corta y se seca.
smp7d
6

" Agregar mano de obra a un proyecto de software tardío lo hace más tarde. Un hombre-mes es un concepto de una unidad de trabajo proporcional al número de personas que trabajan multiplicado por el tiempo que trabajan; la ley de Brook dice que esta relación es un mito, y es, por lo tanto, la pieza central del libro. "- Fuente: Wiki-Mythical_Man_Month .

Ninguna posibilidad
fuente
1
"Mi compañero de golf, que también administra una empresa de consultoría de TI, dice que tiene dos programadores de 'cinturón negro' que están disponibles en este momento. Ambos tienen títulos de maestría en ciencias de la computación. Debería poder incorporarlos sin ningún problema , ¿verdad? Quizás aprendas algo sobre cómo programar mejor tu tiempo ".
jfrankcarr
1
@kevincline - "Veo que no eres un jugador de equipo. Te reasigno para que mantengas nuestra aplicación VB6 de 14 años. Aquí hay una copia de ¿Quién movió mi queso? "
jfrankcarr
3
"Veo que no eres un jugador de equipo": también tuve este comentario. Mi respuesta fue una comparación con el fútbol: un buen equipo no trata de meterse en 5 metros cuadrados sino que intenta ocupar todo el campo para que cada jugador pueda ser más efectivo; y los jugadores suelen dar la pelota de un lado a otro según sea necesario. Trabajar en un equipo significa que los miembros del equipo coordinan sus actividades pero trabajan en áreas independientes y no superpuestas del proyecto. Si esto es posible, puede agregar más desarrolladores y aumentar la productividad.
Giorgio
1
@kevin cline: Tal vez esta es la razón por la cual eventualmente se vuelve inútil agregar nuevos desarrolladores a un equipo. Probablemente uno debería dejar de agregar nuevos desarrolladores si no puede encontrar un área que sea bastante independiente del resto del proyecto.
Giorgio
2
La actitud del equipo, el tamaño del proyecto, cuán buena es la situación, la experiencia de los nuevos miembros, el estado actual de los requisitos, etc., son factores importantes a considerar aquí ...
NoChance
4

Condenado a repetir

El pobre Fred Brooks es como Cassandra de la Ilíada de Homero . Si lees el libro del que proviene la película Troya, ella fue la que no se preocupó por el caballo (troyano). Ella predice el futuro con precisión, pero nadie le cree hasta después de que la predicción ha sucedido y lo han visto por sí mismos.

¿No luchar contra la gestión / resistencia pasiva o contrataciones cuidadosas?

Mi consejo es que probablemente no sea un buen día para morir, y que si su gerente quiere que contrate más personal, hágalo. Sugerir algunos parámetros, como conseguir a alguien con experiencia específica y el uso de una técnica de pantalla rápida, triplicará el tiempo de búsqueda y tal vez llegue a su fecha límite antes de que llegue el disruptor.

Minimizar el tiempo que pasa en candidatos poco probables ahorrará grandes cantidades de tiempo. Por ejemplo, cualquier hoja de vida sin sus tres requisitos principales en el primer 1/3 de su hoja de vida se descarta, los candidatos deben pasar una pantalla de teléfono de 30 minutos antes de cualquier entrevista en el sitio, ignorar a los reclutadores que no hacen una evaluación previa de sus necesidades. Abundan otras técnicas, asegúrese de que todo lo que use sea eficiente y efectivo.

Control de la carga de la integración de nuevas contrataciones

Si realiza la contratación antes de la fecha límite y necesita tratar con un nuevo empleado, haga un presupuesto de las personas que no están en el camino crítico para participar en la capacitación. Es útil que los miembros de su equipo vean uno, hagan uno, muestren uno. Si tiene un miembro del equipo de baja a mediana experiencia, fortalecerá su comprensión de sus procesos, conjunto de herramientas y base de código para orientar una nueva contratación en estas áreas.

Con suerte, tiene algo de documentación, por lo que asignar a la nueva persona para que lea la documentación que los ayudará a aumentar es una buena inversión a corto y largo plazo. Deben incorporarse gradualmente a sus procesos, y su trabajo debe ser revisado por personas que puedan evitar que conduzcan el proyecto en la roca con cambios audaces pero dañinos.

Las mejores y peores asignaciones para nuevas contrataciones

Si tiene un proyecto separado o algún desarrollo tecnológico que puedan hacer para prepararse para su uso en un proyecto futuro, eso también podría ser un gran beneficio. Aprender su conjunto de herramientas específico, hacer sus propias compilaciones locales, pruebas de unidad, pruebas de usabilidad, documentación y participación en revisiones son excelentes tareas candidatas para nuevos empleados. Un nuevo empleado puede tener una perspectiva nueva y puede proporcionar comentarios críticos valiosos sobre cosas con las que su equipo aprendió a vivir y que ya no puede ver.

Los usos menos beneficiosos para el nuevo personal pueden incluir reuniones de equipo con gerentes y partes interesadas no desarrolladoras, estimación, obtención de requisitos y gestión (a menos que sean expertos después de haber trabajado en un competidor), patentes y entrevistas a nuevos candidatos o de otra manera ayudar con la dotación de personal.

Mantener la armonía en el equipo, establecer expectativas futuras

Las nuevas prioridades de contratación todavía entran en juego. Si tiene un equipo que ha pasado por la formación, la tormenta, la normalización y la evolución, debe darle al nuevo empleado sus expectativas sobre su desempeño y las responsabilidades planificadas dentro del equipo. No debe hacer que el trabajo del nuevo empleado parezca menos exigente que otros roles en el equipo. Si su equipo está presionando agresivamente hacia los plazos, el nuevo empleado debe tener formas de demostrar que está presionando agresivamente hacia la integración.

DesarrolladorDon
fuente
1

No conozco un término estándar para el punto de rendimientos decrecientes en mano de obra; Dado que el objetivo es convencer a las personas, intente convertir una frase en su lugar:

  • Los "límites de descomposición" pueden ser especialmente relevantes para un proyecto de tamaño mediano.
  • La "barrera aérea de las comunicaciones" evoca la clásica Ley de Brook para grandes proyectos.
  • "los requisitos de iteración de diseño" como una forma elegante de decir "si quieres algo que no sea basura, tomará un poco de tiempo hacerlo hasta la mitad".
tormenta
fuente
0

Un término razonablemente cercano sería el "rango de elasticidad ": la analogía de golpear la región de inelasticidad del precio, cuando reducir aún más el precio no aumenta sus ventas, debe sonar una campana con la administración.

dasblinkenlight
fuente