Diminution des retours sur les développeurs supplémentaires

10

Existe-t-il un terme pour décrire le moment auquel l'ajout de développeurs à un projet logiciel produira des rendements décroissants?

Je me rends compte qu'à un niveau élevé, il est plus compliqué que seulement un certain nombre de développeurs pour lesquels le projet sera à sa capacité de production (ex / état du projet, qualité du développeur ajouté), mais j'essaie de trouver un moyen de relier cela à la gestion non technique par la répétition. Je cherche essentiellement un terme qui invoque une image mentale forte comme "vitesse terminale", à l'exception de la loi de Brook .

smp7d
la source
2
Je crois que ce point s'appelle "maintenant". Plus sérieusement cependant, vous devriez leur montrer un graphique, traçant le moment où un / cinq / dix nouveaux développeurs sont ajoutés et l'effet que cela a sur le calendrier du projet (compte tenu de la perte de productivité due au mentorat des membres existants, aux erreurs des nouveaux membres et au remaniement, etc.) )
Oded
14
«Neuf femmes donnant naissance à un bébé en un mois» est une analogie courante utilisée pour expliquer le problème des ressources par rapport au calendrier à la direction.
dasblinkenlight
2
@dasblinkenlight - "Mais que faire si vous faites travailler les femmes par roulement?" (réponse de gestion non technique typique).
jfrankcarr
6
but senior management tends to view it as aggressively negativeL'agenda de la haute direction dans votre cas est probablement double: diminuer les données d'achèvement du projet par tous les moyens possibles et contrôler les développeurs. Toute opinion contraire à leurs idées préconçues sera considérée comme négative et dépendra de la façon dont vous tenterez de les "convaincre" de manière agressive. La direction parle pour quelqu'un qui ne peut pas être contrôlé.
maple_shaft
1
Êtes-vous (ils?) Préoccupé (e) par - le calendrier, le risque ou $, ou une combinaison de ces éléments Découvrez ce qui les préoccupe le plus et expliquez pourquoi davantage de développeurs ne résoudront pas ce problème (et pour être pris au sérieux, proposez une autre solution). Souvent, c'est plus subtil que l'argent pur ou les horaires.
mattnz

Réponses:

7

Votre question comprend la réponse: le point de rendements décroissants. C'est le point où l'ajout de ressources coûte plus cher que l'effet productif de ces ressources. C'est un concept économique de base, donc votre direction est censée le savoir par cœur ...

miraculixx
la source
3
Ce que vous avez décrit, c'est ce que les économistes appellent le point de rendement négatif - où l'ajout de ressources vous aggrave. Le point de rendements décroissants est où l'ajout de ressources augmente encore la production, mais dans une moindre mesure. L'ajout de ressources vous laisse donc un peu mieux, mais moins que vous ne le pensez.
MarkJ
@MarkJ Bon point. Je suppose que je ne recherche pas nécessairement des rendements décroissants ou négatifs par règle. Je cherche juste le point que le chef de projet / chef de projet dirait non à plus de ressources. Malheureusement, ce n'est pas toujours coupé et sec.
smp7d
6

" L'ajout de main-d'œuvre à un projet logiciel tardif le fait plus tard. Un mois-homme est un concept d'une unité de travail proportionnelle au nombre de personnes travaillant multiplié par le temps de travail; la loi de Brook dit que cette relation est un mythe, et est donc la pièce maîtresse du livre. "- Source: Wiki-Mythical_Man_Month .

Aucune chance
la source
1
"Mon ami de golf, qui gère également une société de conseil informatique, dit qu'il a deux programmeurs" ceinture noire "qui sont disponibles en ce moment. Ils ont tous deux des diplômes de maîtrise en informatique. Vous devriez pouvoir les apporter sans aucun problème , n'est-ce pas? Vous apprendrez peut-être quelque chose sur la façon de mieux planifier votre temps.
jfrankcarr
1
@kevincline - "Je vois que vous n'êtes pas un joueur d'équipe. Je vous réaffecte au maintien de notre application VB6 de 14 ans. Voici une copie de Who Moved My Cheese? à lire."
jfrankcarr
3
"Je vois que vous n'êtes pas un joueur d'équipe.": J'avais aussi ce commentaire. Ma réponse était une comparaison avec le football: une bonne équipe n'essaie pas de s'entasser sur 5 mètres carrés mais essaie d'occuper tout le terrain pour que chaque joueur soit plus efficace; et les joueurs donnent souvent le ballon d'avant en arrière selon les besoins. Travailler en équipe signifie que les membres de l'équipe coordonnent leurs activités mais travaillent sur des zones indépendantes qui ne se chevauchent pas. Si cela est possible, vous pouvez ajouter plus de développeurs et augmenter la productivité.
Giorgio
1
@kevin cline: C'est peut-être la raison pour laquelle il devient finalement inutile d'ajouter de nouveaux développeurs à une équipe. On devrait probablement cesser d'ajouter de nouveaux développeurs si l'on ne trouve pas une zone assez indépendante du reste du projet.
Giorgio
2
L'attitude de l'équipe, la taille du projet, la qualité de la situation, l'expérience des nouveaux membres, l'état actuel des exigences, etc. sont tous des facteurs importants à considérer ici ...
NoChance
4

