Faire évoluer un logiciel c’est comme jouer à Tetris.
Au début c’est facile. Les nouvelles pièces qui tombent représentent les fonctionnalités demandés par le client. Il n’y a pas encore trop de code, c’est propre, on peut facilement intégrer les nouveaux blocks.

Mais au fil du temps la quantité de code à maintenir augmente, sa qualité se dégrade, il y a des trous dans vos lignes de Tetris.
Vous y arrivez encore, il vous reste un peu de marge de manoeuvre, vous faites tourner les pièces pour adapter la demande du client à votre existant.
En anticipant un peu vous auriez pu prévoir un emplacement pour accueillir la prochaine pièce à venir sans la faire tourner.

Malheureseument vous n’avez pas refactoré votre code à temps. Votre client à un nouveau besoin. Bien qu’il soit simple, c’est la modification de trop, votre code explose: GAME OVER
La métaphore est de Régis Medina lors des rencontres agiles de mardi dernier.

The Tetris et le développement logiciel by Aurélien Pelletier, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.0 France License.
Related posts:
J’ai aussi beaucoup apprécié le parrallèle
“L’objectif c’est de jouer le plus longtemps possible”
Pingback: Christian Fauré » Blog Archive » HardCore Tetris