Java, Architecture, Web2.0

Aurélien Pelletier’s Weblog

Tetris et le développement logiciel

December 20th, 2007 by Aurélien Pelletier

tetris1.pngFaire é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.

tetris2.png

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.

tetris3.png

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.

Filed under Uncategorized having

2 Responses

  1. Claire Says:

    J’ai aussi beaucoup apprécié le parrallèle :)

    “L’objectif c’est de jouer le plus longtemps possible”

  2. Christian Fauré » Blog Archive » HardCore Tetris Says:

    [...] Je fais un lien entre la remarque d’Aurélien Pelletier sur la métaphore entre le refactoring et le jeu Tétris d’un côté, et de l’autre côté l’évolution des interfaces graphiques des logiciels précédemment évoquée dans la note GameWare. [...]

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.