Développement logiciel : Assurer la qualité du produit tout en réalisant des économies

Une assurance de qualité efficace est favorisée lorsqu’on combine le développement agile, l’intégration continue et l’automatisation des tests.Illustration du concept de logiciel

Atteindre une qualité logicielle adéquate constitue un défi important dans tous les secteurs d’activités. Une étude d’IBM révèle que la piètre qualité des logiciels est devenue l’un des problèmes les plus onéreux de l’histoire humaine, sa valeur s’élevant à plus de 500 millions de dollars par année à l’échelle mondiale.

Le succès d’un projet de développement de logiciel est un équilibre entre ses trois éléments fondamentaux : échéancier, budget et qualité. Souvent, les organisations ont à choisir deux de ces trois éléments, devant composer avec le dilemme suivant : livrer un produit de qualité dans les délais prévus s’avèrerait trop onéreux, alors que livrer un produit de qualité dans les limites budgétaires équivaudrait à ne pas respecter l’échéance. La phase d’assurance de qualité étant normalement reléguée à la fin du projet, c’est ce secteur qui écope en cas de retard dans les travaux ou de hausse des coûts prévus.

En général, l’assurance de qualité est planifiée de façon optimiste : le temps qu’on y alloue est déterminé en fonction d’un scénario exempt de problèmes. Lorsqu’un bogue est découvert, cependant, les développeurs sont appelés à revoir leur travail et, en bout de piste, les tests de qualité pertinents doivent être refaits tant et aussi longtemps que l’erreur n’a pas été corrigée. Dans pareil cas, le scénario de départ n’est plus le même et, pour livrer un produit de qualité, il devient nécessaire de repousser l’échéance et les limites budgétaires du projet.

Selon une étude d’IBM, il en coûte 6,5 fois plus cher de rectifier une erreur découverte durant l’installation du logiciel plutôt qu’en cours de développement; 15 fois plus lorsqu’elle est découverte durant les tests; et 100 fois plus en phase de production. Dans cette optique, il est permis de croire que les méthodes traditionnelles de développement sont conçues de façon à rendre les projets plus onéreux puisque l’assurance de qualité est systématiquement effectuée à la fin.

Développement agile

Au contraire, l’approche de développement agile suggère une livraison en « qualité production » à chaque sprint. En d’autres mots, il est nécessaire chaque fois de contrôler la qualité aussi rigoureusement que si on allait en production. On doit donc prévoir un ensemble complet de tests tôt dans le processus et les réexécuter à chaque fin de sprint. Dans ce contexte, il apparaît naturel d’intégrer des ressources affectées à l’assurance de qualité dès le début du projet et jusqu’à la fin. Ainsi, chaque fonction est testée en profondeur dès qu’elle est programmée. Cet ajustement à l’organisation du travail permet de réaliser des économies substantielles.

Puisque de nombreuses études en démontrent clairement les avantages, il est difficile de saisir pourquoi les organisations continuent à bouder ce type d’approche, d’autant plus qu’elle n’exige généralement pas de changements organisationnels profonds.

Nécessaire automatisation

Une fois les changements nécessaires effectués, tout n’est pas réglé pour autant. Chaque fois que survient une livraison, on doit vérifier les nouvelles exigences, mettre en œuvre les nouvelles fonctions et s’assurer que ce qui a été créé et testé antérieurement fonctionne toujours correctement. Pour obtenir un produit de qualité, l’équipe de projet n’a d’autre choix que de recommencer les tests antérieurs – c’est ce que l’on appelle les tests de non-régression.

Cette obligation constitue un plaidoyer convaincant en faveur de l’automatisation des tests. Pour que les coûts de test soient linéaires et non exponentiels, l’automatisation demeure la seule avenue possible. Dès qu’un projet comporte de 3 à 4,2 itérations testées manuellement, on estime qu’il est plus rentable d’investir dans l’automatisation. Or, la grande majorité des projets comportent plus de 4 itérations.

La correction des défauts impose une charge considérable aux équipes de développement et aux entreprises. En fait, les organisations cherchent à créer une valeur d’affaires, et non pas à corriger des bogues. Une réponse en deux volets s’offre aux entreprises qui souhaitent augmenter la qualité des livraisons et réduire les coûts afin de dégager cette précieuse marge de manœuvre. Il s’agit d’une recette claire et simple, mais peu appliquée : engager la participation des spécialistes en assurance de qualité dès le début du projet et automatiser les tests.

Pour relever efficacement le défi posé par l’atteinte de la qualité logicielle, les entreprises ont tout intérêt à mettre cette formule en pratique.

François Bonetto, AXON ID
François Bonetto, AXON ID
François Bonetto est associé et directeur général de la firme AXON Intégration et Développement.

Articles connexes

Le monde selon Hinton: Ralentir l’IA n’est pas la solution

Y a huit mois, Geoffrey Hinton, professeur émérite à...

Vention annonce une assistance à distance à la demande dans le monde entier grâce à sa technologie de 3e génération

Vention, une entreprise de Montréal qui aide les entreprises manufacturières à automatiser leur production connue pour sa plateforme infonuagique d'automatisation de la fabrication (MAP), annonçait récemment le lancement de l'assistance à distance, qui permet aux fabricants de recevoir sur demande de l’équipe de réussite client de Vention une assistance prioritaire en matière d'automatisation et de déploiement.

DAZZM, une nouvelle plateforme sans code qui veut réinventer la création de logiciels métiers

L’entreprise de Montréal Octopus-ITSM devient DAZZM et lance une nouvelle plateforme sans code qui permet aux organisations de créer des solutions pour entreprises à vive allure, avec une expérience utilisateur optimale. 

Ouverture à Montréal du centre d’expérience Vention

Vention, une entreprise montréalaise qui produit une plateforme infonuagique d'automatisation de la fabrication numérique, ouvre un nouveau centre d'expérience pour permettre à tous les fabricants de découvrir directement l'avenir des solutions d'automatisation. Le centre vise à rendre l'automatisation plus accessible à tous les fabricants par l'entremise d'occasions de formation et de perfectionnement.

Avansai veut révolutionner le recrutement informatique avec sa nouvelle plateforme 

La montréalaise Avansai, une entreprise de recrutement technologique, vient de lancer une nouvelle plateforme permettant aux développeurs logiciels de créer leur profil en ligne.

Emplois en vedette

Les offres d'emplois proviennent directement des employeurs actifs. Les détails de certaines offres peuvent être soit en français, en anglais ou bilinguqes.