La maturité des tests est un sujet complexe dans le monde du test logiciel. Il n’est d’ailleurs pas étonnant que pour mesurer cette maturité ou même élaborer des moyens d’industrialiser l’évaluation de cette maturité on passe par des « experts ».
Dans cette série je vous propose une description de ce sujet selon 3 axes:
- Les modèles actuels de mesure de maturité des tests
- Des pistes de réflexion pour améliorer les modèles actuels ou en proposer de nouveaux
- L’évaluation de la maturité par les audits
Les modèles d’évaluation de la maturité des tests
Il existe actuellement 2 modèles pré-dominant pour mesurer une maturité des tests. Ces modèles sont le modèle TMMI (inspiré de CMMI) et le modèle TPI élaboré par des experts Sogeti.
Pourquoi des modèles de maturité ?
Avant de présenter succinctement ces modèles il me semble important d’expliquer pourquoi ces modèles ont vu le jour. Les raisons sont évidemment nombreuses mais s’il faut en retenir 2 ce sont celles-ci:
- Il est important de savoir où l’on se situe si l’on veut s’améliorer
Toute démarche d’amélioration part de constats et de mesure. Les modèles d’évaluation TMMI et TPI permettent de déterminer son niveau de maturité selon certains axes mais aussi de prioriser des axes d’amélioration.
- Le test étant très dépendant du contexte il est nécessaire d’avoir un outil « impartial » pour pouvoir comparer diverses situations
Comparer 2 logiciel en terme de qualité des processus de test est aussi complexe que comparer 2 équipes Agiles. Afin d’être le plus « neutre » possible il est nécessaire de simplifier de de proposer des modèles pouvant permettre une comparaison.
Il est maintenant temps de présenter les modèles TMMI et TPI.
Le modèle TMMI
Le modèle TMMI est un modèle inspiré de CMMI. Comme CMMI il est composé de 5 niveaux (dans les faits 4 car le niveau 1 est la non atteinte du niveau 1) qui sont:
- Le niveau 1: « initial »
La non atteinte du niveau 2
- La niveau 2: « discipliné »
Qui assure la mise en place des éléments « nécessaires » pour tester dans de bonnes conditions. Ces éléments sont par exemple la mise en place d’une stratégie de test, la mise à disposition d’un environnement de test, des tests conçus…
- Le niveau 3: « Ajusté »
C’est un prolongement du niveau 2. Il assure la mise en place de bonnes pratiques au delà des éléments nécessaires du niveau 2. C’est ici que l’on retrouve par exemple la présence de tests non-fonctionnels et les revues.
- Le niveau 4: « Géré quantitativement »
On est ici plus sur la capacité à mesurer l’impact des tests
- Le niveau 5
Le principe est de se servir des mesures du niveau 4 pour s’améliorer et anticiper les problèmes pour les éviter.
Le modèle TPI
Le modèle TPI se différencie de TMMI principalement par sa forme car, au final, beaucoup de critères évalués sont communs. Dans TPI, plutôt que de proposer 5 niveaux globaux l’évaluation se fait par rapport à 16 axes. Chaque axe ayant une note allant de 0 (initial) à 4 (optimisé), le niveau 1 étant contrôlé et le niveau 2 efficient. Il est bon de noter qu’une note de 1 n’est donc pas mauvaise même si au final cela revient à 1/4. Voici ce à quoi peut ressembler un radar issue de TPI:
L’intérêt d’une telle représentation est d’être plus « fin » dans ces évaluations: on peut être très bon sur certains axes et moins sur d’autres. On arrive donc à une évaluation sous forme de radar plutôt qu’un simple « niveau » (qui lui a pour avantage d’être plus simple à appréhender).
Les axes de mesures sont variés et regroupés en 3 « familles »:
Ces modèles ont de forts avantages mais aucun ne s’est imposé. Cela s’explique par des limites intrinsèques de ces modèles.
Les limites des modèles de maturité TMMI et TPI
Les modèles TMMI et TPI sont en général bien connus (au moins de nom) des testeurs. Ils ne sont par contre pas souvent mis en pratique que cela soit de manière informelle ou plus structurée.
Cette non mise en pratique s’explique par une relative complexité à faire l’évaluation. En effet, une évaluation TPI ou TMMI prend du temps. La (les) personne(s) effectuant cette évaluation se doit (doivent) de couvrir un grand nombre de sujet liés au développement logiciel, de bien les synthétiser pour pouvoir évaluer le niveau de maturité relatif à ces référentiels.
De plus, recueillir les informations est essentiel mais non suffisant! Il faut être en capacité d’analyser ces résultats afin d’estimer si telles ou telles pratiques sont bien mises en place et à quel niveau. Le travail d’évaluation en lui même peut vite s’avérer complexe et une formation est souvent nécessaire pour s’assurer de bien comprendre ce qui est attendu (la forme d’un même livrable peut fortement variée!).
Enfin une autre problématique, qui est malheureusement l’apanage de tout modèle que l’on souhaite aussi générique que possible est qu’il ne s’adapte pas forcément à tous les contextes ou qu’il peut s’avérer être trop rigide dans certains cas et jugés comme arbitraire.
Je vais prendre ici l’exemple du TMMI car c’est le modèle que je connais le mieux.
Pour atteindre le niveau 2 TMMI il est nécessaire d’avoir une politique de test (au sens ISTQB). La politique de test est un élément que ne n’ai que très rarement vu. Hors cet élément est nécessaire pour être niveau 2 TMMI, pas de politique de test entraîne un niveau TMMI de 1 (le plus faible possible) et ce même si toutes les pratiques niveau 3 et 4 sont mises en place. On voit ici que le choix de mettre la politique de test au niveau 2 a un énorme impact sur le niveau TMMI d’une entreprise alors que pour beaucoup de professionnel il est légitime de se questionner sur l’importance de ce document qui est au final que très rarement utilisé. Les exemples comme cela peuvent facilement être multipliés et chaque professionnel du test aura sa manière d’ordonnancer les priorités et donc ce qui est nécessaire à chaque niveau.
Ces choix nécessaires mais qui peuvent être considérés comme arbitraires créent des divergences et sont sources de nombreux débats notamment sur la pertinence de ces notations qui, par essence, ne peuvent pas prendre en compte le contexte.
Conclusion
Évaluer un niveau de maturité des tests n’est pas chose aisée. Comparer une maturité entre 2 équipes différentes est encore plus complexe. Afin de pouvoir répondre à ces questions, et dans l’optique de proposer des améliorations au plus grand nombre possible d’équipes, des modèles d’évaluation de la maturité ont vu le jour. Les plus reconnus sont TMMI et TPI. Néanmoins, ces modèles ont certaines limites qui font qu’ils ne se sont pas généralisés.
Le sujet de la maturité reste particulièrement complexe et je suis persuadé que la présence de plusieurs modèles est essentiel pour pouvoir bien sélectionner celui qui correspond le plus à son contexte et nous permettre de déterminer des axes d’améliorations. Propose d’autres pistes pour évaluer sa maturité des tests est justement le sujet du prochain article de cette série!
Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test
Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles
N’hésitez pas à faire vos propres retours d’expérience en commentaire.