Comment calculer le retour sur investissement des tests automatisés et son efficacité
Dans le développement de logiciels, la vitesse est devenue la caractéristique déterminante des lancements de produits. Il établit la norme à laquelle nous ne pouvons plus vraiment échapper.
Il impose des exigences aux acteurs du marché, anciens et nouveaux: libérez maintenant, corrigez les problèmes plus tard. Lancez la fonction aujourd'hui ou regardez vos concurrents vous dépasser. Respectez la date limite ou perdez un partenaire / client d'une importance vitale.
Ce sont toutes des réflexions et des idées que la plupart des chefs de produit, CTO et chefs d'équipe ont eues (ou entendues). En partie, je pense que le coupable de cet état de choses a été l'automatisation elle-même, car elle a rationalisé de nombreux processus technologiques dans tous les secteurs et a défini les attentes des clients et du marché.
Pour les produits logiciels, cependant, l'automatisation peut également soyez la grâce salvatrice, offrant une occasion unique d'aller vite et régulièrement.
Je parle, bien sûr, d’automatiser les tests pour garantir à la fois la vitesse et la stabilité du produit.
Le pitch est: pourquoi choisir entre la qualité et la vitesse alors que les tests automatisés peuvent garantir la qualité à grande vitesse? Je sais que c’est assez compliqué, mais c’est essentiellement vrai.
À présent, de nombreuses entreprises, chefs de produit, directeurs techniques et PDG se tiennent avec hésitation à la porte de ce «tour d’automatisation» et se demandent: devrais-je entrer? Est-ce que ça vaut le coup? Vais-je dépenser plus que ce que je reçois?
La vérité est que… les tests automatisés ne sont pas si différents de tout autre investissement commercial. Tout se résume à calculer les rendements – voici comment je le fais.
Les bases du calcul du retour sur investissement de l’automatisation des tests
Tout d’abord, examinons la méthode de base du calcul du retour sur investissement. La formule la plus couramment utilisée pour les tests automatisés est la suivante:
ROI pour l'automatisation des tests = économies de coûts / coût d'investissement
OU
(valeur d'investissement – coût d'investissement) / coût d'investissement
doivent prendre en compte leurs propres spécificités, les problèmes préexistants ainsi que les tendances naturelles du développement logiciel pour appliquer correctement ce calcul.
Pour commencer, les économies de coût peuvent être calculées de différentes manières, en fonction de votre connaissance des processus de l'entreprise, des dépenses et des outils d'automatisation des tests en question.
Par exemple, la méthode de référence pour compter les économies consiste à considérer combien de temps d'assurance qualité est économisé par l'automatisation. Si la mise en œuvre de tests automatisés nous fait gagner Z heures de contrôle qualité chaque mois, il est assez facile de calculer le coût X de ces heures de travail par rapport au coût Y de la mise en œuvre des tests automatisés. La plupart des gens le voient comme une simple question d'insérer X et Y dans la première variante de l'équation.
Si nous supposons que le coût de mise en œuvre des tests automatisés est de 500 unités et que nous économisons 100 unités chaque mois sur un temps d'assurance qualité réduit, nous va atteindre le seuil de rentabilité dans 5 mois. Au-delà de ce point, nous avons un retour sur investissement positif en constante augmentation.
Ensuite, la catégorie investissement de l'équation peut être très différente dans chaque cas de mise en œuvre spécifique. Certaines entreprises choisissent de développer leur propre cadre d'automatisation, tandis que d'autres préfèrent trouver des partenaires externes spécialisés dans ce domaine ou disposant d'outils prêts à l'emploi.
Inutile de dire que, selon que votre équipe a de l'expérience dans le développement et la maintenance de cadres de test automatisés, les coûts (et la rentabilité) peuvent varier énormément.
Un autre point «fantôme» à prendre en compte dans votre analyse est ce qui se passe si vous n'investissez pas.
Coûts d'opportunité des tests manuels

