Durabilité numérique – inadéquation fonctionnelle et marées noires

En cette période d’activité intense sur les enjeux climatopolitiques, à l’occasion de la COP 21 à Paris, j’aimerais attirer l’attention sur une question dont l’impact est certainement moindre que celui du réchauffement planétaire, mais dont les retombées néfastes sont néanmoins très significatives bien qu’elles soient complètement ignorées par les parties prenantes de tous bords.

D’abord un avant goût, pour laisser deviner le sujet :


[Bang ! Jusqu’où peut mener la mauvaise programmation (et peut-être l’excès de café ?) © inconnu]

Puis quelques concepts…

Durabilité

Là, pour le coup, l’étymologie suffit : est durable ce qui dure.

Tant qu’on parlait seulement d’écologie, de biodiversité, de préservation, le discours des verts semblait moral : arrêtez de pourrir la nature c’est pas gentil ! Avec ce genre d’arguments on ne va nulle part (sauf peut-être au bûcher), il suffit d’ouvrir les livres d’histoire pour s’en convaincre.

Par contre, quand on comprend qu’on finit par payer d’une manière ou d’une autre les dérèglements de la nature provoqués par ignorance et/ou cupidité, que la facture du présent finit toujours par arriver dans le futur, ça change la donne. Au bout du compte l’enjeu est économique et ça, c’est un message que tout le monde peut comprendre – même si beaucoup le rejette encore.

C’est simple et c’est pas nouveau : si on investit un peu plus au départ, on obtient une solution plus viable. Ça coûte d’abord un peu plus cher mais, à la fin, on s’en sort mieux. Ce principe s’applique à tout : l’environnement, l’urbanisme, l’agriculture, l’énergie… tout.

L’idée a fait son chemin et les valeurs qui en découlent font maintenant (durablement) partie des enjeux politiques (même si le chemin reste long pour assumer toutes nos dérives) : il faut faire durable.

Evidemment, ça dépend toujours de la fenêtre temporelle prise en compte : plus tard arrivera ladite facture et plus on s’en fout. Mais bon – cette subtilité technique n’est pas pertinente ici.

Adéquation fonctionnelle

Quand on parle d’outils numériques, pour mesurer leur performance on évoque « l’adéquation fonctionnelle », c’est-à-dire la mesure dans laquelle les fonctionnalités de l’outil répondent aux besoins : si les fonctionnalités sont insuffisantes c’est pas bon. Si elles sont trop nombreuses c’est pas bon non plus car celles qui nous intéressent sont noyées dans la masse des options inutiles, ce qui les rend difficilement accessibles. Dilbert résume très bien cet enjeu :

© scott adams

Et pour prendre la mesure de cette adéquation il faut bien entendu s’attarder à définir les besoins, et de manière vérifiable si c’est possible, n’est-ce pas, pour s’assurer qu’on tient le bon bout.

Bizarrement, cette pratique de bon sens est absente de la plupart des processus de développement, notamment pour les outils destinés au grand public : on se demande toujours, à la fin, simplement, si l’outil est cool, ou nouveau, ou beau – rarement si ça répond effectivement aux attentes. Enfin, il paraît que ça change mais il suffit de regarder autour de soi pour en douter.

Anomalies

Une anomalie est un comportement fonctionnel qui diffère de sa spécification.

Le jeu de fonctionnalités de l’outil correspond en quelque sorte à l’intention : c’est ce qu’on a voulu mettre en œuvre. Comme on vient de le voir, cet ensemble peut coller plus ou moins aux besoins.

Mais quel que soit le périmètre retenu et sa pertinence, il s’agit d’une certaine manière de la théorie du projet de développement – la pratique, c’est le fonctionnement lui-même :  ça marche ou pas ?

En général, la question n’est pas «Y a-t-il des anomalies ? » mais « Combien y a-t-il d’anomalies ? », étant a priori entendu qu’il est impossible d’éradiquer absolument tous les bugs jusqu’au dernier.

Il est quand même étrange qu’on accepte ça. Quand une voiture a un problème, par exemple, on la fait réparer – à moins que le souci soit d’ordre… logiciel : il faut alors attendre la prochaine version qui corrigera peut-être le bug. Si l’électricité ou la plomberie sont défaillants dans un logement, on appelle le spécialiste et on corrige.

