Comment améliorer la rentabilité des tests

Par :
Bernard Homès

mar, 10/05/2011 - 13:44

La rentabilité des tests est un souci constant des équipes de tests. Elles sont souvent considérées comme une commodité plutôt qu'une source potentielle de profits. La tendance est à essayer de réduire le coût et la durée des tests, pour restreindre le coût et la durée des développements logiciels.  Par Bernard Homès, Président du CFTL (Comité Français des Tests Logiciels)

Test et réduction des coûts en questions

Les tests identifient des défauts introduits lors de la conception, mais peu d'actions sont entreprises pour éviter ou limiter cette introduction de défauts, que ce soit dans les exigences (ambigües ou contradictoires) ou au cours du développement.
L'amélioration de la rentabilité des tests peut être appréhendée de deux manières : l'amélioration de leur propre rentabilité, ou l'extension à l'amélioration des processus de l'entreprise (processus de conception et de réalisation).

Il est aisé de démontrer que les tests réduisent les coûts pour l'entreprise si l'on envisage la suppression des tests : la non qualité (les défauts) engendre des coûts élevés, alors que la qualité améliore la satisfaction des clients.

La réduction des tests entraine à court terme une réduction des coûts et des délais, mais ces avantages sont perdus si l'on prend une vision à plus long terme : corrections, retests et tests de non régression, sans compter les impacts des défaillances, s'accumulent pour démontrer l'erreur de cette équation.

Une manière habituelle de concevoir la rentabilité des tests est de se focaliser sur la réduction des coûts des tests et l'amélioration de leur efficacité.

Une telle équation pâtit cependant de la complexité croissante des logiciels à tester et du niveau de qualité recherché, croissant lui aussi.

Il est nécessaire de chercher à améliorer l'efficacité des tests, mais les gains potentiels seront limités. C'est une vision des tests en tant que commodité, au même titre que le chauffage, l'électricité ou le téléphone.

 

Comment les tests peuvent optimiser la rentabilité d'une entreprise

Les tests sont cependant capables de fournir des bénéfices nettement plus important à l'entreprise que de petites économies de bouts de chandelles, voyons comment ils peuvent augmenter la rentabilité de l'entreprise.

Pour correctement calculer une rentabilité, nous avons besoin de données, de mesures des coûts au sein de l'entreprise. Or les entreprises - et les équipes de tests - mettent rarement en œuvre des moyens de mesure suffisamment détaillés qui leur permettraient d'identifier des axes d'amélioration ou de prouver l'apport des tests en termes de rentabilité. Pour remédier à cela, il est nécessaire de mettre en place des métriques adaptées.

Cela permettra de démontrer l'impact négatif sur la rentabilité - à court et à long terme - qu'ont des processus de développement inadaptés et non optimisés, des exigences ambigües ou une absence de revues et d'inspections efficaces. L'absence de tels programmes de mesure permet de se complaire dans des préjugés ou une ignorance coupable.

La responsabilité des DSI et des responsables de qualité envers les actionnaires, les clients et les utilisateurs, implique la mise en place de processus d'amélioration continue, comprenant l'instauration de solutions à base de métriques (pertinentes et fournies en temps utile).

La présence de tels systèmes de mesure permet d'éviter les pièges de valeurs habituels que sont :

- Le piège de la visibilité, démontré par des phrases telles que « La performance des tests parle d'elle-même, nous avons trouvé xx défauts, exécuté yy tests » et « c'est un coût et une étape obligatoire ».

- Le piège des rôles, qui considère les services de l'entreprise comme des « clients » des tests, et induit une passivité des équipes de tests car « le client à toujours raison ».

- Le piège des excuses, qui déporte sur les tests l'absence de qualité des processus de conception et de développement.

L'augmentation de la rentabilité des tests passe par la fourniture de services et des informations adéquats, à un prix compétitif.

Cela implique d'avoir mesuré les coûts et les avantages fournis par les tests, et aussi de rendre publics au sein de l'entreprise la liaison entre les coûts et leurs causes racine (coût par exigence ou par fonction, coût par version ou par composant, coût par anomalies etc.). Ces aspects et mesures doivent être publiés de façon à démontrer une amélioration continue de l'efficacité des tests. Ces informations de coût et d'efficacité (de rentabilité en fait) permettront de démontrer une valorisation efficace des euros investis dans les tests.

La recherche continue d'amélioration de rentabilité permettra de focaliser les activités de tests (revues, vérification et validation, etc.) sur la fourniture de services adaptés aux besoins (revues d'exigences, de spécifications, d'architecture, de code) qui permettront d'éviter l'introduction de défauts dans les logiciels, d'évaluer le niveau de qualité requis et les investissements qu'il est nécessaire de consentir pour les atteindre, tout en continuant à mesurer les coûts.

Il sera ainsi possible de clarifier la stratégie de réalisation et de tests des applications, de se focaliser sur l'adaptation des processus métier et d'identifier les métriques opérationnelles clé. Les services de tests et le niveau de qualité seront ainsi adaptés aux réels besoins, et les coûts seront maîtrisés tout en étant directement liés à un niveau de satisfaction.

 

Comment générer plus de valeurs à partir des tests logiciels

Il est cependant possible de générer encore plus de valeur à partir des tests : les informations recueillies peuvent aussi être utilisées pour fournir de l'aide à la décision (mise en production - ou non - d'un logiciel), améliorer les processus (de réalisation et de test) internes à l'entreprise, voire même d'informer en interne et/ou en externe afin d'optimiser ou de remodeler les interactions entre l'entreprise et ses clients ou partenaires.

La mise en œuvre d'une telle politique d'améliorations continues n'implique pas un changement drastique des habitudes, mais la focalisation des acteurs vers les métiers de l'entreprise (pour démontrer en quoi les tests apportent une valeur réelle à l'entreprise), la mise en place de moyens de mesure répondant aux préoccupations métier (avec des métriques pertinentes, exactes, adaptées aux besoins et fournies à temps), des informations de coûts, délais, d'efficacité et de rentabilité des tests basées sur des critères compréhensibles par toutes les parties prenantes (management, direction, clients, utilisateurs, marketing, etc.).

Le test obtiendra ainsi ses lettres de noblesse au même titre que tous les services orientés vers l'amélioration du chiffre d'affaire de l'entreprise.

A propos de l'auteur

Bernard Homès