Tests logiciels et Agilité à l’échelle

Si vous travaillez dans des contextes Agiles , vous devez de plus en plus souvent gérer non plus une seule équipe, mais plusieurs équipes collaborant à un incrément du système. Leurs activités se recoupent sur des thèmes/features communs. Au-delà des tests réalisés par chaque équipe Agile, les tests inter-équipes, c’est-à-dire transverses aux développements réalisés par plusieurs équipes, constituent une problématique forte de l’Agilité à l’échelle.

Notre constat

De nombreuses études sont consacrées à la mise en œuvre de solutions d’Agilité à l’échelle avec des frameworks tels que SAFe®, Scrum of Scrums, etc. Mais malheureusement, très peu d’entre elles se concentrent sur les pratiques de test, en particulier au niveau inter-équipes.

Afin de mieux comprendre l’état des pratiques des tests dans les contextes d’Agilité à l’échelle, nous avons réalisé en juin 2020, en collaboration avec l’Université de Franche-Comté et le Comité Français de Tests Logiciels, une enquête de terrain sur ce sujet.

Nos résultats

Nous avons réalisé 20 interviews approfondis avec des personnes occupant différents rôles dans le déploiement de l’agilité à l’échelle, et nous avons recueilli 66 réponses lors de notre enquête en ligne (réalisée en juin 2020). Voici un résumé de ce que nous avons appris. Les résultats complets de l’enquête en ligne sont disponibles ici sur le site du CFTL.

Veuillez noter que le questionnaire était à choix multiple, ce qui explique les pourcentages cumulés supérieurs à 100%.

Les tests inter-équipes sont peu maîtrisés

91% des répondants déclarent avoir des difficultés concernant les tests inter-équipes. Ce résultat est corroboré par le fait que seulement 50 % des personnes interrogées ont mentionné la présence d’une équipe chargée de réaliser les tests inter-équipes

En interview :
« Tester le bout en bout : ils ne savent pas »
« On n’a pas les moyens de faire les tests transverses et d’avoir la vision bout en bout »
« Les tests inter-équipes ne sont pas mis en place »
« Les composants sont testés séparément »

Les difficultés principales pour les tests inter-équipes sont :

  • L’intégration des tests dans les itérations.
  • Le manque ou l’absence de scénarios de bout en bout.
  • La gestion de l’automatisation des tests.
  • Le manque ou l’absence d’environnements permettant d’effectuer les tests.
Figure 1 : Extrait des réponses à la question :
« Quelles difficultés avez-vous rencontrées sur les activités de test au niveau inter-équipes pour vérifier des comportements transverses ?« 

Les rôles et les activités en test évoluent et sont reconnus

À la question « Le passage à l’Agilité à l’échelle a-t-il entraîné une réorganisation des personnels en test ?« , 51,28% des répondants ont fait valoir le fait que les testeurs sont au cœur des équipes et que leur rôle est reconnu. 

L’importance du rôle du testeur est renforcée dans la mesure où 74% des répondants (Q18) précisent qu’ils collaborent davantage avec les acteurs du produit (développeur, scrum master, PO, etc.). 56% affirment qu’ils ont une plus grande variété de tâches et 62% des répondants précisent que ces tâches peuvent être plus techniques (orientées vers l’automatisation par exemple).

Les personnes en charge de la qualité sont omniprésentes au sein de la solution, parmi un ensemble de propositions possibles (Q17), 72% des répondants estiment qu’il y a au moins un testeur par équipe Agile, et 69% disent qu’un ou plusieurs responsables de tests coordonnent les activités de tests.

Figure 2: Résumé des réponses liées aux rôles et activités des testeurs

Le rôle du testeur devient donc plus prépondérant et varié grâce à une plus grande intégration et collaboration au sein des équipes et à la diversification de ses activités.

Il en va de même pour le Test Manager, ainsi, 87% des répondants mentionnent la présence d’un Test Manager au sein de leur solution (Q19). De plus, près de la moitié des répondants affirment qu’il s’agit d’un rôle clé, qu’il est présent aux différentes cérémonies et ateliers et que son rôle est d’assurer, entre autres, le partage des bonnes pratiques entre les leaders et les acteurs de la solution. Mais ce rôle est aussi challengé par l’arrivée du rôle de “Test Coach” chargé de diffuser les bonnes pratiques et de contribuer à l’harmonisation des pratiques de test entre les équipes agile et au niveau inter-équipe.