Je suppose qu’on en est venu là parce que ça a toujours été ainsi : il y a des bugs depuis l’apparition de l’informatique, c’est endémique. Quand on creuse un peu on nous explique que c’est incontournable – c’est une question de combinatoire.

Combinatoire

La combinatoire est l’envergure quantitative des combinaisons possibles entre les différents constituants d’un système. Il suffit en général d’un relativement petit nombre de constituants pour définir un ensemble astronomique de combinaisons possibles.

Dans notre contexte, les constituants sont combinés de manière séquentielle : ce sont les chaînes possibles d’événements logiciels successifs qui sont innombrables et qui donnent lieu à autant d’états machine, dont certains échappent aux précautions algorithmiques – ce qui provoque des bugs.

On accepte la frustration de vivre avec des outils comportant des anomalies parce qu’il est paraît-il impossible de toutes les prévoir, à cause de la combinatoire – qu’on appelle le plus souvent la complexité.

Or, il est tout à fait possible d’annihiler virtuellement tout dysfonctionnement logiciel, notamment à l’aide des pratiques modernes des tests programmatiques. Mais cette stratégie alourdit les tâches de développement, donc les coûts – et pourquoi s’embêter puisque les utilisateurs n’y croient pas ?

Marketing

On vient de voir deux enjeux cruciaux pour la qualité d’un outil numérique : son adéquation fonctionnelle et sa mise au point. Le marketing classique, non durable, dont le rôle est de maximiser les marges immédiates de l’éditeur d’outils numériques, agit de façon négative sur ces deux fronts.

D’une part, comme le marché est plus ou moins fini (toute évolution démographique mise à part) le risque permanent est de le saturer – de vendre un truc qui réponde à tous les besoins et qui soit pratiquement éternel car, contrairement aux voitures, aux vêtements et à l’électroménager, le logiciel ne s’use pas. Et un marché saturé, bien évidemment, c’est une mauvaise nouvelle pour la performance commerciale. C’est là que le marketeur intervient : il commande aux développeurs des nouvelles versions, différentes, plus riches, plus mieux, et propose même à ses clients un prix d’ami pour passer de l’ancienne version à la nouvelle. Parallèlement, il travaille la main dans la main avec le constructeur d’ordinateurs qui, lui aussi, bien que les performances machine soient tout à fait suffisantes pour 99% des usages informatiques d’aujourd’hui depuis plus de 10 ans, fait tout pour fourguer de nouveaux engins qui vont 10 fois plus vite – mais avec de nouveaux OS qui, étrangement, demandent aussi 10 fois plus de puissance. Je vous fais grâce de l’équation mais on voit bien le génie à l’œuvre ici : c’est toujours mieux et c’est pareil.

D’autre part le marketeur, puisqu’il se soucie des marges, doit bien évidemment prendre en compte les coûts de développement. Et comme chacun sait, 80% du logiciel demande 20% du budget, et ce sont les 20% restant, correspondant justement aux améliorations et à l’éradication des anomalies, qui demandent 80% du budget. La tendance est donc de jouer la carte de l’inéluctabilité des bugs, de la complexité, de la combinatoire, pour livrer des solutions imparfaites. D’autant plus que ces imperfections pavent la voie aux versions subséquentes et, encore plus fort (là, il en mouille sa culotte, le marketeur), au support technique payant.

C’est encore Scott Adams qui résume le mieux ce paradoxe :

© scott adams

Vous avez dit conflit d’intérêts ? Well, peut-être, mais c’est avec ce moteur que tourne l’industrie logicielle depuis une trentaine d’années.

Concrètement

Dans les faits, pour tenter de ne pas (pas encore) faire un bouquin de cette histoire, voyons quel est l’impact tangible de la situation.

Nous subissons aujourd’hui de plein fouet l’hystérie du marketeur fou. Les systèmes d’exploitation sont truffés de pièges qui gonflent les forums d’utilisateurs. Et les logiciels d’usage courant, qui sont aussi gangrenés par l’ingénierie laxiste, sont de plus en plus difficiles à utiliser tellement l’hypertrophie fonctionnelle en noie les usages les plus simples et les plus habituels. Cas d’espèce : la bureautique.

Les solutions proposées par Apple (Pages, Numbers, Keynote…) ne pourront jamais concurrencer sérieusement Office pour des raisons de base installée, mais on y constate une sobriété fonctionnelle qui se démarque des outils Microsoft. A mon avis, cela reste trop riche pour la plupart des utilisateurs mais c’est déjà une meilleure approche. Le jeu de fonctionnalités est réduit, les menus directs, c’est la doctrine du pragmatisme. On pourrait faire encore beaucoup plus simple mais on sent au moins une intelligence de l’usage qui tente de résister aux impératifs du marketing – ou qui sert un marketing à plus longue vue, durable.

Par contre, quand on ouvre Word, Excel ou PowerPoint, qu’on utilise forcément tout le temps pour échanger avec le monde entier, c’est bien pire. Utilisateur de ces logiciels depuis leur apparition dans les années 80, j’ai toujours suivi le mouvement et on pourrait dire que je suis un power user. J’ai aussi dirigé une société qui comptait 25 salariés que je devais équiper en outils matériels et logiciels, et j’étais aux premières loges pour mesurer la maîtrise de ces outils par leurs utilisateurs, et l’évolution de cette maîtrise au fil des ans. Ce que j’ai constaté alors c’est que la connaissance de l’outil diminuait au fil du temps à mesure qu’il s’enrichissait de fonctionnalités diverses. Et ce que je constate encore maintenant tous les jours autour de moi, et personne apparemment ne le conteste quand j’en parle, c’est que la grande majorité des utilisateurs de ces outils n’en connaissent environ que 10%, et ne sont à l’aise qu’avec la moitié de ce périmètre visible – soit 5% de l’offre fonctionnelle.

Vous avez parcouru les menus d’Excel récemment ? Ou les palettes de PowerPoint ? Qui utilise le mode Plan sous Word ? La fusion de fichiers ? On peut aussi parler d’OpenOffice, de LibreOffice ou de NeoOffice, mais le périmètre fonctionnel et la logique opérationnelle de ces suites étant calqués sur Microsoft, on a le même problème.

Impact économique

Bon, du mauvais design on en voit tous les jours. Rien n’est jamais parfait, c’est normal.

La situation est spécialement pourrie ici dans la mesure où le cercle vicieux qui maintient le niveau de satisfaction aussi bas est systémique, ce qui fait qu’on ne peut guère espérer d’amélioration : tous les concurrents sont sur le même modèle et celui qui voudrait la jouer small is beautiful n’aurait aucune chance de percer. Mais faisons aussi abstraction de ces considérations sur l’avenir de l’industrie.

Parlons seulement du présent, parlons d’aujourd’hui – aujourd’hui même, le 13 décembre 2015

Combien y a-t-il d’utilisateurs d’Office ? Microsoft en revendique 1,2 milliards (c’est ici), soit environ un terrien sur 6 si on en croit Wikipedia, qui nous compte 7,35 milliards en juillet 2015 (on n’est pas à 6 mois près). Est-ce vraisemblable ? Si on pose que la population active représente 50% de la démographie (certainement plus dans les pays émergents), en ne prenant pas en compte les étudiants et les retraités pourtant aussi utilisateurs, l’assiette tombe à 3,7 milliards. Quelle est la part de cette population qui, sur tous les continents, travaille sur un ordinateur avec des outils bureautique ? On dit ici que 41% des emplois chinois sont dans les services… En tant qu’économie émergente cela pourrait servir comme estimation basse de la moyenne mondiale. Combien sont-ils là-dedans à travailler sur ordinateur ? Pour un compte rond, disons 1 sur 3,7, ce qui donnerait 1 milliard, pas loin du chiffre de Microsoft.

OK. 1 milliard d’utilisateurs d’Office, en englobant aussi ses clones pour être sympa. Disons aussi, par prudence, qu’ils y passent seulement la moitié de leur temps, sur des horaires de 8 heures par jour.

