logo de la taverne du testeur

On ne fait de la qualité que sous la contrainte

J’ai appris beaucoup de chose lors de mon interview de Tristan Nitot. Au-delà d’apprendre, cette interview m’a fait réfléchir. La phrase « on optimise que sous la contrainte« .

L’idée simple, et géniale, est que l’on optimise uniquement ce que l’on est obligé d’optimiser.

Si on prend le point de vue de la consommation de ressources et l’exemple des jeux vidéos on s’aperçoit vite que les jeux de l’époque de la NES (et avant) étaient particulièrement optimisés. Mario a été pensé pour être reconnu facilement. La moustache et la casquette étaient pour répondre à la contrainte de la taille des sprinte (images) et de leur nombre de pixels. Toujours pour optimiser la taille des sprites, les nuages sont les mêmes images que les buissons, seule la couleur change.

Avec la loi de Moore, la contrainte de la limitation des ressources a quasiment disparu… Et l’on a arrêté de passer du temps pour optimiser cette consommation. L’optimisation actuelle se fait sur une vitesse et une fréquence de livraison.

Si l’on voit plus loin, je pense que ce n’est pas uniquement le cas avec l’optimisation mais aussi avec la qualité!

Qu’est-ce qu’une contrainte ?

On arrive ici sur une notion complexe.

Voici une définition de contrainte du site de Larousse: Obligation créée par les règles en usage dans un milieu, par les lois propres à un domaine, par une nécessité, etc.

Cette définition montre qu’une contrainte n’est pas forcément une obligation physique. Elle peut aussi être quelque chose que l’on s’impose en fonction de comment on perçoit le monde.

Les contraintes sont très nombreuses

A l’heure actuelle l’industrie du logiciel est soumis à de très nombreuses contraintes comme:

  • La rentabilité
  • Livrer rapidement et fréquemment (qui a fortement aidé à la popularisation des méthodes agiles)
  • Répondre à l’attente de ses (potentiels) utilisateurs
  • Se faire connaître, sortir du lot
  • Prendre le train de l’IA
  • La disponibilité
  • La fiabilité
  • Les contraintes légales (ex: RGPD, RGAA…)
  • Avoir et conserver des « talents »
  • La consommation de ressource
  • L’impact environnemental…

Toutes ces contraintes (et la liste n’est pas exhaustive) ne sont pas toutes aussi importantes. Et comme vous le pensez il est très complexe de répondre à toutes ces contraintes. Certaines sont donc ignorées au profit de plus importantes.

L’importance des contraintes dépendent du contexte

Comme pour la qualité, l’importance des contrainte dépend du contexte.

Les contraintes légales sont beaucoup moins importantes dans le jeu vidéo que dans les outils de surveillance ou de gestion de centrales nucléaires.

Les contraintes de rentabilité et l’importance de sortir du lot se font sur des marchés très concurrentiels où le plus populaire devient vite ultra majoritaire « winner takes all ». Cela peut se voir avec les réseaux sociaux professionnel (LinkedIn est là et Viadéo a disparu), les marketplace (Amazon est loin devant Cdiscount, la Fnac ou d’autres Market place) ou encore les plateformes de réservation (Air BnN pour la réservation de nuit ou über pour réserver un trajet en voiture sont largement devant la concurrence).

La contrainte liée aux talents dépend beaucoup du « marché de l’emploi ». Lorsque le marché est tendu cette contrainte augmente et inversement lorsqu’il y a de nombreuses personnes qui recherchent du travail cette contrainte diminue.

Enfin, et malheureusement, certaines contraintes, bien réelles sont quasi systématiquement négligées. C’est le cas de la contrainte liée à l’impact environnemental. Cette dernière est réelle et tangible… Mais moins impactante à court terme. Elle n’est généralement vraiment prise en compte que si elle est couplée avec d’autre contraintes comme celle de répondre aux attentes de ses utilisateurs.

La Qualité est un point de vue lié à une contrainte

En regardant la liste des contraintes on peut se dire que l’on parle de qualité!

Certaines de ces contraintes sont d’ailleurs des critères qualité selon l’ISO 25 010 (disponibilité, fiabilité, consommation de ressources (dans la performance)) ou même de l’ISO 25 019 (l’attente des utilisateurs pour la qualité » à l’usage).