Acceptation et maîtrise de l’Agilité à l’échelle sont des facteurs sur la maîtrise de la qualité

La mise en place de l’Agilité à l’échelle reste encore un défi aujourd’hui, car elle n’est pas nécessairement complètement connue, comprise et acceptée. Tous les répondants ont déclaré avoir eu une ou plusieurs difficulté(s) dans la mise en œuvre de l’Agilité à l’échelle. 67% des répondants mentionnent des difficultés avec la gestion hiérarchique et organisationnelle, suivies par la résistance au changement à 56%, puis le manque de connaissance de l’Agilité à l’échelle à 46% (Q15). Le manque de maîtrise globale des processus d’Agilité à l’échelle peut expliquer en partie la difficulté de la mise en œuvre globale des tests, notamment au niveau inter-équipes.
Les interviews nous ont appris que dans les grands systèmes d’information, la mise en place d’environnements de tests et la gestion de l’automatisation sont des sujets coûteux, en raison de la taille des infrastructures à mettre en place. L’acceptation par la hiérarchie doit avoir lieu, ce qui, selon le contexte, peut prendre plusieurs mois. L’importance des tests inter-équipes sur la qualité du produit est aussi parfois sous-évaluées par les managers, ce qui conduit à un manque d’affectation de moyens sur ce sujet.

En interview :
« Il n’y a pas d’accompagnement managérial sur le test »
« D’un point de vue de la direction, on voudrait moins de tests et plus produire »
« On se heurte à l’historique de la maison »

la maîtrise des tests inter-équipes est un sujet important d’amélioration des pratiques

Globalement, les contextes de l’Agilité à l’échelle sont très rarement assez organisés pour permettre une maîtrise des tests inter-équipes. Sur la solution complète, 44% des répondants affirment que différentes approches apparaissent de différentes équipes (Q15). Plus spécifiquement sur les tests, 45% des répondants affirment que la maturité et les techniques de test utilisées au niveau des équipes sont très hétérogènes (Q22).  Cette hétérogénéité implique souvent que les tests sont plus maîtrisés au niveau de l’équipe qu’au niveau transverse. (52%)

En interview :
« Il y a des problèmes d’incompréhension entre chaque équipe »,
« Pour certaines équipes le niveau de test est bas, l’automatisation faible »,
« La plus grosse difficulté c’est d’apporter la pluridisciplinarité au niveau des équipes »

Il semble nécessaire de standardiser les pratiques d’abord au niveau des équipes et de mettre en place une stratégie dédiée aux tests transverses, afin d’aller vers une maîtrise des tests inter-équipes. Cette tendance est confirmée par le fait que 68,75% des répondants ont déclaré que la mise en place d’une communauté de test pour proposer des bonnes pratiques, des outils communs et des formations serait un élément clé sur lequel s’appuieraient les tests inter-équipes (Q22) ; De même, la présence de Test Managers ou de rôles similaires pour coordonner les activités de test. Il est à noter que le soutien de l’organisation sur la qualité globale de la solution est également présent à 68,75%, ce qui confirme les difficultés rencontrées aujourd’hui sur le sujet et la nécessité d’y remédier.

Figure 3: Réponses à la question : D’après vous, sur quels éléments clés reposent les tests transverses inter-équipes ?

Conclusion et perspectives

Il reste encore beaucoup de chemin à parcourir pour parvenir à la maîtrise des tests inter-équipes. Pour avancer, nous devons trouver les approches et les outils de demain qui nous permettront de réunir les acteurs impliqués dans les solutions, et de travailler ensemble pour mieux comprendre, construire et vérifier les grands systèmes d’information. Ceci en prenant en considération la nécessité d’acquérir plus de visibilité sur le système dans son ensemble, tout en étant capable de placer ces efforts dans des itérations et en abordant les questions relatives à l’automatisation.

Ces réflexions seront abordées dans un futur article où nous présenterons comment une approche visuelle de représentation graphique des workflows de test permet la construction de scénarios de bout en bout, facilitant ainsi le partage et l’alignement des parties-prenantes à l’incrément fonctionnel.

Publié par

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s