Vous commencez à comprendre… Sur la Terre, on en est donc à 4 milliards d’heures passées chaque jour sur Office au minimum. Ce sont des outils de productivité : on n’est pas tout le temps en train de vouloir faire une mise en page, écrire une formule ou chercher une transition – on fait de la saisie, et on réfléchit aussi à ce qu’on cherche à dire, démontrer, présenter… Mais posons qu’on passerait normalement 10% du temps sur ces enjeux fonctionnels, ma théorie est qu’ils demandent entre 2 et 4 fois plus de temps qu’ils ne devraient – disons 30%, soit un surcoût de 20%. Sur 4 milliards il y aurait donc 800 millions d’heures inutilement passées à tenter de faire fonctionner des outils convenablement – tous les jours que Dieu fait.

Le corollaire, évidemment, c’est que la très grande majorité des utilisateurs finit par laisser tomber tous les aspects qualitatifs d’un document et présentent des textes illisibles, des tableaux indéchiffrables et, bien sûr, des présentations assommantes – ce que notre bien aimé Tufte exprime très bien ici, et illustre ainsi :

© edward tufte
© edward tufte

Le coût de ces inadéquations dans l’information est sans doute encore bien pire que celui du temps perdu à bien faire (durabilité, là encore) mais, bien que je tente ici de mesurer l’immesurable, je n’irai pas jusque là.

Enfin, pour arrondir, et ne pas me faire accuser d’exagération, je propose une base d’évaluation du coût horaire de ces 800 millions d’heures perdues à $1,25 – ce qui est forcément bien en-dessous du salaire horaire médian planétaire, et ne prend pas en compte les coûts annexes du travail (locaux, matériels, encadrement…). Avec cette estimation ridiculement conservatrice, on arrive à l’hypothèse qu’un milliard de dollars sont gaspillés tous les jours pour des raisons d’hypertrophie fonctionnelle et de contrôle qualité déficient.

Mais que pourrait-on bien faire avec 365 milliards de dollars par année ?

A titre d’exemple, la COP 21, pour financer les efforts des pays du Sud, cherche 100 milliards… et personne n’y croit. Le budget total de l’Union Européenne en 2011 (derniers chiffres que je trouve – cela concerne les enjeux administrés par l’UE et non le budget de tous les pays membres) était de 140 milliards (après conversion €/$). Et j’ai trouvé ici que le budget global de tous les pays de la CEDEAO (« composante occidentale de la Communauté économique africaine ») était en 2015 de 57 milliards de dollars – la CEDEAO inclut (dans l’ordre décroissant du budget) le Nigeria, le Ghana, la Côte d’Ivoire, le Sénégal, le Mali, le Niger, le Burkina Faso, le Bénin, la Guinée, le Togo, le Liberia, le Cap Vert, la Sierra Leone, la Gambie, la Guinée-Bissau… pour une population totale de 327 millions d’habitants, soit près de 5% de la population planétaire.

Impact vital

Evidemment, ce n’est pas parce qu’on ferait des économies que tout cet argent serait récupérable pour des causes justes et humanitaires, mais ça fait quand même rêver…

On dit que la vie n’a pas de prix mais rien n’est plus faux. On sait très bien qu’avec un seul dollar, s’il est correctement utilisé en plein d’endroits sur la planète pour éduquer, nourrir, vacciner, construire… on en sauve, des vies. Quand on choisit d’investir dans des projets d’image, de mettre quelques centaines de millions sur un chantier d’architecture prestigieux, sur des infrastructures de luxe, combien de vies sacrifie-t-on à ces impératifs ? Je ne les remets pas forcément en question à condition que nous agissions en connaissance de cause, conscients de nos choix et de leurs conséquences.

Ces 365 milliards de dollars de bénéfice annuel supplémentaires se retrouveraient dans les investissements, dans les impôts, dans le pouvoir d’achat. Ils créeraient (théoriquement) de la richesse à partager.

Une marée noire comme une autre

Une marée noire coûte très cher à la communauté et tout le monde le déplore. Les errements de l’industrie logicielle coûtent chaque année plus de 20 fois le prix de l’explosion de Deepwater Horizon dans le Golfe du Mexique, en 2010, la plus grande catastrophe pétrolière à ce jour. Chaque année, année après année… Mais personne n’en parle. Le problème c’est qu’on ne visualise pas – alors imaginez un truc qui soit 20 fois pire que ça :

