Article original : Don’t Live with Broken Windows

Par Simon Foster

Hier soir, j'ai commencé à lire The Pragmatic Programmer par Andrew Hunt et David Thomas. Un conseil pratique qui m'a immédiatement sauté aux yeux comme utile dans ma quête pour devenir un meilleur programmeur : Ne vivez pas avec des fenêtres cassées.

La théorie est la suivante : un bâtiment abandonné avec une seule fenêtre cassée attire d'autres fenêtres cassées, des graffitis, des déchets et donne l'impression que personne ne se soucie de ce bâtiment. Cependant, cela peut être évité si les autorités réparent la fenêtre immédiatement.

Image

Vous pouvez appliquer cette théorie à d'autres aspects de la vie, comme garder votre cuisine propre. Après avoir passé des heures à nettoyer votre cuisine pour la rendre impeccable, vous faites un effort pour la garder propre. Mais si votre cuisine est encombrée de poêles sales, laisser une tasse ou un bol sale supplémentaire ne fera pas une grande différence.

Les implications de cette théorie pour l'ingénierie logicielle sont que si vous prenez soin de garder votre code propre, il restera ainsi. Si vous savez que quelque chose est cassé mais que vous ne prenez jamais le temps de le réparer, d'autres bugs et problèmes s'y glisseront, jusqu'à ce que ce soit un désordre que personne n'ose toucher.

Image

Nous avons un site web qui commence à devenir un peu buggé. Il n'est pas cassé, mais cela fait un moment que personne ne lui a accordé d'attention. Certaines de ses fonctionnalités commencent à devenir instables.

Étant le seul programmeur dans mon lieu de travail, je n'ai rarement le temps de penser à ce site web, et encore moins de m'asseoir et de le maintenir.

Mais le nombre d'appels de support liés a progressivement augmenté — plus de fenêtres se cassent — et je passe de plus en plus de temps à corriger ses bugs pour garder les gens satisfaits.

Maintenant que je connais le principe des fenêtres cassées, je sais exactement quoi faire : m'asseoir avec ce site web pendant quelques jours et découvrir ce qui cause exactement ces problèmes.

Ensuite, je reconstruirai les parties instables, remplacerai le verre fissuré proverbial et nettoierai quelques murs en même temps.