Dilemme du jardinier
18 février 2015 Laisser un commentaire
Cela fait maintenant de nombreuses années que je m’interroge sur l’utilisation du numérique. Ces nouveaux outils modifient en profondeur nos habitudes et notre vie quotidienne a dû s’adapter à l’omniprésence du numérique. Un aspect qui m’intéresse plus particulièrement est l’impact de ces usages du numérique sur les phases d’analyse dans le génie logiciel. En général, une des premières étapes consiste à analyser les besoins du client. Cette analyse est cruciale, car les études ont montré qu’une erreur dans la modélisation coûte jusqu’à 200 fois plus chère à réparer dans les étapes ultérieures du développement. La principale difficulté est donc de spécifier un premier modèle qui correspond aux attentes du client. Or la plupart du temps, les analystes ne tiennent pas compte de la pratique actuelle des usagers. Auparavant, un employé ou un client avait un accès limité à l’informatique et au réseau. Aujourd’hui, presque tout le monde a un ordinateur avec un accès à internet à sa disposition (téléphone intelligent, tablette, PC, ordinateur portable, etc.), que ce soit au travail ou bien à domicile.
Plutôt que de tenir compte de ces aspects, une tendance consiste à essayer d’aller à l’encontre de ces usages. Il s’agit de ce que j’appelle le dilemme du jardinier. Je n’ai rien inventé, cet exemple a déjà été utilisé dans différents domaines d’application, mais je trouve qu’il illustre assez bien le problème. Un jardinier a la charge de gérer un jardin public et de le maintenir dans de bonnes conditions. A son grand désespoir, de nombreux visiteurs ne respectent pas les chemins existants et préfèrent passer à travers les pelouses. Au bout de quelque temps, un sentier se crée à cause des piétinements à répétition sur l’herbe. Plus grave encore, en passant par ce chemin, les visiteurs risquent de trébucher et de tomber dans une mare ou bien de se prendre des branches un peu trop basses d’un arbre centenaire.
Le jardinier a alors deux réactions possibles :
1) Il ne comprend pas cette attitude qu’il considère comme un manque de respect et il prend des mesures restrictives, avec notamment l’installation de barrières et de grilles pour empêcher le passage des visiteurs. « Circulez, il n’y a rien à voir ! »
2) Il se dit que si un chemin s’est créé, c’est probablement parce qu’il y avait une raison qu’il n’avait pas su anticiper (raccourci, passage vers un endroit agréable, panorama, etc.) et que quoi qu’il fasse, il est probable que les visiteurs trouveraient un moyen de contourner les barrières afin de continuer à passer par ce sentier. Il décide alors de sécuriser les zones dangereuses et d’informer les visiteurs des risques. Le jardinier en profite même pour installer des panneaux pédagogiques et des flèches de signalisation pour se repérer.
Le numérique, c’est comme un jardin public, tout le monde se l’approprie à sa manière. Notre rôle en tant qu’informaticien est de comprendre les usages, et de veiller à éviter les situations à risque tout en essayant de répondre à un maximum de besoins. En adoptant le point de vue 1), on risque de négliger les risques encourus par ceux qui veulent à tout prix passer par la pelouse. Et quand on travaille dans le domaine de l’ingénierie des besoins, on sait bien qu’on ne pourra jamais empêcher les usagers d’avoir certains réflexes qui leur semblent « naturels » pour atteindre leur but. Et après tout, un jardin public n’est-il pas fait aussi pour apprécier les pelouses ? Si on met des barrières partout, on arrive à une situation absurde où on ne répond même plus au besoin original … L’important, c’est que le jardin soit préservé, que les arbres, les fleurs et les arbustes soient mis en valeur et protégés, et que les visiteurs soient en sécurité.
En conclusion, il me semble qu’il faut adopter un point de vue pragmatique. Certains usages ne sont pas évidents à intégrer dans notre processus d’analyse et de conception, mais c’est un mal nécessaire. En revanche, il y a certains comportements qu’il faut à tout prix éviter, car ils peuvent mettre en péril l’intégrité des systèmes. Dans ce cas, la pédagogie et une communication adaptée peuvent permettre de résoudre le problème, d’où l’intérêt de prendre en compte tous ces usages du numérique dès la phase d’analyse des besoins.