Bjarne Stroustrup : « la qualité moyenne des programmes est à pleurer »

Un ami, qui connait ma passion pour le génie logiciel, m’a envoyé un lien vers cet article : La qualité des programmes informatique.Portrait de Bjarne Stroustrup

Je vous conseille vraiment la lecture de ce billet : c’est court, bien écrit, et très instructif !

Le billet parle de la qualité des programmes informatiques, et cite largement Bjarne Stroustrup, le papa du langage de programmation C++.

Voici quelques morceaux choisis :

« Il existe donc d’excellents logiciels. Cependant la qualité moyenne des programmes est à pleurer. Leur structure est affreuse et il saute aux yeux que les programmeurs n’ont pas été attentifs à la cohérence, aux algorithmes, aux structures de données ni à la maintenabilité. Les utilisateurs ne peuvent pas s’en rendre compte parce qu’ils ne lisent pas le code : ils voient seulement les programmes se planter. »

« Comme les programmeurs travaillent sous la pression de l’urgence, ils tentent d’accomplir des miracles en procédant par essais et erreurs, en utilisant la force pure et en faisant beaucoup de tests. Ils sont devenus experts dans l’art de construire, en intégrant des blocs non fiables, un système qui marchera à peu près. »

« Il est dangereux de considérer la programmation comme une tâche banale que pourraient remplir des programmeurs formés en quelques mois. Nous n’admettrions pas cela pour des plombiers, des comptables, des architectes, ni pour ceux qui conçoivent les ponts et les trains. Aujourd’hui trop de programmeurs n’ont pas été assez formés et manquent d’expérience. »

« En théorie, la solution réside dans la formation des programmeurs et l’utilisation de méthodes qui organiseraient la conception des produits en vue de leur utilisation à long terme et de leur maintenabilité. »

Mais en fait on récompense les programmeurs qui produisent à la va-vite des programmes bogués et peu coûteux.

Ces généralités, sur la programmation sont particulièrement vraies pour le web et encore plus pour le e-commerce.

Dans beaucoup de cas, les sites marchands sont développés « à la va-vite », de manière à avoir le plus rapidement possible un prototype qui tourne.

Bien souvent, le prototype restera la base du site marchand, et sera enrichi au fil de l’eau, l’ensemble constituant un édifice de plus en plus bancal.

Bien entendu, j’ai parfaitement conscience qu’il faut faire en fonction de ses moyens !

Quelles sont les conséquences et les risques de fonctionner avec une solution de mauvaise qualité ?

Avoir un site marchand basé sur une application informatique inadaptée :

  1. C’est prendre énormément de risques ;
  2. Cela revient finalement plus cher ;
  3. C’est perdre du business.

1) C’est prendre énormément de risques

C’est un peu comme si le marchand laissait la caisse ouverte en plein milieu de la rue. Mais comme il n’a pas forcément la culture technique, et qu’il ne s’est pas forcément entouré des bonnes personnes, il ne s’en rend pas compte.

La réalité, c’est que fait à la va-vite, la moindre modification du site peut avoir des conséquences insoupçonnées (achat au mauvais prix, processus commande bloqué, …).

2) Cela revient plus cher

Avec une application bancale, il faut régulièrement développer des « patch », pour résoudre à la va-vite les problèmes qui surviennent. L’urgence est traitée, mais l’édifice est de plus en plus fragile, et ces interventions ‘d’urgence’ consomment de plus en plus de ressources. Ces ressources ne peuvent pas travailler sur l’ajout de nouvelles fonctions.

3) Perdre du business

Parce que la solution est inadaptée, elle ne pourra pas s’adapter aux nouveaux besoins : commerciaux, techniques et marketing. Cela impacte donc directement le chiffre d’affaires.

Quelle est la solution alors ?

Si on démarre avec peu de moyens financiers, il me semble tout à fait normal de faire une première version rapide et pas chère.

Il faut juste avoir conscience que c’est une première version, qui devra très probablement être entièrement refaite au bout de quelques mois.

Plus le site marchand évolue, plus il faut avoir une solution technique en adéquation avec les ambitions et à la hauteur des enjeux.

C’est finalement une gestion classique de risque et d’investissement. Il faut juste garder du recul pour faire les bons choix au bon moment.

2 commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *