Aujourd’hui, lorsque l’on se penche sur la question de l’organisation à mettre en place lors du développement d’un logiciel, le choix d’une stratégie agile semble être l’option la plus performante face à la dynamique du marché. Mais quid de l’intégration de la QA dans cette organisation ? Selon l’étude menée par le world quality report en 2017 : 99% des personnes interrogées disent être confrontées à des difficultés lorsqu’elles effectuent des tests en mode Agile.

QA et agilité : de quoi parle-t-on ?

Dans le contexte du développement d’un produit digital, l’assurance qualité (ou QA pour Quality Assurance) désigne tout le processus de vérification mis en oeuvre pour garantir que le produit en cours de développement est conforme aux normes de qualité exigées.

Pour les entreprises, se doter  d’un département dédié à l’assurance qualité est un gage de crédibilité. Il renforce la relation de confiance avec les clients. C’est également un moyen de travailler plus efficacement et garantir les délais de mise en production.  

Nombreuses sont les entreprises à posséder une équipe de développement et un service dédié à l’assurance qualité. Mais ils fonctionnent bien souvent de manière autonome. Les développeurs travaillent sur de nouvelles fonctionnalités et les transmettent au contrôle qualité pour les tester.

Cependant, dans le cadre d’un développement de logiciel agile, où de petites équipent travaillent rapidement et publient fréquemment de nouvelles fonctionnalités, cela ne semble pas être la meilleure approche.

En effet, la méthode agile est une approche itérative et collaborative. Elle place le besoin client au centre du processus de création, notamment via différentes phases de tests. Aussi, la communication et la cohésion d’équipe passe avant les outils et les processus mis en place. L’entreprise ne travaille plus de manière silotée, ce qui facilite le partage des connaissances et assure une meilleure collaboration.

 

Testing Digital Lab

Le combo méthode Agile et QA est-il contre nature ?

En 2018, il paraît surprenant que les entreprises n’aient toujours pas trouvé le moyen d’intégrer correctement les tests dans le cadre d’une méthode agile. Certains chiffrent parlent d’eux-même :

  • La part des budgets consacrée aux tests et à l’assurance qualité (QA) est en baisse depuis 2 ans. Il ne présentait plus que 26% des budgets IT en 2017 contre 35% en 2015,*
  • 99 % des personnes interrogées disent être confrontées à des difficultés lorsqu’elles effectuent des tests en mode Agile.*

Or, il est inconcevable de ne pas tester ! Et ceci quel que soit le cycle de vie du développement et quelque soit la méthode de développement  utilisée. La phase de test doit être faire l’objet d’une réflexion aboutie, basée sur des principes et une méthodologie bien définis.  On qualifie alors de “bon test” la mise en pratique de cette méthodologie, couplée avec de solides compétences techniques. Autrement dit, le test doit s’appuyer sur un processus de base qui sera déployée de différentes façons, suivant le mode développement, y compris en méthode agile.  

Si l’on part du principe que la méthode agile ne repose pas uniquement sur des échanges facilités entre les équipes, mais comporte également une problématique business, quoi de mieux que l’assurance qualité pour atteindre ses objectifs ?  

Envisager dans la phase de test comme une composante à part entière d’un projet agile, semble être la réponse la plus adéquate. Pour être vraiment agile, et développer un logiciel de qualité supérieur, dans un lapse de temps très court, le contrôle qualité et les développeurs doivent donc être synchronisés et travailler en parallèle.

 

QUID de l’importance du testeur dans un projet de tests agile ?

Le testeur a la charge d’assurer la fiabilité du logiciel. C’est à lui de vérifier que les fonctionnalités implémentées par les développeurs répondent aux user stories.

Dans la culture de l’entreprise l’importance accordée au testeur est généralement moindre comparée à celle des développeurs, sauf lorsque l’on s’intéresse à la méthode scrum. Cette nouvelle organisation reconnaît que le testeurs possède une spécialité reconnue, car c’est le seul membre de l’équipe qui possède une vision global du fonctionnement du produit. En effet, il est le seul à connaître parfaitement l’architecture du produit et les fonctionnalités réellements terminée. Le testeur est capable au même titre que les autres membres de l’équipe de donner un feedback sur ce qui à marcher au non au près des clients et des utilisateurs.

Au delà de la méthode scrum, on assiste aujourd’hui à l’émergence des features team dans l’entreprise. Qu’est-ce que c’est ? Une feature team réunit de multiples compétences autour d’un même produit ou d’une macro-fonctionnalité: design, produit, développement, déploiement… Ses membres bénéficient d’une certaine autonomie. Ils travaillent idéalement à proximité (géographique) les uns des autres, afin de favoriser la communication et la collaboration. Au sein de cette équipe, le leader est celui que l’on appelle le scrum master. Il se positionne en grand maître de l’agilité, et se porte garant du respect de la méthode. Son rôle est de faciliter le travail de l’équipe en l’aidant à gagner en autonomie.

 

La dynamique agile donne un nouveau souffle à la stratégie de tests

La dynamique agile donne un nouveau souffle à la stratégie de tests, sans pour autant oublier que le rôle de l’assurance qualité est vital. En effet, l’agilité supprime les frontières entre les développeurs et les testeurs. Ceux-ci avaient jusqu’ici pour habitude de travailler de manière autonome. Cette nouvelle organisation favorise un environnement de travail collaboratif. Alors, non l’assurance qualité n’est pas un frein à l’agilité, bien au contraire ! Pensée en amont du processus de tests, elle va guider le développement logiciel. La QA apportera de la rapidité et de la valeur ajoutée au projet. Ces deux composantes permettront aux équipes de s’adapter plus facilement et de fournir un produit de meilleure qualité aux clients.

 

*Source :chiffres du World Quality report 2017

Author

Xavier BRICE est COO et associé de TESTING DIGITAL. Issu d’une formation design / direction artistique, il commence par la création d'une agence de communication digitale en 2007 avant de lancer sa 1ère startup avec la création de CONTEST n' CO, société visant à changer les règles de communication interne au sein des entreprises. Consultant pour Byron Group depuis 2010, il crée avec Franck Sarfati et Fabien Driard, en 2012, le laboratoire de tests de Testing Digital.

Write A Comment