Le magazine Software Testing News a mis en ligne un article mettant en avant l’importance de prendre le temps de penser la stratégie qualité en amont du processus logiciel. Les constats qu’il évoque et la vision de la stratégie qualité qu’il développe nous semblent très pertinents, c’est pourquoi nous vous proposons de le découvrir.
Deux points nous semblent essentiels.
Tout d’abord, il est vital que les décideurs aient bien conscience de l’importance de cette réflexion et fournissent à l’équipe de production les moyens de cette ambition.
Par ailleurs, une stratégie qualité doit s’appuyer sur la complémentarité entre les développeurs et les testeurs fonctionnels. La qualité en bout de chaîne n’est jamais autant au rendez-vous que lorsqu’ils travaillent main dans la main, tout au long du processus de production.
Bonne lecture !
Introduction
L’assurance qualité n’est pas une expression inconnue pour les développeurs. La plupart d’entre eux reconnaissent que les tests fonctionnels sont une composante essentielle du processus logiciel, indispensable à la production d’un code de qualité.
Mais avec la pandémie que l’on vit depuis tous ces mois et la pression existente pour que les entreprises se transforment rapidement, cette discipline rencontre le risque d’être considérée par les entreprises et les dirigeants comme une simple formalité à passer en bout de chaîne. Mais avec quels risques ?
On peut être tenté de négliger l’assurance qualité pour livrer plus vite de nouvelles fonctionnalités ou de nouveaux produits. Ce, au détriment notamment de l’insatisfaction clients.
Nous connaissons tous le vieil adage selon lequel la qualité prime sur la quantité, mais lorsqu’ils envisagent le développement de logiciels, les DSI devraient avoir à l’esprit la qualité plutôt que la vitesse.
Bien que la production de logiciels à grande vitesse soit clairement une nécessité pour la réussite des entreprises, qu’il s’agisse de start-ups pivotant pendant une pandémie ou d’entreprises suivant le rythme de ces concurrents plus agiles, l’assurance qualité doit devenir plus qu’un principe oublié pour les équipes techniques internes.
La direction technique doit intégrer la qualité comme une exigence spécifique de tout projet logiciel, plutôt que comme une réflexion fait en bout de chaîne de production.
De la non qualité aux clients mécontents, il n'y a qu'un pas !
L’assurance qualité consiste à surveiller le processus et la méthode de développement des logiciels afin de s’assurer que le résultat est conforme aux exigences du projet, ainsi qu’aux normes de sécurité et de conformité industrielles.
Grâce à l’assurance qualité, les entreprises peuvent mieux maîtriser leur produit. Elle leur permet de l’évaluer, de l’améliorer constamment pour s’assurer qu’il répond au mieux aux exigences de l’entreprise.
Afin d’élaborer une stratégie garantissant la qualité à chaque étape, les entreprises doivent comprendre les besoins de leurs clients, le parcours de l’utilisateur, les marchés cibles prévus et les performances attendues du logiciel.
Sans cela, les entreprises auront du mal à satisfaire et à garantir non seulement les exigences des clients, mais aussi les objectifs et les attentes de l’entreprise.
Sans assurance qualité, il est difficile pour les entreprises d’évaluer la fonctionnalité du produit ou du service et il devient extrêmement difficile de repérer les défauts critiques qui deviennent coûteux à traiter une fois découverts en post-production.
Une mauvaise qualité peut également entraîner plusieurs autres problèmes, notamment des retards dans la sortie des produits, des clients mécontents, une baisse de la réputation de la marque et une augmentation de la dette technique.
Les développeurs et les experts qualité, deux rôles distincts et complémentaires
À ses débuts, le développement de logiciels a adopté les meilleures pratiques mises en place dans le monde industriel, qui repose en grande partie sur l’évaluation de la qualité à la fin du cycle de vie du produit avant sa mise sur le marché.
Ainsi, une grande partie du secteur technologique a adopté ces stratégies dépassées qui sont pourtant devenues pratiques courantes. Dans les faits, on croise encore bon nombre de DSI et de CTO qui s’attendent à ce que les processus qualité soient juste un bonus en fin de processus de développement logiciel.
De nombreux responsables techniques pensent que ce sont les développeurs qui assurent la qualité d’un projet logiciel tout au long de son cycle de vie. Et c’est vrai dans un sens, les développeurs participent activement à la qualité. La qualité étant l’affaire de tous !
Mais cette idée peut donner de mauvaises habitudes et signifie que la qualité est une attente des développeurs plutôt qu’une exigence spécifique pour l’ensemble du projet.
Il est facile d’oublier que les développeurs ne sont pas des experts qualité. Il s’agit en fait de deux rôles totalement distincts qui devraient travailler côte à côte tout au long d’un projet.
Le rôle d’un développeur consiste à écrire et à maintenir le code source, ce qui inclut la mise en œuvre de tests unitaires et d’intégration pour s’assurer que le code correspond aux exigences. Cependant, il n’est pas systématiquement impliqué dans la réalisation de tests fonctionnels de bout en bout et dans le signalement des défauts à l’équipe de développement.
Placer l'assurance qualité au cœur du cycle de vie des logiciels
Toute entreprise qui se lance dans un projet logiciel a besoin à la fois de développeurs et de testeurs fonctionnels, l’un ne va pas sans l’autre. Mais les managers peuvent avoir du mal à recruter à la fois de bons développeurs et des experts qualité, que ce soit en raison des coûts ou de la pénurie de profils qualifiés.
Le recrutement est un processus long et coûteux, surtout lorsqu’il s’agit de recruter des compétences très sollicitées.
Dans ce contexte, et compte tenu de l’impact du COVID, qui a obligé nombre d’entreprises à réduire leurs équipes internes, les départements informatiques sont de plus en plus chargés. Cela signifie que des processus comme l’assurance qualité, que de nombreuses entreprises ne considèrent pas comme une nécessité ou une priorité, peuvent être négligés.
Pourtant, en plaçant l’assurance qualité au cœur du cycle de vie des logiciels, on peut réellement gagner du temps, en traquant les bugs le plus tôt possible.
En fin de compte, les entreprises ne doivent pas se contenter de créer des logiciels, elles doivent les faire fonctionner, les faire évoluer et les améliorer en fonction de leurs besoins et de leurs objectifs. L’assurance qualité rend cela possible.
Traduit de l’article original Why Quality Assurance should never be an Afterthought écrit par Nuria Manuel, Consultante QA.
Experte en qualité web, fondatrice de Gonogo Consultech : conseil en stratégie web et fournisseur de la solution HorusTest.
Optez pour une stratégie qualité pérenne ! HorusTest permet de créer et de gérer vos tests automatisés simplement, sans écrire une seule ligne de code et sans compétences techniques.