Comme vous le savez, la qualité a de multiples facettes. une application d’échange de messages peut être vue, à juste titre, comme une application de qualité pour le grand public car fiable, rapide, sécurisée et fonctionnant sur une grande majorité des terminaux… Mais se retrouver une application de très mauvaise qualité, car pas assez sécurisée, pour des discussions d’état. On l’a vécu avec l’application Signal utilisée par Trump.

La qualité pour répondre à un contexte

La qualité, comme les tests, dépend du contexte. L’objectif de tout développement d’un service numérique est de répondre aussi efficacement que possible à un contexte.

Pour répondre à ce contexte il est essentiel de bien identifier les contraintes. De les prioriser et d’apporter une réponse appropriée à chacun de ces dernières en fonction de leur intensité.

Cela vous rappelle un travail que l’on fait dans le test ? Pas étonnant!

Les tests exhaustifs sont impossibles. Il faut faire des choix, savoir quoi tester et comment le tester. C’est ce que l’on fait au quotidien en tant que testeur.

Proposer un logiciel et qualité c’est proposer un service numérique avec une qualité optimale… par rapport à son contexte.

Optimiser la qualité

Afin de maximiser les chances de succès de son service numérique il est essentiel d’optimiser la qualité. Cette optimisation se faire par rapport à ses contraintes. Il faut être efficace, juste dans ses choix de dépenses afin d’être suffisamment rapide tout en répondant aux attentes légales et aux attentes des utilisateurs.

Pour réussir cette optimisation il est nécessaire de « restreindre » la qualité aux éléments imposés par les contraintes. Il faut s’assurer que la qualité évaluée selon les axes des contraintes les plus contraignantes soit bonne. Il n’y a pas forcément besoin d’évaluer d’autres critères qualité… Si c’était le cas, il y aurait des tests fonctionnels sur l’ensemble des critères non fonctionnel de l’ISO 25 010… pour tous les service numériques!

Conclusion

Tous les services numériques à succès sont de qualité. Ils répondent efficacement et suffisamment aux problématiques de leur contexte pour avoir ce succès.

Malheureusement ce contexte fait que la durabilité des services n’est généralement pas une contrainte suffisante pour faire la différence. De même, la majorité des différents contextes ne prennent pas suffisamment en compte les aspects durables de la qualité… Alors que la Qualité Durable n’est plus une option si l’on veut continuer à profiter de services de qualité sur le long terme.

Si l’on veut arriver à proposer des services liés à la Qualité Durable il est essentiel que les contraintes liées à cette dernière deviennent plus importantes.

De manière générale cette contrainte va forcément augmenter avec le temps et la dégradation du climat.

Il est également possible d’ajouter des contraintes légales… Comme pour l’accessibilité avec le RGAA. Le RGESN pourrait répondre à cette contrainte.

Enfin, une contrainte sur laquelle tout le monde peut jouer: les demandes des utilisateurs. Je suis personnellement convaincu que l’on « vote » avec ses achats.

Dans tous les cas, il me parait essentiel de garder en tête, qu’au final, on ne fait de la qualité que sous la contrainte… Et plus exactement que par rapport à des contraintes auxquelles on doit répondre.

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.

Laisser un commentaire

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

Automatisation

Pourquoi automatisons-nous ?

L’automatisation semble nécessaire! On parle toujours plus d’automatisation des tests et plus particulièrement de leur exécution. Les outils d’automatisation de test n’ont jamais été aussi nombreux (ce n’est pas pour rien qu’une majorité des article de la série « Outil de test » traite d’outil d’automatisation). Une conclusion semble donc s’imposer, il

Lire la suite »
Bug

Comment interpréter une campagne de test sans bug ?

Au cours des nombreuses campagnes de test que l’on exécute, il peut arriver de ne remonter aucun bug sur l’une de celles-ci. Que faut-il tirer comme informations d’une campagne avec un résultat comme celui-ci ? Une campagne qui ne remonte pas de bug ne veut pas forcément dire que le testeur

Lire la suite »
culture générale

Dépoussiérer la politique de test

On entend rarement parler de la politique de test. En général, je dirais même plus que ce terme est peu utilisé et peu connu des testeurs… Au point de ne pas vraiment savoir ce que c’est. Pour rappel, une politique de test c’est le document qui fait référence en terme

Lire la suite »