CHAPITRE QUATORZE
Conception
Les logiciels deviennent généralement plus coûteux à modifier au fil du temps.
Je n'ai pas connaissance de bonnes études à ce sujet,1 mais je pense que c'est quelque chose que tous les programmeurs ont connu. Au début d'une nouvelle base de code, nous sommes incroyablement productifs, mais au fur et à mesure que le temps passe, les changements deviennent de plus en plus difficiles.
C'est un problème pour le modèle Agile. Si le changement devient nettement plus coûteux au fil du temps, le modèle Agile n'a pas de sens. Au lieu de cela, la chose intelligente à faire serait de prendre autant de décisions que possible dès le départ, lorsqu'elles sont les moins coûteuses. En fait, c'est exactement ce que les méthodes pré-Agile ont essayé de faire.
Pour qu'Agile fonctionne, le coût du changement doit être relativement plat, voire diminuer au fil du temps. Kent Beck en a parlé dans le premier livre de XP :
[Une courbe plate du coût du changement] est l'une des prémisses de XP. C'est la prémisse technique de XP... Si une courbe de coût du changement aplatie rend XP possible, une courbe de coût du changement abrupte rend XP impossible. Si le changement coûte très cher, tu serais fou d'aller de l'avant sans avoir bien réfléchi. Mais si le changement reste bon marché, la valeur supplémentaire et le risque réduit d'un retour d'information ...