Réinventer la roue

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources ().

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?

Dessin d'une 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.

Sources

  • (en) Steve Kemper, A Story of Genius, Innovation, and Grand Ambition, Harper Business, (ISBN 0-06-076138-5)
  • (en) Peter D. Hershock, A Buddhist Response to the Information Age, State University of New York Press, (ISBN 0-7914-4232-2)

Sur les autres projets Wikimedia :

  • réinventer la roue, sur le Wiktionnaire
v · m
Gestion de la qualité logicielle
Indicateurs de qualité (ISO/CEI 9126)
Compréhension et contrôle du code source
Tests
Métriques
Remaniements
Principes de programmation
SOLID
Mauvaises pratiques
Antipatterns
Code smells
Voir aussi : Génie logiciel, Érosion de l'architecture logicielle
  • icône décorative Portail de l’informatique