Le génie logiciel repose sur des principes essentiels souvent négligés. Voici 6 lois incontournables à connaître et à appliquer pour réussir vos projets de développement.
Ajouter des développeurs à un projet en retard complique les communications et les tâches, aggravant les retards.
Loi originale (anglais) : "Adding manpower to a late software project makes it later."
Traduction française : "Ajouter des ressources humaines à un projet logiciel en retard le rend encore plus tardif."
Auteur : Fred Brooks (1931-2022). Fred Brooks était un informaticien américain, auteur du livre classique The Mythical Man-Month. Il a dirigé le projet IBM System/360 et a marqué le domaine du génie logiciel par ses observations sur la gestion des projets complexes.
Explication : Ajouter du personnel à un projet en retard aggrave les délais à cause de la complexité de communication accrue. La solution réside dans une planification initiale rigoureuse et une gestion stricte des priorités.
La structure du logiciel reflète la manière dont les équipes de l'organisation collaborent.
Loi originale (anglais) : "Any organization that designs a system will inevitably produce a design whose structure is a copy of the organization's communication structure."
Traduction française : "Toute organisation qui conçoit un système produira inévitablement un design reflétant sa propre structure de communication."
Auteur : Melvin Conway (1938- ). Melvin Conway est un informaticien américain, connu pour son article influent en 1968 qui a introduit la "Loi de Conway". Il a été un pionnier dans la conception des systèmes informatiques complexes.
Explication : Les systèmes logiciels reflètent l’organisation qui les a créés. Pour concevoir des logiciels efficaces, il est essentiel d'aligner la structure organisationnelle sur les besoins du projet.
Les tâches complexes prennent toujours plus de temps que prévu, même en prévoyant des marges.
Loi originale (anglais) : "It always takes longer than you expect, even when you take into account Hofstadter's Law."
Traduction française : "Cela prend toujours plus de temps que prévu, même si l’on tient compte de la loi de Hofstadter."
Auteur : Douglas Hofstadter (1945- ). Douglas Hofstadter est un universitaire américain, spécialiste des sciences cognitives et auteur du livre Gödel, Escher, Bach : An Eternal Golden Braid, qui explore les liens entre la logique, les arts et l'intelligence artificielle.
Explication : Les projets prennent souvent plus de temps qu’on ne l’imagine à cause d’imprévus et de sous-estimations. Une planification réaliste et des ajustements réguliers sont essentiels.
Tout ce qui peut mal tourner le fera. Concevez des systèmes robustes pour minimiser les erreurs possibles.
Loi originale (anglais) : "Anything that can go wrong will go wrong."
Traduction française : "Tout ce qui peut mal tourner tournera mal."
Auteur : Edward A. Murphy Jr. (1918-1990). Edward Murphy était un ingénieur en aérospatiale américain. Il a formulé cette loi en travaillant sur des tests de tolérance humaine à l’accélération.
Explication : Cette loi invite à anticiper les pires scénarios pour concevoir des systèmes robustes et résistants aux erreurs.
La méthode 80-20 : 20 % des efforts produisent 80 % des résultats.
Loi originale (anglais) : "For many events, roughly 80% of the effects come from 20% of the causes."
Traduction française : "Pour de nombreux événements, environ 80 % des effets proviennent de 20 % des causes."
Auteur : Vilfredo Pareto (1848-1923). Économiste et sociologue italien, Pareto a observé que dans de nombreux contextes économiques, une petite proportion de la population possède la majorité des richesses. Cette observation a été élargie à d'autres domaines sous le nom de "principe de Pareto".
Explication : La loi de Pareto, souvent appelée la règle des 80/20, suggère que dans de nombreux systèmes complexes, une minorité des causes ou des efforts génère la majorité des résultats. Par exemple, 80% des ventes d'une entreprise peuvent provenir de seulement 20% de ses clients.
Suivez les normes de manière stricte, mais soyez flexible avec ce que vous recevez.
Loi originale (anglais) : "Be conservative in what you do, be liberal in what you accept from others."
Traduction française : "Soyez strict dans ce que vous produisez, mais flexible dans ce que vous acceptez des autres."
Auteur : Jon Postel (1943-1998). Jon Postel était un informaticien américain, connu pour ses contributions fondamentales à l'élaboration des protocoles Internet et pour son rôle en tant que rédacteur des RFC, des documents techniques clés dans la standardisation d'Internet.
Explication : Cette loi encourage la robustesse des systèmes en suivant strictement les normes pour produire des données, tout en tolérant des variations dans les données reçues pour favoriser l'interopérabilité.