The Mythical Man-Month: Essays on Software Engineering est un livre sur le génie logiciel et la gestion de projet de Fred Brooks publié pour la première fois en 1975, avec des éditions ultérieures en 1982 et 1995. Son thème central est que « l'ajout de main-d'œuvre à un projet logiciel déjà en retard sur sa feuille de route fait qu'il sera livré encore plus tard ».Les observations de Brooks sont basées sur ses expériences chez IBM lors de la gestion du développement d'OS/360. Il avait ajouté plus de développeurs à un projet en retard, une décision qu'il qualifiera plus tard de contre-intuitive étant donné qu'elle a retardé encore plus le projet. Il a également fait l'erreur d'affirmer qu'un projet (impliqué dans la rédaction d'un compilateur ALGOL) nécessiterait six mois, quel que soit le nombre de travailleurs impliqués (il fallait plus de temps). La tendance des managers à répéter de telles erreurs dans le développement du projet a conduit Brooks à rire du fait que son livre s'appelle « La Bible du génie logiciel » mais que « tout le monde le cite, certaines personnes le lisent et quelques personnes le suivent ». Le livre est largement considéré comme un classique des éléments humains du génie logiciel.
Le mythique mois-homme
Brooks discute de plusieurs causes d'échecs de planification. Celle dont il parle le plus dans ses observations (appelées aussi lois de Brooks) est que « l'ajout de main-d'œuvre à un projet logiciel déjà en retard sur sa feuille de route fait qu'il sera livré encore plus tard ». Le mois-homme est une unité de travail hypothétique représentant le travail effectué par une personne en un mois ; la loi de Brooks dit que la possibilité de mesurer le travail utile en mois-hommes est un mythe.
Les projets de programmation complexes ne peuvent pas être parfaitement divisés en tâches discrètes qui peuvent être travaillées sans communication entre les travailleurs et sans établir un ensemble d'interrelations complexes entre les tâches et les travailleurs qui les exécutent.
Par conséquent, affecter plus de programmeurs à un projet en retard sur le calendrier le fera prendre encore plus de retard. En effet, le temps nécessaire aux nouveaux développeurs pour en savoir plus sur le projet et l'augmentation des temps de communication consommera une quantité toujours croissante du temps de calendrier disponible. Lorsque n personnes doivent communiquer entre elles, lorsque n augmente, leur production diminue et lorsque n devient négatif, le projet est encore retardé avec chaque personne ajoutée.
Le mythique mois-homme : un développeur peut écrire en moyenne 10 lignes de code logique par jour
Patrick Smacchia est un ingénieur logiciel qui s'est également intéressé à ce livre. Dans un billet,il a paraphrasé le mythique mois-homme, indiquant que « quel que soit le langage de programmation choisi, un développeur professionnel écrira en moyenne 10 lignes de code (LdC) par jour ».
Fort de ses 14 ans d'expérience dans le développement à plein temps sur l'outil NDepend, il a voulu développer un peu.
« Commençons par la définition de la ligne de code logique. Fondamentalement, un LdC logique est un point de séquence PDB à l'exception des points de séquence correspondant à l'accolade de méthode d'ouverture et de fermeture. Nous avons donc ici une méthode de 5 lignes logiques de code par exemple:
« J'entends déjà des lecteurs se plaindre qu'une LdC n'a rien à voir avec la productivité. D'ailleurs Bill Gates a dit un jour : "mesurer la productivité d'un logiciel par des lignes de code, c'est comme mesurer la progression d'un avion...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

" (oui mais en fait non)), et même tout simplement des mauvaises interactions humaines car le savoir-être de la personne en face n'est pas apprécié et que l'envie d'échanger diminue voire disparaît...