Les valeurs d’affaire de l’assurance qualité en développement logiciel
En développement logiciel, l’assurance qualité est souvent l’étape dont la valeur d’affaire n’est pas toujours évidente. De toute façon, les contrats de supports existent bien pour ca, non!? Ceci est vrai dans le contexte suivant :
- La qualité n’est pas le souci premier (manque de temps, de budget, etc.)
- Les tests ont uniquement un but de découverte de défectuosité
La réalité est pourtant différente! Les tests servent à la mesure d’avancement d’un projet.
En effet, c’est l’outil même de mesure d’avancement et d’ajout des valeurs ajoutées d’affaire d’un développement. Le principe est simple : si ce n’est pas testable, ca ne doit pas avoir valeur d’affaire! Ce qui est testé est le seul avancement mesurable. Les tests permettent donc en un premier lieu de mesurer le réel avancement d’un projet. Ca répond donc, non pas à la question, le développement est rendu où? Mais à la question le produit – la solution, le projet – est rendu où ? Pour cela, la mesure d’avancement doit inclure l’étape d’assurance qualité de manière intégrante au projet et éviter de balancer le code de l’autre bord de la barrière! L’idée n’est donc pas de mesurer l’avancement du développement mais du livrable final.
La deuxième réalité d’affaire, est que cette étape doit offrir un niveau constant de service! Je m’explique! L’assurance qualité doit permettre à chaque jour de tester ce qui a déjà été testé, ce qui fonctionne déjà et ce avec le même niveau de rigueur tout au long du projet. Pour cela, les tests ne doivent pas dépendre de l’humeur d’un –des – testeur(s)! Il faut donc définitivement regarder dans la direction de l’automatisation de ces tests. Il existe d’ailleurs une tonne d’outils (Selenium QA, FITnesse, iMacros, etc.) simple, efficace et souvent gratuits qui permettent aux usagers de sauvegarder des tests d’utilisations de l’application et de les rejouer afin de déterminer si ce qui fonctionnait, fonctionne encore! (Je n’embarque pas sur le sujet des tests automatisés, ca fera parti d’une autre publication!) C’est donc aussi une garantie de non-régression dans un contexte de client déjà servi. Est-ce là une assez grande valeur ! En offrant le même niveau de service, les livraisons offrent ainsi un haut niveau de confort – admettons-le rare dans le monde logiciel – suite aux mise en production et développement additionnel des solutions.
Lorsqu’il est donc question de savoir ou non si les tests fonctionnels ont une utilité d’affaire, la réponse passe par les deux questions suivantes :
- Veut-on mesurer l’avancement réel d’affaire du projet ?
- Veut-on fournir un niveau de service constant ?
Ces bénéfices passent obligatoirement par la considération d’un contexte adéquat, qui se défini par les trois critères suivants :
- L’assurance qualité est une étape intégrante du processus de développement
- L’assurance qualité doit être un processus ayant un niveau de service constant
- L’assurance de la qualité est un souci commun à tous les membres de l’équipe

