Comment garantir la qualité globale d’un logiciel : Quality by Design

Comment produire un code de qualité ? Tester intelligemment ? Passez au Quality By Design !

Combien d’entre vous n’ont jamais connu de problèmes pour mener à bien leur projet de réalisation de logiciel et éviter les bugs récurrents, les dépassements de budget ou de délais, les clients déçus par la fiabilité de leur application favorite ?

Bien sûr la production de logiciel s’est industrialisée ces dernières années. De nombreux acteurs proposent des outils, des méthodes pour arriver à délivrer des produits innovants sur le marché. Mais ces méthodes agiles, les attentes du marché, impliquent d’arriver à sortir des nouvelles versions de logiciel à une fréquence de plus en plus élevée.
Mais alors comment garantir la qualité globale d’un logiciel, éviter la création de dette technique et de bugs ? Comment éviter une régression à chaque nouvelle mise en production ?

L’évolution dans le développement logiciel

Bien sur la production de logiciel s’est industrialisée ces dernières années. De nombreux acteurs proposent des outils, des méthodes pour arriver à délivrer des produits innovants sur le marché.

Mais ces méthodes agiles, les attentes du marché, impliquent d’arriver à sortir des nouvelles versions de logiciel à une fréquence de plus en plus élevée.
Mais alors comment garantir la qualité d’un logiciel, éviter la création de dette technique et de bugs ? de régression à chaque nouvelle mise en production ?

L’industrialisation, l’automatisation des tests est une des solutions. Mais on s’aperçoit que cela n’est pas suffisant. Qui peut vraiment garantir la qualité du logiciel au final ?

Nous avons déjà expliqué comment définir et mesurer la qualité d’un logiciel, y compris dans un contexte agile.

Bien sûr une approche méthodique du test de logiciel est impérative. Cependant avec le temps nous nous sommes tous aperçus que cela n’était pas suffisant.

En effet, la notion de valeur délivrée aux utilisateurs est un axe d’analyse important.

Les logiciels sont développés dans le but de répondre aux besoins des utilisateurs. Nous délivrons de la valeur, pas de la qualité, donc la meilleure manière de le faire est de s’assurer que quoi que nous fassions, on délivre de la valeur à l’utilisateur. Ce qui est important, c’est la manière dont nous offrons cette valeur à vos utilisateurs, à quelle vitesse et à quelle fréquence. Tout cela est lié au processus et au pipeline de livraison du logiciel.

La qualité d’un process de développement doit donc permettre d’arriver à délivrer de manière régulière de la valeur, de l’innovation aux utilisateurs mais sans sacrifier la qualité et la fiabilité du logiciel dans le temps.

Très bien, mais les tests, la qualité, cela prend du temps, cela coûte cher ? Oui, si ces tâches sont subies, gérées en fin de projet, dans l’urgence. Mais cela n’est pas notre approche.

Pour nous, la qualité peut être représentée comme une chaîne qui est elle-même composée des maillons. Chaque maillon est important et complémentaire. C’est pourquoi nous proposons une approche globale de la qualité que nous appelons « Quality By Design » où la qualité est intégrée de manière native comme paramètre structurant de la conception et réalisation d’un logiciel. C’est un gain de temps, d’énergie, d’efficacité et donc d’argent.

Nous avons donc renforcé nos équipes de consultants afin de pouvoir accompagner nos clients sur trois principaux axes d’amélioration.

  • Mieux concevoir
  • Mieux développer
  • Mieux testerQuality by design

1. Mieux concevoir

L’objectif est de créer une conversation entre l’ensemble des intervenants dans une équipe logiciel afin de s’assurer qu’on apporte bien de la valeur à l’utilisateur final (analyse du vrai besoin), que les 3 amigos se comprennent bien PO/ DEV/QA et que les critères d’acceptation sont bien définis en amonts (approche shift-left visant à identifier les anomalies le plus en amont possible).
Nous accompagnons donc  les équipes métiers / marketing pour les sensibiliser aux notions de test driven, spécification par l’exemple ou le comportement (BDD, ATDD).
Cela peut se faire sous forme de formation ou de coaching.
Nous apportons aussi des outils innovants (ATTD graphique par ex)  afin de faciliter la mise en œuvre ce ces concepts.

2. Mieux développer

Savez vous qu’un développeur peut passer plus de 50 % de son temps à corriger des bugs ou refaire du code à la suite de spécifications incomplètes ou incomprises ?
Le manque de test unitaire et de partage de bonnes pratiques liées à la qualité du code génère la création de dette technique à chaque livraison. Avec le temps le code devient compliqué à maintenir et les livraisons de nouvelles versions posent de plus de plus de problèmes.

Nous avons développé des méthodes d’accompagnement des développeurs afin de les aider à faire du code propre (code maintenable, documenté, architecturé, testé, méthode de conception pilotée par le test, type TDD).

C’est pourquoi nous avons renforcé ce maillon « génie logiciel » avec des experts en Craftsmanship, coach Agile, Coach QA mais aussi des outils innovants (come Themis de Promyze) pour aider les développeurs à capitaliser sur des best practices propres à leur société et des KPI monitorables facilement par l’équipe.

Retrouver notre dernier webinar sur comment mieux développer : bonnes pratiques, méthodes et outils.

Nous pouvons intervenir auprès de vos équipes internes, mais également comme tiers de confiance externe sur vos projets externalisés ou TMA. Nous mettons en place une « quality gate » afin de vous assurer la qualité du code des livrables de vos fournisseurs et mettons en place de KPI à monitorer.

Nous pouvons aussi gérer les tests fonctionnels et de non-régression de vos application (voir offre TRA)

Plus de mauvaise surprise en fin de projet, vous retrouverez la maîtrise de vos budgets et de vos plannings !

3. Mieux tester

Aujourd’hui le métier d’ingénieur Test analyst, de Test lead, Test automation sont des métiers reconnus. Chez ALL4TEST, vous trouverez des passionnés et des experts pour vous aider à mettre en place de véritables stratégies de test sur vos projets.

Les méthodes mises en place sur la partie mieux concevoir nous permettent de faciliter voire automatiser la génération des cas de test. Nous proposons également de vous aider à mettre en place les meilleurs framework d’automatisation de tests fonctionnels pour garantir le succès de vos projets avec du code maintenable dans la durée.

Là aussi nous proposons d’aller plus lois avec des outils et des méthodes innovantes comme l’IA appliqué au test logiciel (deep learning, RPA…), les tests exploratoires assistés par l’IA et bien plus encore.

Avec ALL4TEST vous bénéficierez toujours de solutions innovantes afin de toujours mieux optimiser vos efforts de test, accélérer l’exécution et diminuer les coûts !

C’est la combinaison de ces trois expertises que vous retrouverez au sein d’une seule entreprise et d’une philosophie le « Quality By Design ».

Découvrez notre approche dans cette vidéo d’une minute avec nos mascottes Super T et OTO !

Vous pourrez utiliser ce savoir-faire sous forme de prestation d’Audit , de Coaching, d’Assistance technique locale ou à distance ou d’externalisation complète d’équipes de test.

Contactez-nous