Article publié initialement dans le magazine Programmez!
Introduction
Qu’est-ce qu’un bug ?
Comment gérer les bugs ?
Faut-il nécessairement les corriger ?
Ne doit-on corriger que des bugs ?
Il n’y a pas de « bonne » réponse à l’ensemble de ces questions. La notion de « bug » est floue. On n’y trouve d’ailleurs pas, à l’heure actuelle, de définition sur le glossaire de l’ISTQB. La définition Larousse est celle-ci :
« Défaut de conception ou de réalisation d’un programme informatique, qui se manifeste par des anomalies de fonctionnement de l’ordinateur. »
Ici le bug est lié à un défaut de conception entrainant un comportement qui diverge par rapport à l’attendu… Sans pour autant définir ce qui est vraiment l’attendu.
Pour définir l’attendu on peut imaginer une déviance par rapport à des exigences ou des spécifications, une déviance par rapport à l’attendu d’un utilisateur, un comportement surprenant ou tout élément pouvant provoquer de la frustration.
La définition n’étant pas claire il devient complexe de savoir comment les gérer et donc s’il faut les corriger. Comment s’assurer que des comportements non désirés mais non considérés comme bugs en fonction de la définition adoptée fassent l’objet de correctifs (ou au moins d’une réflexion sur leur correction).
Bref, ces réflexions ne nous aident pas à beaucoup avancer… Et comme le présente Zoé Thivet dans sa conférence, la notion de bug semble encore buggée.
Afin d’apporter des vrais éléments de réponse, je vous propose de sortir du logiciel et de penser à un jardin.
Il était un jardin…
Imaginons le jardin d’une maison indépendante décrit avec ce plan :

Le jardin est organisé autour d’une maison avec des carrés concentriques subdivisés par des zones bien délimitées.
Parmi ces zones on a :
- Un parterre fleuri autour de la maison dont le rôle est de mettre en valeur la maison
- Un chemin en gravier qui permet de faire le tour de la maison et d’accéder facilement à toutes les parties du jardin
- Une zone jardin décoratif en face de la maison afin de proposer une belle vue aux personnes dans la maison
- Une zone de jeux pour permettre aux enfants de s’amuser dans le jardin sans abîmer des plantes ou zones non prévues à cet effet
- Une zone avec des arbres fruitiers pour avoir des fruits de saison
- Une zone pour le potager afin de permettre d’avoir des fruits et légumes de saison tout au long de l’année
- Une haie (de cyprès) qui fait le tour de la maison, qui protège des regards extérieurs et du vent
Maintenant que la description théorique est finie, place à la vie dans ce jardin ! Et son lot de désagréments.
Les désagréments constatés
Maintenant que notre jardin a été conçu et implémenté, il est temps de vivre avec !
Malheureusement, malgré une conception qui paraissait super, il y a différents éléments qui posent questions, créent une gêne voire même sont carrément problématiques.
Voici la liste des désagréments qui sortent du lot :
- Certains habitants de la maison ont découvert qu’ils avaient une allergie au pollen des cyprès. Les mois de février et mars sont très compliqués !
- Il y a de l’herbe qui pousse dans le potager, ce qui gêne dans l’arrosage et la récolte
- Le parterre de fleurs génère des graines et des fleurs poussent sur le chemin
- Des herbes rampantes non désirées poussent sur le chemin
- Des fleurs décoratives s’avèrent envahissantes avec notamment des racines traçantes
- Il n’y a que très peu de fleurs en automne et au début de printemps dans le jardin décoratif
- Il y a un cerisier dans la zone de jeux, un arbre fruitier qui devrait être dans une autre zone et qui peut potentiellement être dangereux pour les enfants.
- L’albizia du jardin décoratif demande énormément d’entretien et crée des tensions avec les voisins
- La terre du potager n’est pas très riche, ce qui génère de petites récoltes
- L’arrosage doit être quotidien en été. Un jour sans arrosage peut engendre la mort de plantes
- Les enfants ont tendance à jouer dans tout le jardin
- Les framboisiers sont avec les arbres alors qu’il serait plus logique, pour les habitants, de les avoir dans le potager qui est suffisamment grand.
Au final le jardin ressemble plus à cela :