Aucune discussion sur le retour sur investissement ne peut vraiment être complète sans tenir compte des pertes financières ou organisationnelles potentielles que vous pourriez subir si vous n'investissez pas dans de nouvelles technologies. «Le coût de l'opportunité perdue», pour ainsi dire.
Pour évaluer correctement l'opportunité (c'est-à-dire investir dans un processus rationalisé), vous devez considérer les inconvénients des alternatives courantes. Voici un bref aperçu des éventuels coûts d’opportunité perdus liés au maintien des tests manuels:
Ralentissement de plusieurs processus d’entreprise
La vitesse moyenne des tests automatisés est environ cinq fois supérieure à celle de leur homologue manuel. Cela a un impact sur la vitesse de livraison, les délais, la dynamique d'équipe, le stress et l'épuisement des employés.
Ce n'est cependant que la moitié du problème. Tout département interne influence les autres départements. L'entreprise est un organisme vivant et respirant.
Un ralentissement du développement ou de la production peut également entraîner l'arrêt d'autres services: ventes, marketing, audit, etc. Cela peut mettre les ressources humaines à rude épreuve pour gérer le bonheur des employés ou pour recruter de nouveaux développeurs / testeurs qui ne pourraient pas gérer la crise.
Microgestion organisationnelle
Comme pour tout ce qui est fait en interne et par des humains, il y a toujours un besoin pour la gestion organisationnelle, les ajustements, les réunions, les séances d'information et les rencontres individuelles avec les employés.
Si vos managers n’ont pas encore à s’occuper de cela, ce n’est qu’une question de temps. Dès que vous évoluerez, vous devrez vous impliquer dans la gestion du côté humain de vos équipes sous l'immense pression de la vitesse de livraison.
Les tests manuels augmentent cette tension de microgestion puisque vous déchargez encore plus de complexité technologique sur des personnes vivantes qui auront besoin de soutien pour rester productives.
Diminution de la production de livraison due aux tests de régression
Comme Blake Norrish le souligne avec précision dans son blog sur «the Regression Death Spiral», tester ne consiste pas seulement à vérifier cette nouvelle fonctionnalité. Il existe également des tests de régression.
Pensez à ce qui se passe lorsque vous travaillez depuis des années sur un logiciel. Des dizaines d'ingénieurs et de développeurs partent, de nouveaux arrivent. C’est un gâteau de code multicouche créé par différentes personnes.
Chaque test manuel est un processus laborieux pour s'assurer que la nouvelle fonctionnalité ne casse aucune ou TOUTES les précédentes, créées pendant toute la période de développement.
Ignorer cette idée peut souvent conduire à des désastreux conséquences (comme un nouveau patch qui rompt les fonctions fondamentales de l'ensemble du produit).
Que se passe-t-il lorsque votre équipe doit effectuer des tests de régression continus sur chaque nouvelle fonctionnalité? C’est vrai – tout ralentit douloureusement. Le burn-out, le stress et le non-respect des délais s'ensuivent. Les tests automatisés sont la solution largement acceptée pour éviter à la fois de ralentir vos tests ET d'éviter que de nouvelles fonctionnalités ne brisent les anciens systèmes.
Dans l'ensemble, seuls les acteurs de l'entreprise peuvent déterminer si vous devez mettre en œuvre l'automatisation des tests à un moment donné. . Cependant, aucun d’entre nous ne peut fuir l’innovation pour toujours et ne pas finalement prendre du retard.
Erreurs courantes dans le calcul du retour sur investissement

Comme pour toute nouvelle entreprise, prendre la décision calculée d’adopter de nouvelles technologies n'est que la moitié du trajet. La manière dont vous abordez le processus de mise en œuvre et si vous êtes assez sage pour ne pas répéter les erreurs des autres déterminera probablement également votre retour sur investissement.
Heureusement, l'industrie a fait suffisamment de progrès dans le sens de l'automatisation pour que la plupart des pièges courants soient manifestement évidents. Jetons un coup d’œil:
Ignorer TOUS les scénarios de test manuel
Les tests automatisés ne conviennent pas à tous les scénarios et processus. Une grande partie de la valeur des tests automatisés provient de l'exécution de ces tests plusieurs fois et tous les scénarios ne nécessitent pas d'automatisation .
Si votre développement est diversifié dans ses processus et ses produits / fonctionnalités, vous devrez peut-être exécuter des tests manuels parallèlement à des tests automatisés. Savoir où appliquer l'un ou l'autre vous permettra d'économiser de l'argent.
Uniquement des calculs de retour sur investissement à court terme ou restreint
Bien qu'il soit tout à fait correct de commencer par considérer le coût initial et le rendement de la mise en œuvre de l'automatisation des tests, il est également nécessaire d'évaluer le retour sur investissement à long terme de votre entreprise.
J'ai déjà décrit les problèmes potentiels liés aux tests manuels en interne. Vous avez sans aucun doute votre propre point de vue sur ces derniers (et d'autres) puisque vous connaissez bien votre équipe.
Les tests automatisés résoudront-ils plus de problèmes que le temps de contrôle qualité à long terme? Cela ouvrira-t-il de nouvelles opportunités? Améliorera-t-il la qualité du développement et des lancements de produits? Ce sont toutes des choses à prendre en compte dans les calculs de retour sur investissement à long terme.
Ignorer la maintenance des tests
Les tests automatisés sont toujours du code. Ce sont toujours des processus qui doivent être maintenus et mis à jour si vous voulez qu’ils apportent de la valeur pendant des années. C'est un facteur que vous devez étudier dans votre équation de retour sur investissement.
Votre équipe est-elle prête à gérer la maintenance? Ou avez-vous un partenaire / une société d’externalisation qui est compétent dans ce domaine? Comment voulez-vous gérer la maintenance à long terme?
Ignorer les enregistrements / la documentation
C'est ici que vous abordez le paramètre «fuite de connaissances» dans les calculs de retour sur investissement des tests automatisés. C’est une directive courte et vitale:
Documentez tout ce que vous pouvez.
Il y a peu d'événements aussi dommageables que la perte d'un employé clé qui a gardé toutes les connaissances en tête et la nécessité de repenser de nombreux cas complexes. L'automatisation peut également aider ici, car il y a moins de dépendance à l'expertise humaine (bien qu'elle soit toujours évidemment nécessaire).
En fonction de votre produit, de votre structure organisationnelle et de votre style de gestion, les considérations ci-dessus peuvent évoluer vers le haut ou vers le bas. priorité. Vous pouvez même rencontrer des écueils entièrement nouveaux à mesure que l'environnement technologique change. Cependant, garder ces points à l'esprit vous aidera à rester flexible et vigilant.
Paramètres de ROI de l'automatisation des tests avancés
La formule de base pour le calcul du ROI sur les tests automatisés ( ROI = Économies de coûts / Coût d'investissement) est presque universellement applicable. Cependant, ses composants peuvent varier en fonction de votre entreprise. En outre, les paramètres, les cas et les meilleures pratiques auxquels il faut prêter attention peuvent également être différents.
Il existe six paramètres / variations de calculs de retour sur investissement pour les tests automatisés, qui peuvent être autonomes pour votre entreprise ou s'intégrer dans une plus grande équation:
- Automatisation de nouveaux tests – c'est le scénario de cas le plus standard
- Automatisation des tests plus anciens – J'ai discuté des tests de régression, il s'agit d'un cas d'utilisation des meilleures pratiques à considérer sérieusement.
- Test de l'environnement global – savoir comment votre produit se comporte dans divers environnements peut être essentiel, étant donné que la plupart des entreprises cherchent à se diversifier dans ce domaine. Combien économiserez-vous en évitant les bogues dans différents environnements?
- Fuite de défauts – le nombre de bogues «fuyant» du développement à la production. De nombreux experts considèrent que c'est le paramètre le plus impactant car il peut faire le plus de dégâts lorsqu'il affecte les clients (et par conséquent, votre entreprise).
- Réutilisation ou redondance des tests – il n'y a guère de raisons de créer un nouveau test quand un celui existant peut être réutilisé. Les scripts modulaires sont un moyen d'atténuer ce problème, mais il en existe d'autres. Considérez ici l'aspect des économies.
- Fuite de connaissances – considérez le mandat moyen d'un ingénieur d'assurance qualité. Pensez ensuite à ce qui se passe s'il part. Quel est le coût du temps consacré à la formation d’un nouveau module et à la reconfiguration des cas de test manuels perdus? Comment l'automatisation peut-elle réduire vos coûts ici?
Il peut s'agir de paramètres dans votre calcul plus large ou de cas spécifiques si vous choisissez d'implémenter d'abord l'automatisation dans un domaine. Cela nous amène au sujet des meilleures pratiques générales dans l'industrie et comment s'assurer que la formule de retour sur investissement correspond réellement à la réalité via une intégration technologique correcte.
Meilleures pratiques d'implémentation de l'automatisation des tests
Un facteur important dans le calcul du retour sur investissement et la préparation intégrer un nouveau processus d'entreprise, c'est connaître les meilleures pratiques de l'industrie, ce qui peut affecter directement ou indirectement vos coûts et vos rendements.
Les deux règles empiriques sont: l'introduction progressive et la planification à long terme.
Calculer le retour sur investissement sur papier est une chose, mais s'assurer que l'entreprise adopte organiquement une nouvelle technologie en est une autre. Alors, quels sont les trois principaux points à considérer lors de la mise en œuvre effective?
1. N'automatisez pas chaque processus tout de suite
Se précipiter pour automatiser chaque test dès le premier jour est l'autre extrémité de l'extrême. Comme je l'ai déjà mentionné, les tests manuels ont leur place.
Considérez attentivement le pipeline de votre transformation automatisée et le type d'équilibre de votre entreprise en ce qui concerne les besoins de test. Lequel des paramètres de retour sur investissement avancés énumérés ci-dessus est le plus important pour vous? Par où commencer?
2. Comprenez que chaque test deviendra un test de régression à terme.
Le danger d’ignorer le retour sur investissement lors de l’automatisation des tests précédents est que cela laisse un angle mort dans votre entreprise: vous ne prenez pas en compte l’avenir de vos tests actuels.
La meilleure pratique pour cela est d'intégrer immédiatement de nouveaux tests en tant qu'élément de votre processus de test de régression.
3. Évaluer la chronologie (modèle en cascade ou modèle de décalage à gauche)
La méthode de test de décalage à gauche a été saluée comme la grâce salvatrice des entreprises embourbées dans des tests manuels coûteux via l'ancien modèle de cascade (où le développement et les tests sont effectués de manière séquentielle).
Shift-left est basé sur un développement et des tests simultanés via l'automatisation et des pratiques agiles, garantissant une meilleure qualité et un gain de temps considérable. Dans la plupart des cas, c'est la direction à suivre pour la plupart des équipes de développement et d'assurance qualité.
Conclusion

Les tests automatisés ont le potentiel d'amener la plupart des entreprises à un nouveau niveau d'efficacité. Sur les marchés concurrentiels d’aujourd’hui, la rapidité et la qualité de la livraison sont des facteurs vitaux de survie et de succès.
La synergie entre l'expertise humaine et les outils automatisés est ce qui définit les acteurs les plus dominants du marché. Les calculs de retour sur investissement restent la principale méthode pour déterminer comment aborder l'automatisation des tests, mais les responsables ne doivent jamais oublier qu'il ne s'agit pas d'une formule simple.
En fin de compte, vos propres ressources internes et la structure de votre entreprise, le choix du partenaire d'automatisation, les besoins des clients et d'autres facteurs ont un impact important sur vos rendements à long terme.
Alors, soyez conscient des spécificités de votre entreprise, trouvez des sous-traitants dignes de confiance et appréciez avant tout la santé de votre équipe et de vos processus de développement.
Publié le 11 mars 2021 – 10:40 UTC
Source link