Doomed to Repeat

Le pauvre Fred Brooks est comme Cassandra de Homer's Illiad . Si vous lisez le livre dont est issu le film Troy, c'est elle qui ne se souciait pas du cheval (cheval de Troie). Elle prédit l'avenir avec précision, mais personne ne la croit jusqu'à ce que la prédiction se soit produite et qu'ils l'aient vu par eux-mêmes.

Ne luttez pas contre la gestion / la résistance passive ou l'embauche prudente?

Mon conseil est que ce n'est probablement pas un bon jour pour mourir, et que si votre manager veut que vous engagiez plus de personnel, faites-le. La suggestion de certains paramètres, comme l'obtention d'une expérience spécifique et l'utilisation d'une technique de filtrage rapide, triplera le temps de recherche et vous atteindrez peut-être votre date limite avant l'arrivée du perturbateur.

Minimiser le temps que vous passez sur des candidats improbables vous fera gagner énormément de temps. Par exemple, tout curriculum vitae sans vos trois principales exigences dans le premier tiers de leur curriculum vitae est lancé, les candidats doivent passer un écran de téléphone de 30 minutes avant toute entrevue sur place, ignorer les recruteurs qui ne présélectionnent pas à vos besoins. Les autres techniques abondent, assurez-vous que tout ce que vous utilisez est efficace.

Contrôler le fardeau de l'intégration des nouveaux employés

Si vous effectuez la location avant votre date limite et que vous devez traiter avec un nouvel employé, prévoyez du temps de personnes qui ne sont pas sur le chemin critique pour participer à la formation. Il est utile que les membres de votre équipe en voient un, en fassent un, en montrent un. Si vous avez un membre de l'équipe ayant une expérience faible à moyenne, cela renforcera leur compréhension de vos processus, de votre ensemble d'outils et de votre base de code pour encadrer une nouvelle recrue dans ces domaines.

Si tout va bien, vous avez de la documentation, donc assigner la nouvelle personne à lire la documentation qui l'aidera à monter en puissance est un bon investissement à court et à long terme. Ils doivent être intégrés progressivement à vos processus et leur travail doit être revu par des personnes qui peuvent les empêcher de conduire le projet sur les rochers avec des changements audacieux mais nuisibles.

Meilleures et pires affectations pour les nouveaux employés

Si vous avez un projet distinct ou un développement technologique qu'ils peuvent faire pour se préparer à son utilisation dans un futur projet, cela pourrait également être un gros avantage. L'apprentissage de votre ensemble d'outils spécifique, la réalisation de leurs propres versions locales, les tests unitaires, les tests d'utilisabilité, la documentation et la participation aux révisions sont toutes d'excellentes tâches pour les nouveaux employés. Une nouvelle recrue peut avoir une perspective nouvelle et peut fournir de précieux commentaires critiques sur les choses avec lesquelles votre équipe a appris à vivre et ne peut plus voir.

Les utilisations moins bénéfiques pour le nouveau personnel peuvent inclure des réunions d'équipe avec des gestionnaires et des parties prenantes non développeurs, l'estimation, la définition et la gestion des exigences (à moins qu'ils ne soient des experts après avoir travaillé chez un concurrent), les brevets et les entretiens avec de nouveaux candidats ou toute autre aide à la dotation.

Garder l'harmonie dans l'équipe, définir les attentes futures

Les nouvelles priorités d'embauche entrent toujours en jeu. Si vous avez une équipe qui a traversé l'évolution de la formation, de l'assaut, de la normalisation, de l'exécution, vous devez donner au nouvel embauché vos attentes pour sa performance et ses responsabilités prévues au sein de l'équipe. Vous ne devez pas faire en sorte que le travail de la nouvelle recrue apparaisse moins exigeant que d'autres rôles dans l'équipe. Si votre équipe pousse agressivement vers les délais, le nouvel employé devrait avoir des moyens de démontrer qu'il pousse agressivement vers l'intégration.

DeveloperDon
la source
1

Je ne connais pas de terme standard pour le point de diminution du rendement de la main-d'œuvre; puisque l'objectif est de convaincre les gens, essayez plutôt de tourner une phrase:

  • les «limites de décomposabilité» pourraient être particulièrement pertinentes pour un projet de taille moyenne.
  • «barrière aérienne de communication» évoque la loi classique de Brook pour les grands projets.
  • "les exigences d'itération de conception" comme une façon élégante de dire "si vous voulez quelque chose qui n'est pas de la merde, il faudra un certain temps pour le faire à mi-chemin."
tempête à venir
la source
0

Un terme raisonnablement proche serait la "plage d' élasticité ": l'analogie avec le fait de frapper la région d'inélasticité des prix, lorsque la réduction du prix n'augmente pas vos ventes, devrait sonner la cloche avec la direction.

dasblinkenlight
la source