Un avis ? Un commentaire ?
Cet espace est pour vous.
La qualité logicielle est un sujet qui peut paraître aride au premier abord. Voire, osons le dire, carrément fade.
Si vous travaillez dans le domaine, vous savez qu’il n’en est rien, et qu’il suffit d’y plonger un orteil pour découvrir un monde passionnant. Mais le plus dur, c’est de plonger ce premier orteil !
Voici donc un jeu qui vous aidera à sensibiliser un public néophyte aux enjeux de la qualité logicielle. Ce jeu se base sur la norme ISO 25010.
Entre 15 et 30 minutes (plus il y a de personnes, plus il faut s’attendre à des questions, reformulations, temps morts, blagounettes, quintes de toux, etc).
De 1 à… beaucoup ! À partir de 4 personnes, faites des équipes de 2, 3 ou 4 personnes, c’est plus sympa.
Préparez le matériel.
Sur un tableau blanc, si vous en avez, dessinez un mystérieux tableau à larges colonnes.
C | Pe | Fi | Fo | S | M | U | Po |
Plus tard, vous compléterez le tableau en mettant le nom des 8 facettes de la qualité logicielle définies par la norme ISO 25010 :
Compatibilité | Performance | Fiabilité | Fonctionnalité | Sécurité | Maintenabilité | Utilisabilité | Portabilité |
Révisez donc bien ces 8 facettes ! Vous pouvez par exemple consulter la série d’articles qui existe sur le sujet dans le blog la Taverne du Testeur.
Présentez le dessin de montagnes russes à votre auditoire. Puis, demandez-lui tout ce qui pourrait mal se passer dans ces montagnes russes, ou aux alentours.
Pendant un laps de temps donné (5 minutes peuvent faire l’affaire), chaque personne ou groupe de personnes écrit une idée par post-it. L’objectif de cette phase est de générer un maximum d’idées. Si vous sentez qu’une personne ou qu’un groupe se retrouve à court d’idée, vous pouvez lancer quelques pistes :
Bonjour, c’est un plaisir d’être avec vous aujourd’hui pour parler de qualité logicielle.
Qui se sent déborder d’enthousiasme à l’idée de lire la norme ISO 25010, une des normes les plus connues dans le domaine de la qualité logicielle ? Personne ? Je comprends bien. Les normes en général ça sonne comme quelque chose d’assez ennuyeux.
Alors au lieu de parler de cette norme, on va plutôt la réécrire nous-mêmes, au moins dans ses grandes lignes.
Juste, avant de commencer, est-ce que par hasard il y a des personnes parmi vous qui ont déjà entendu parler de la norme ISO 25010 ?
Et puisque j’ai la chance présentement de ne pas avoir d’écran sous les yeux, je vous propose également d’oublier les logiciels pour quelques instants, et de parler d’autre chose.
Est-ce que quelqu’un comprend ce que j’ai dessiné ?
Bien, et effectivement on ne va pas parler de qualité logicielle, on va parler de qualité de montagnes russes. Qui parmi vous a déjà osé monter dans des montagnes russes ? (Note de l’autrice : pas moi.)
Le système dessiné ici avec un grand talent est constitué des montagnes russes elles-mêmes, des petits chariots, du poste de contrôle, et du guichet qui permet d’acheter ses tickets.
Je vais maintenant faire appel à la facette la plus malicieuse de votre personnalité, et je vais vous inviter à imaginer TOUT ce qui pourrait mal se passer dans ce système. Vous pouvez réfléchir (par groupes de 2 ou 4, le cas échéant), en notant vos idées sur ces post-its. Vous avez 5 minutes, c’est parti !
Une fois que le temps est écoulé, c’est le moment de la restitution !
Chaque groupe présente maintenant les idées générées au cours du brainstorming. Attendez-vous à des moments de rigolade ! Mais vous, conservez bien votre concentration ; il vous faut classer chaque idée dans le tableau. Attention, à ce stade, les noms des 8 facettes ne sont pas encore visibles.
Quelques exemples de réponses auxquelles vous pouvez vous attendre :
Facette de la qualité logicielle | Exemple lié aux montagnes russes |
Compatibilité | Ce système posera problème s’il est installé à côté d’une église, parce que les cris des personnes peuvent indisposer les gens qui cherchent à se recueillir. De même si les montagnes russes sont installées à côté d’un hôpital, les malades pourraient avoir du mal à dormir, ou ressentir de la frustration à ne pas pouvoir être de la partie. |
Performance | Ce système posera problème s’il tombe en panne quand il y a plus de 10 personnes dans les chariots. |
Fiabilité | Ce système posera problème si le démarrage échoue 1 fois sur 2. (Ou même, une fois sur 50.) |
Fonctionnalité | Ce système posera problème si les animations (par exemple les jets d’eau ou la musique) se déclenchent en décalage avec le passage des chariots. |
Sécurité | Ce système posera problème si les barrières sont trop espacées et que les personnes risquent de tomber. |
Maintenabilité | Ce système posera problème s’il est livré sans mode d’emploi pour les réparations, si son fonctionnement requiert une formation très complexe et spécifique, ou encore si les pièces de rechange sont introuvables dans le pays d’installation. |
Utilisabilité | Ce système posera problème si les chariots sont conçus pour avancer très lentement et que personne ne s’amuse, ou que les chariots ne sont pas adaptés aux personnes de grande taille. |
Portabilité | Ce système peut ne pas être adapté à tous les climats, par exemple si le métal de la structure est sensible à l’air marin. |
Une fois que toutes les idées ont été classées, vous pouvez maintenant donner un sens au mystérieux tableau dessiné tout à l’heure, en le complétant. Le cas échéant, vous pouvez solliciter les personnes qui ont déclaré connaître la norme ISO 25010, pour qu’elles vous aident à compléter le tableau.
Compatibilité | Performance | Fiabilité | Fonctionnalité | Sécurité | Maintenabilité | Utilisabilité | Portabilité |
Vous pouvez à présent raccrocher les wagons de la qualité logicielle ! Donnez du sens à ce tableau en demandant à votre auditoire de faire le lien entre le monde des logiciels et les 8 facettes.
Vous aboutirez probablement à des réponses similaires à celles ci-dessous :
Facette de la qualité logicielle | Exemple lié aux logiciels |
Compatibilité | Un logiciel doit pouvoir coexister avec d’autres logiciels dans un même système. |
Performance | Un logiciel doit pouvoir s’exécuter rapidement, même si plusieurs personnes l’utilisent en même temps. |
Fiabilité | Un logiciel doit être disponible avec un minimum d’interruptions. |
Fonctionnalité | Un logiciel doit pouvoir réaliser les actions qui lui ont été spécifiées. Cette facette accapare, en général, la plupart des efforts concernant la qualité logicielle. |
Sécurité | Un logiciel doit sécuriser les personnes qui l’utilisent ainsi que leur matériel et, ce qui est le plus connu, leurs données. |
Maintenabilité | Un logiciel doit pouvoir être maintenu au fil du temps, et bien souvent par d’autres personnes que celles qui l’ont initialement développé. |
Utilisabilité | Un logiciel doit être agréable à utiliser et compréhensible par un maximum de personnes parmi celles ciblées. |
Portabilité | Un logiciel doit pouvoir s’installer dans un maximum d’environnements parmi ceux ciblés. |
Voilà, votre petit groupe a maintenant une idée un peu moins floue de ce qu’on veut dire quand on parle de qualité logicielle ! En complément, vous pouvez leur montrer les 8 facettes développées (merci à la Taverne du Testeur pour ce schéma).
Pour aider à mémoriser les 8 facettes, vous pouvez donner ce moyen mnémotechnique :
« Les Com–Pères dans leur Fiat Font Sécher leurs Mains en Utilisant les Portes. »
Vous pouvez également leur conseiller cet article sur les tests non-fonctionnels. Il est plus complet que ce que vous aurez le temps de détailler à l’oral !
Éventuellement, pour clôturer l’atelier vous pouvez ouvrir sur d’autres perspectives :
Maintenant qu’on a ça en tête, c’est très bien, et on va pouvoir s’en servir au moment où on prévoit d’évaluer la qualité des logiciels et d’imaginer des tests. Ça fournit un cadre de pensée. Mais on peut ne pas s’arrêter là.
George Box disait « Tous les modèles sont faux, mais certains sont utiles ». La norme ISO 25010 est utile parce qu’elle permet d’avoir en tête pas mal de critères de qualité, mais elle est fausse dans le sens où elle ne prend pas en charge l’intégralité de l’expérience qu’on peut avoir de la qualité, ou des exigences qualité qui peuvent exister. Est-ce que vous voyez d’autres choses qui pourraient être ajoutées ?
(Réponse typique : qualité environnementale, mais il pourrait y en avoir d’autres !)
Cet exercice permet non seulement de comprendre que la qualité logicielle a plusieurs facettes, mais aussi que c’est un sujet qui nous fait poser beaucoup de questions, et que, même s’il existe une norme pour essayer d’organiser ces questions, celles-ci vont toujours au-delà.
Nourrissez votre réflexion de toutes les remarques qui proviendront de votre audience : vous découvrirez peut-être de nouveaux angles d’approche !
______________
Cet article a été écrit en langage épicène. Si vous voulez en savoir davantage, regardez notre vidéo sur le sujet !
Cet espace est pour vous.