đ Le dĂ©veloppement itĂ©ratif et incrĂ©mental (IID), souvent rebrandĂ© « AgilitĂ© », nâest certainement pas une technique nouvelle sur laquelle nous nâaurions pas de recul. Avant que lâOTAN ne crĂ©Ă© lâingĂ©nierie du logiciel en 1968, les dĂ©veloppeurs ont accumulĂ© de beaux succĂšs avec une mĂ©thode que Basili et Turner ont synthĂ©tisĂ©e en 1975.
𩮠Tout commence avec « une implĂ©mentation initiale dâun squelette de sous-problĂšme », autrement dit peu de choses. Les dĂ©veloppeurs viennent ensuite dĂ©piler des tĂąches prĂ©sentes sur une liste, pour bĂątir itĂ©rativement le logiciel.
8ïžâŁ A tout moment, 8 rĂšgles doivent ĂȘtre respectĂ©es :
đ Sâil y a une difficultĂ©, le refactoring doit faciliter sa rĂ©solution
đ Si les modifications ne sont pas circonscrites Ă un module, il faut redesigner.
đ MĂȘme chose pour les tables
đ Plus une itĂ©ration progresse, plus la modification doit ĂȘtre simple Ă achever. Sinon il faut refacto.
đ La durĂ©e de vie dâun patch ne doit jamais dĂ©passer 2 itĂ©rations
đ Le code doit ĂȘtre relu frĂ©quemment Ă la lumiĂšre des objectifs
đ Les outils dâaide au dĂ©veloppement doivent ĂȘtre utilisĂ©s le plus frĂ©quemment possible, pas seulement Ă la fin dâune itĂ©ration
đ Il faut en permanence collecter les retours utilisateurs et amĂ©liorer lâimplĂ©mentation.
đïž Cette mĂ©thode nâa jamais cessĂ© dâĂȘtre appliquĂ©e, mĂȘme si les annĂ©es 80 ont prĂ©fĂ©rĂ© recourir massivement aux mĂ©thodes Waterfall, gonflant les taux dâĂ©chec et ruinant la rĂ©putation de notre profession.
SOURCES
Basili, Victor R. and Albert J. Turner. âIterative enhancement: A practical technique for software development.â IEEE Transactions on Software Engineering SE-1 (1975): 390-396. DOI : 10.1109/TSE.1975.6312870
Enzo Sandré
DOIs: 10.1109/TSE.1975.6312870