C’est sûr, il va falloir faire quelque chose car la multiplication des désagréments devient vite problématique.
Il me semble également important de faire remarquer que certains des désagréments, comme celui des plantes envahissantes, sont pourtant conformes avec la description initiale.
L’organisation de la gestion des désagréments
Avant de décider quoi que ce soit, il est important de connaître ses ressources comme les outils (ou l’argent pour en acheter) et le temps que l’on peut accorder au jardin.
Ensuite, il faut également savoir quel est le degré d’irritation de chaque désagrément, son évolution à long terme et les moyens possible pour les corriger.
Pour le temps et les ressources, c’est assez simple :
- La famille a 30 minutes par jour du lundi au vendredi et jusqu’à 6 heures par week-end sur les 3 prochains mois (soit 6x3x4 = 72 heures) pour la correction des désagréments. Le reste du temps est dédié à l’entretien du jardin avec notamment l’arrosage (1 heure par jour en été) et son évolution.
- La famille a un budget pouvant aller jusqu’à 1000 € pour l’achat d’un outil ou faire venir des pros. Le budget ne sera dépensé qui si cela est vraiment nécessaire
- La famille dispose déjà d’outils fonctionnels de bases pour l’entretien de son jardin (petite tronçonneuse, taille haie, pelles, pioche, broyeur, râteaux… et de l’huile de coude !)
Il est maintenant important d’étudier chaque désagrément.
Pour cela nous établirons plusieurs paramètres pour chacun d’eux. Ces paramètres seront :
- La conformité au plan (Conforme / Non conforme)
- Le niveau de désagrément : négligeable, relativement gênant, problématique et horrible
- Les évolutions possibles : se règlera tout seul, stable, empire, empire très vite
- Les solutions envisagées et leurs coûts
- Les actions retenues
Ces différents critères permettront de créer des fiches de désagrément (ou tableaux Excel ! :o) afin de prioriser les désagréments :
| N° désagrément | Nom | |
| Conformité | Niveau | Evolution |
| Solutions possibles | ||
| Action retenue | ||
La gestion des désagréments
Il est temps de passer à l’analyse de ces désagréments. Le résultat obtenu par la famille est celui-ci :
| N° 1 | Nom : allergie aux cyprès | |
| Conforme | Niveau : problématique | Évolution : stable |
| Solutions possibles : Couper les cyprès mais besoin de refaire une haie pour se protéger du vent (demande environ 40 heures de travail ou fait intervenir un professionnel sur 4 jours : 1200€) Inconvénient de la solution : il y a des cyprès chez les voisins ! Faire une désensibilisation | ||
| Action retenue Faire la désensibilisation car il n’y a pas de preuve que l’autre solution soit efficace | ||
| N° 2 | Nom : herbe dans le potager | |
| Non conforme | Niveau : relativement gênant | Évolution : empire |
| Solutions possibles : Pailler le potager ou mettre du paillis (demande achat de « mulch » (Environ 250€ nécessaire pour tout le potager) ou d’un broyeur (500€ mais réutilisable régulièrement)) | ||
| Action retenue Achat d’un broyeur car permet de gérer les restes des tailles des arbres (et de la haie) et d’avoir un paillage pour tout le jardin | ||
| N° 3 | Nom : fleurs sur le chemin | |
| Non conforme | Niveau : négligeable | Évolution : se règlera tout seul |
| Solutions possibles : Ne rien faire car les fleurs c’est joli et ce n’est que des annuelles Arracher les pousses des fleurs à la main ou avec des outils Enlever les graviers pour mettre du géotextile et remettre des graviers | ||
| Action retenue Ne rien faire | ||
| N° 4 | Nom : herbes rampantes sur le chemin | |
| Non conforme | Niveau : relativement gênant | Évolution : empire très vite |
| Solutions possibles : Enlever les graviers pour mettre du géotextile et remettre des graviers Arracher à la main (à faire régulièrement, par exemple pendant l’arrosage) Gratter la terre avec un outil pour enlever rapidement des nombreuses herbes puis remettre les graviers déplacés Mixer les 2 points précédents Ne rien faire (mais les graviers seront alors très vite recouverts) et c’est moche ! | ||
| Action retenue La solution d’arrachage à la main ou avec les outils en fonction du moment | ||
| N° 5 | Nom : fleurs envahissantes | |
| Conforme | Niveau : relativement gênant | Évolution : empire très vite |
| Solutions possibles : Arracher toutes les fleurs envahissantes à la main (chronophage : 4 heures) maintenant Arracher les fleurs envahissantes plus tard (+ 1 heure par mois) Ne rien faire (mais perdre les autres fleurs puis avoir ces fleurs partout dans le jardin) | ||
| Action retenue Arracher les fleurs maintenant puis replanter avec de nouvelles non envahissantes et qui ont une floraison étalée sur l’année (lié au point N°6) | ||
| N° 6 | Nom : manque de floraison au printemps et en été | |
| Conforme | Niveau : négligeable | Évolution : stable |
| Solutions possibles : Ne rien faire Mettre des fleurs qui fleurissent aux moments souhaités (ex : crocus au début du printemps) | ||
| Action retenue La 2ème car en synergie avec le point N°5 | ||
| N° 7 | Nom : Cerisier dans la zone de jeux | |
| Non conforme | Niveau : négligeable | Évolution : stable |
| Solutions possibles : Ne rien faire : propose de l’ombre en été aux enfants Installer une balançoire sur une grosse branche (50 € et 1 heure) Couper l’arbre (tronçonneuse trop petite, nécessite d’investir dans un nouvel outil : 300 €) | ||
| Action retenue Installer la balançoire car cela fait plaisir aux enfants ! | ||
| N° 8 | Nom : Arbre qui demande beaucoup d’entretien | |
| Conforme | Niveau : problématique | Évolution : empire |
| Solutions possibles : Couper l’arbre (la tronçonneuse actuelle est suffisante : 2 heures) Ne rien faire (très chronophage et relation tendue avec le voisinage) Tailler l’arbre (4 heures pour diviser l’entretien par 2 mais arbre moins beau et à réeffectuer tous les ans) | ||
| Action retenue : Couper l’arbre | ||
| N° 9 | Nom : terre du potager pauvre | |
| Conforme | Niveau : relativement gênant | Évolution : se règlera tout seul |
| Solutions possibles : Ne rien faire Pailler le potager à l’aide du broyeur (synergie avec désagrément N°2) Ajouter du fumier dans le potager (1 heure)Acheter du mulch | ||
| Action retenue Le paillage au fur et à mesure des broyages (étalé sur plusieurs mois) et le fumier | ||
| N° 10 | Nom : arrosage quotidien | |
| Conforme | Niveau : problématique | Évolution : stable |
| Solutions possibles : Ne rien faire (mais ne pas pouvoir partir en week-end ou en vacances sans trouver quelqu’un pour arroser) Installer un arrosage automatique sur les parcelles demandant le plus d’arrosage (400 € + 8 heures) | ||
| Action retenue Arrosage automatique pour le potager, le parterre et le jardin décoratif. Dans le cas de vacances, demander à quelqu’un de passer 2 à 3 fois par semaine pour les arbres et regarder si tout va bien | ||
| N° 11 | Nom : les enfants sont partout ! | |
| Non conforme | Niveau : relativement gênant | Évolution : se règlera tout seul |
| Solutions possibles : Ne rien faire, en grandissant ils feront plus attention Définir avec les enfants des zones interdites : parterre, potager et jardin décoratif Installer des barrières pour empêcher les enfants d’aller là où on ne le souhaite pas (1000+ €, 30 heures de travail) | ||
| Action retenue : Définition des zones interdites avec sanction s’ils y vont seuls | ||
| N° 12 | Nom : des framboisiers avec des arbres | |
| Non conforme | Niveau : relativement gênant | Evolution : stable |
| Solutions possibles : Les déplacer dans le potager pour ne pas oublier de les arroser et leur proposer, à terme, une meilleure terre (2 heures de travail) Ne rien faire pour les laisser à l’ombre ce qui est important pour les framboisiers | ||
| Action retenue Ne rien faire car les framboisiers seront plus heureux à l’ombre des arbres | ||
Remarques sur les choix effectués
Comme vous pouvez le constater, la moitié (6/12) des désagréments est conforme à la description initiale. Cela ne veut pas dire qu’ils ne sont pas réels et qu’il ne faut pas agir.
Des solutions ont été sélectionnées en pesant le pour et le contre mais aussi en fonction des ressources et des synergies possibles comme avec le broyeur qui permet de gérer le problème de la qualité de la terre et de l’herbe dans le potager (les désagréments N°2 et 9).
Il est temps de faire un bilan de ce cette gestion des désagréments !
Les résultats de la gestion des désagréments
Les choix à faire n’ont pas été simples.
Néanmoins, on peut constater que la gestion des désagréments permet de :
- Rester dans le temps total disponible (moins de 30 minutes par jour) et en tout moins de 50 heures de travail sur les différents week-ends
- Rester dans le budget de 1000 € (950 €)
- Résoudre des problèmes qui ont été jugés comme les problèmes principaux.
Vous noterez que :
- Le niveau de désagrément dépend du ressenti de la famille qui a le jardin
- Le temps et l’argent disponibles dépendent aussi de la famille
- L’évolution n’est pas forcément facile à anticiper
- Les solutions apportées dépendent des connaissances de la famille
- Les solutions ne sont pas toujours celles auxquelles on pense dans un premier temps
Au-delà de la caractérisation des désagréments, la manière de les solutionner ou non va également dépendre du contexte et de possibles synergies. Les solutions peuvent venir de l’extérieur comme pour l’allergie aux cyprès. Il est donc important de prendre en compte des éléments extérieurs au jardin.
Le jardin, après la correction des désagréments, n’est ni le jardin conçu ni le jardin tel qu’il était avant les modifications apportées pour répondre aux désagréments. Il ressemble plus à cela :
Comme vous pouvez le constater : il n’y a plus d’herbes dans les allées, les enfants ne sont plus dans le potager… et la haie est toujours là !
Enfin, le jardin continue de vivre, de nouveaux désagréments vont apparaître, certains qui n’étaient pas visibles vont le devenir et il sera indispensable, pour la famille de continuer à l’entretenir !
Et le rapport avec les services numériques et les bugs ?
Il est maintenant temps de revenir au sujet initial : les bugs !
Les « bugs » sont des éléments difficiles à définir ! Ils sont, à l’image des désagréments, plus ou moins importants, plus ou moins conforme à de l’attendu (présent dans des spécifications, exigences ou User Storys)… ont leur apportera (ou non) des solutions plus ou moins variées.
Si l’on prend l’exemple de la haie, cela pose un vrai problème à un membre de la famille qui est allergique. La solution a été de garder la haie mais de faire une désensibilisation. On peut faire le parallèle avec un service numérique compliqué à utiliser. Une solution pourrait être d’améliorer l’UX mais aussi de proposer une formation adéquate afin de pouvoir se servir correctement et facilement de ce logiciel.
Si l’on se penche maintenant sur la gestion des bugs. Il est important de savoir les organiser et les regrouper afin d’avoir une vue d’ensemble. Cela permet de se poser et de définir, avec les moyens disponibles, la meilleure stratégie dans son contexte.
Pour les bugs on parle généralement d’impact (ou sévérité) et de priorité. Dans le jardin on a abordé un niveau de désagrément (pour la sévérité) et une évolution de ce désagrément. Il est important de ne pas se fier à un seul indicateur !
De même, il est préférable d’étudier plusieurs manières pour répondre à un bug. L’idéal est de trouver la cause racine et de régler cela mais ce n’est pas toujours possible. Les échanges avec des membres de l’équipe sont très souvent particulièrement fructueux et permettent de trouver des solutions auxquelles on n’avait pas forcément pensé.
Enfin, dans certains cas, la solution peut être de ne justement rien faire et de laisser les choses évoluer comme elles le souhaitent, certains bugs sont devenus des fonctionnalités très appréciées (comme les dossiers cachés !)
Un grand merci ) Julien Cahu et Zoé Thivet pour leur revue et leurs retours qui ont permis d’améliorer fortement cet article.
Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test
Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles
N’hésitez pas à faire vos propres retours d’expérience en commentaire.


