đȘ Technologies miracles. Magiciels. No-Code. LinkedIn est farci de charlatans promettant de diviser par 10 le temps de dĂ©veloppement, donc le coĂ»t de ces maroufles de dĂ©veloppeurs. Pourtant Fred Brooks a clot le dĂ©bat il y a 45 ans.
đïž Sâinscrivant dans la tradition aristotĂ©licienne, il distingue lâessence du dĂ©veloppement et les accidents.
đ¶âđ«ïž Lâessence de la profession de dĂ©veloppeur consiste Ă concevoir les structures conceptuelles abstraites des logiciels. Osherove dit que nous bĂątissons dâabord des chĂąteaux de vent. Il sâagit de comprendre les besoins de nos clients et dâen assurer la cohĂ©rence. Cette partie est trĂšs proche du knowledge management.
đïž Les accidents sont tout le reste : contraintes matĂ©rielles, langages peu commodes, gestion de projet datĂ©e, IDE rudimentaires, etc. Avant les annĂ©es 80, la gros de lâeffort de dĂ©veloppement Ă©tait perdu par ces accidents. Pour Brooks, ce nâest plus le cas Ă son Ă©poque (1987). Je pourrais troller sur C ou Javascript, mais ce nâest pas le sujet.
â ïž Le seul moyen de gagner en productivitĂ© dâun facteur 10 ou plus est donc de gagner du temps sur lâessence de notre profession. Câest bien moins simple que dâĂ©carter un Ă un les obstacles accidentels comme nous lâavons fait depuis les annĂ©es 50. Brooks affirme quâil nâexiste aucune technique ou mĂ©thode permettant cela Ă lâĂ©chelle de la profession. Il Ă©tait modeste et affirmait âdans les 10 ansâ. 45 ans aprĂšs, le papier nâa pas pris une ride.
đ±âđ» Restent quatre âhacksâ pour contourner cette loi empirique : acheter un logiciel sur Ă©tagĂšre, utiliser des techniques de prototypage, adopter une approche incrĂ©mentale et recruter un dĂ©veloppeur dâexception. Rien de tout cela ne suffit, mais mis ensembles ces hacks permettent dâatteindre une grande vĂ©locitĂ©.
đ© Ce papier doit ĂȘtre lu par tout dĂ©veloppeur, au cours de sa formation ou ensuite. Il fait partie de notre histoire et de nos lois.
SOURCE
Brooks, Jr, Frederick. (1987). No Silver Bullet Essence and Accidents of Software Engineering. IEEE Computer. 20. 10-19. DOI:10.1109/MC.1987.1663532.
Enzo Sandré
đ Lien public DOIs: 10.1109/MC.1987.1663532