RĂ©inventer la roue
Réinventer la roue est une expression qui signifie réinventer quelque chose de déjà existant, ou plus généralement faire quelque chose devenu inutile. Cette expression fait référence à la roue, l'une des plus anciennes inventions de l'homme.
Explication
C'est une pratique d'ingénierie assez commune chez les débutants consistant à vouloir, à juste titre, se doter d'outils à court terme pour produire plus efficacement à moyen et long termes, mais en ignorant l'éventualité que cet outil est déjà disponible à moindre coût dans l'environnement de production.
Le cas de la roue, en tant que fondement technologique du transport mécanique, est assez caractéristique de l'outil disponible pour déplacer des charges importantes à moindre frais : nul ne prétendrait vouloir la réinventer. Dans d'autres domaines de compétence, et en particulier l'ingénierie informatique qui en fait un antipattern, il est très courant de réinventer inutilement des éléments de base tels que des structures de données (liste chaînée, tableau, etc.) ou des procédures courantes (parcours hiérarchique, tokenisation), alors que ces composants sont disponibles dans les bibliothèques logicielles, dans des déclinaisons très performantes et maintes fois éprouvées.
On peut cependant considérer que réinventer la roue peut avoir une certaine utilité au niveau de l'apprentissage d'un métier ou d'une technique. L'immersion dans la problématique et son éventuelle solution apporte une approche initiatique certaine, ce qui s'avère utile dans le contexte de la formation professionnelle.
Réinventer la roue carrée
La variante « réinventer la roue carrée » ajoute au sens de cette expression le fait que la chose « inventée » est une mauvaise invention, de par son inutilité intrinsèque.
Réinventer la roue carrée est une pratique assez courante chez les ingénieurs inexpérimentés, ayant soit une mauvaise connaissance du problème (roue carrée), soit une mauvaise connaissance des solutions courantes (roue cabossée). C'est un antipattern dont le résultat est une piètre version d'un artefact courant, alors qu'utiliser une version standard aurait été bien plus rapide, facile, et aurait donné de bien meilleurs résultats. Bien que l'expression soit couramment utilisée dans le cadre des antipatterns en génie logiciel, l'idée est applicable à tout type d'ingénierie.
Roue carrée ou roue cabossée ?
On peut clairement identifier deux types de « mauvaise roue », conçues pour résoudre un problème récurrent, avec chacune ses caractéristiques :
- la roue carrée
- Il s'agit d'une solution qui n'existe pas pour le problème concerné, car cette solution est visiblement un mauvais concept, au point que personne n'ait voulu l'implémenter ou le publier. Inventer cette roue carrée est donc probablement une mauvaise idée, car c'en est le besoin même qui est remis en question.
- la roue cabossée
- Il s'agit d'une solution qui existe mais qui a été mal réinventée, au point qu'elle est nettement inférieure aux solutions classiques existantes et disponibles. Utiliser cette roue n'est pas en soi une mauvaise idée, mais l'avoir réinventée l'est clairement.