…et qui ne s’éteigne jamais.

Zéro bug et totale adéquation

On peut sortir dès maintenant des logiques de l’inflation fonctionnelle et de la fatalité des dysfonctionnements. Il faut continuer la recherche mais la réorienter : arrêter de tenter de faire plus et plus vite, pour faire mieux et plus fiable.

Je le cite moi-même en ces pages, Henry Ford disait « If I’d asked my customers what they wanted, they would have said: a faster horse ». Ce dont ont besoin les utilisateurs n’est pas du tout évident à circonscrire car ils n’en ont souvent eux-mêmes qu’une idée floue et/ou fausse. Ici, le Ford d’aujourd’hui proposerait peut-être un cheval plus proche des usages et plus fiable. C’est là que la recherche doit se développer et de grands progrès spectaculaires pourraient être réalisés rapidement si on s’en donnait la peine. Pour l’instant, on est plombés par le marketing et aussi l’éducation, qui manque dramatiquement de réflexion sur le sujet – mais on y viendra.

Epilogue

Oui, je sais que ma tambouille quantitative prend l’eau de partout, que certains virages sont un peu raides et que, forcément, après le dernier bug il y en aura toujours un autre. Mais même si on divise mes estimations pourtant conservatrices par 10, l’enjeu reste majeur.

Au fond de tout ça, la question est d’après moi celle des bien inusables (les logiciels, les systèmes d’exploitation) ou virtuellement inusables (les ordinateurs). Au début de l’informatique grand public, on découvrait tellement de nouveaux usages, tellement rapidement, que cette dynamique d’innovation constituait une force d’érosion comparable à une tempête de sable : les outils devenaient vite obsolètes. Mais maintenant, c’est fini tout ça. Dans les bureaux les techniques de management évoluent, et certains outils informatiques peuvent refléter cette progression mais, en termes de besoin, les moyens de production n’ont pas bouger depuis, allez, disons 10 ans pour intégrer les développements sur le net mais autrement ce serait 20. Et Internet apporte, avec ses applications spécialisées, ses propres solutions. L’industrie bicéphale de l’ordinateur et du logiciel est donc aux prises avec un problème inédit : comment alimenter la croissance avec un marché inerte ? Déjà que les biens usables ne s’usent pas assez vite pour les industriels qui en programment l’obsolescence. Mais ce qui ne s’use vraiment pas pose de gros problèmes pour le modèle économique de l’industrie en perpétuelle expansion.

Mais je ne suis pas complotiste : je ne prête pas aux dirigeants de ces entreprises une vision machiavélique des enjeux, des intentions cyniquement contreproductives au service du profit et de la bourse. Parlez à n’importe quel commercial : il est bien convaincu 1) que la valeur de l’outil est proportionnelle au nombre de ses fonctionnalités et 2) qu’un outil logiciel comporte nécessairement de nombreuses anomalies. Les pratiques ont évolué naturellement ainsi parce que c’était la seule voie possible pour la survie de ces entreprises. C’est la sélection naturelle, comme toujours, qui a consolidé cette stratégie.

Il faudrait donc maintenant que l’adéquation fonctionnelle et la fiabilité parfaite deviennent des vraies valeurs, pour que soient sanctionnés les produits déficients. Ça ne viendra pas d’un mouvement, ni d’un impératif moral (ni d’un malheureux billet de blog) mais , depuis la fin du siècle dernier, la durabilité et la décroissance ont commencé à faire leur chemin, et c’est cette prise de conscience profonde et généralisée qui sera le moteur du changement (optimiste, toujours). C’est un peu l’âge adulte de l’humanité qui se profile.

Après l’agriculture biologique et le commerce équitable, c’est l’informatique durable qu’il faudrait désormais labelliser pour alerter les publics et les développeurs à cet enjeu.

[visuel d’en-tête © xkcd.com]

Une remarque sur “Durabilité numérique – inadéquation fonctionnelle et marées noires

Laisser un commentaire