Gamification dans la qualité logicielle : 5 principes à retenir
Chacun le sait, la qualité logicielle est plus qu’importante. La négliger a un impact négatif avec au mieux une légère baisse de productivité et au pire des défauts majeurs, presque impossibles à corriger et entrainant des coûts qui peuvent s’avérer désastreux pour une société.
Pour autant, il faut se rendre à l’évidence, gérer la qualité logicielle au quotidien n’est pas très motivant. De fait, on reporte trop souvent au lendemain les activités relatives à la qualité, augmentant inévitablement la dette technique et faisant augmenter le risque de la non-qualité.
“Ok, mon code n’est pas clean clean… mais au moins il marche (ouf) ! Demain, je ferai un truc plus propre” M. RushCoder
L’implication au quotidien dans la qualité est donc un enjeu majeur auquel toutes les sociétés font face. L’objectif est d’intégrer les activités relatives à la qualité dans les processus de développement et de faire en sorte qu’elles ne soient jamais oubliées.
“T’avais pas dit que tu rendrais ton code plus propre ? ESLint n’arrête pas de crier !” M. GentilManager
“Si si, mais là je dois absolument finir cette tâche, sinon on ne livrera jamais à temps, je fais ça lundi prochain… promis” M. RushCoder
Pour améliorer l’implication dans la qualité, la gamification peut être un très bon moyen. Elle permet en effet de rendre ludique la qualité, moins ennuyeuse.
A ProMyze, nous avons donc intégré la gamification dans notre outil Themis. Nous décrivons ici les enseignements que nous en avons tiré.
La gamification c’est quoi ?
La gamification c’est l’intégration de mécanismes du jeu dans un contexte qui n’est pas un jeu. Initialement, l’apparition de la gamification s’est faite avec les points sur les cartes de fidélité des compagnies aériennes. Grâce à ces points sur les cartes de fidélité, plus on effectue de vols, plus on gagne des points, et plus on gagne des points, plus on a un statut privilégié et plus on a d’avantages (salon, coupe file, extra, bonus, etc.).
La gamification ajoute une couche ludique avec des mécanismes empruntés au jeu (ici les points et les niveaux). Ces mécanismes sont appliqués à une activité qui n’est pas un jeu (dans l’exemple des cartes de fidélité, voyager en avion n’est pas un jeu).
Le côté ludique de la gamification fait changer les comportements, ce qui est l’objectif premier. Les cartes de fidélité des compagnies aériennes poussent en effets les clients à gagner plus de points afin d’obtenir un statut privilégié. La reconnaissance est l’effet levier qui permet ici d’influencer les comportements. Le résultat commercial (qui est l’objectif principal) est que la compagnie garde ses clients.
Notons que la gamification n’est absolument pas comparable avec les serious game. Un serious game est un jeu dont l’objectif est d’apprendre une compétence qui servira un contexte non ludique. Un simulateur de vol est un serious game. C’est un jeu même s’il n’est pas vraiment ludique. C’est un jeu sérieux car l’objectif est d’apprendre à piloter.
Comment avons-nous gamifié Themis ?
Pour faire face à ce besoin d’améliorer l’engagement dans la qualité logicielle nous avons ajouté une couche de gamification dans Themis. Sans entrer dans les détails, Themis compte les actions réalisées par les développeurs, que celles-ci soient nocives (elles diminuent la qualité), réparatrices (elles augmentent la qualité) ou saines (elles ne changent pas la qualité). L’objectif de base de notre couche de gamification est d’avoir un bon score en actions saines et réparatrices, et d’avoir un faible score en actions nocives.
Enfin, et ce pour rendre la couche de gamification plus ludique, chaque développeur a un niveau et peut obtenir des badges. La figure suivante montre le profil de Camille qui a réalisé 450 actions réparatrices et saines ce qui fait qu’elle a atteint le niveau 10. Elle a tous les badges bronze et le badge samaritain en argent, cela veut dire qu’elle aide son équipe en réparant les erreurs commises par ses collaborateurs.
“Génial, je viens de gagner mon badge samaritain argent en corrigeant des défauts présents dans le code du projet” Camille
Notre couche de gamification est utilisée par plusieurs de nos clients. Elle est très bien accueillie par les équipes qui ont souhaité la mettre en application. A chaque fois, elle augmente considérablement l’engagement des développeurs dans la qualité logicielle.
Quels enseignements avons-nous appris ?
La mise en place de notre couche de gamification est le fruit d’un travail de plusieurs mois. Cette mise en place nous a permis d’apprendre les enseignements suivants.
Ne pas imposer la Gamification
Lorsque nous avons livré notre couche de Gamification, celle-ci était automatiquement activée et tous les développeurs jouaient au même jeu. Quelques jours après, on a reçu un message qui nous a permis de rapidement comprendre le premier principe.
“Moi je suis développeur, je ne suis pas payé pour gagner des points. De plus j’ai du mal à comprendre ceux qui jouent !” M. AnonymeButNotPlayer
Effectivement la gamification est un bonus qui permet d’améliorer l’engagement. La Gamification doit être proposée et non pas imposée. Tout le monde n’a pas forcément envie de jouer pendant qu’il travaille. Dans Themis, nous avons mis en place des salons de jeu. Les développeurs peuvent participer à un salon s’ils le souhaitent. C’est un acte volontaire.
Ne pas blamer mais féliciter
La gamification ajoute un côté ludique. Il faut donc être uniquement sur le côté positif et favoriser les bonnes pratiques. Les points négatifs n’ont pas de place dans un tel système.
“Ok j’ai gagné 10 points et toi 400, néanmoins je suis assez content de ce que j’ai fait” Mme HappyDev
Dans Themis on ne peut que gagner des points, passer des niveaux ou gagner des badges. Personne ne peut perdre de niveau ni de badges.
Proposer différents jeux
La gamification doit offrir plusieurs facettes car tous les joueurs n’ont pas les mêmes attentes. Certains joueurs aiment la course, d’autres aiment réaliser des actions d’éclats, enfin certains aiment aider les autres.
“Je ne suis peut-être pas très constant mais par contre je suis samaritain, ca veut dire que je répare les erreurs contenues dans le projet” M. TeamMate
Dans Themis nous avons défini plusieurs types de badges afin de correspondre aux attentes de nos clients. Certains préfèrent montrer qu’ils sont constants ou méticuleux, d’autres qu’ils sont samaritain.
Un jeu a un début mais surtout une fin !
Tout mécanisme de gamification doit avoir un début et une fin. Sinon les anciens joueurs se lassent et les nouveaux n’ont pas envie de participer. Dans Themis, la gamification est rythmée avec le projet (sprint pas exemple). Les scores et les badges peuvent être remis à zéro.
“Super un nouveau sprint, on démarre un nouveau le salon de jeu, je vais tout faire pour avoir le badge méticuleux que je n’ai pas encore obtenu” M. IWantMyBadge
Servir le management
La Gamification doit absolument servir le management. Il faut être vigilant, l’utiliser mais ne pas en abuser. La couche de gamification de Themis améliore l’engagement des développeurs mais elle doit être absolument intégrée au management et au processus de développement.
“Ok personne n’a obtenu le badge méticuleux ! C’est certainement parce qu’on est trop dans le rush. Du coup, j’ai réduit la voilure.” Mme WiseManager
Attention ce point est crucial car sinon la gamification peut être une véritable bombe à retardement source de véritables conflits.
En Synthèse
Notre expérience de la gamification est plus que positive. Nos clients l’utilisent et apprécient les bénéfices qu’elle apporte. Les 5 principes que nous avons identifiés sont pour nous des facteurs clés de réussite.
Une couche de Gamification doit :
- Etre Volontaire = rendre volontaire/libre la participation au jeu
- Etre positive = mettre en avant les actions positives plutôt que de pointer les problèmes
- Etre multiple = proposer différentes facettes de jeu
- Etre rythmée dans le temps = être alignée avec le rythme de travail en considérant des fins de partie et même des pauses
- Etre liée au management = être pilotée par le management à des fins d’engagement.
Dans Themis, notre couche de gamification est optionnelle. Elle ne peut être exploitée que volontairement par les développeurs. Elle compte les actions saines, réparatrices et nocives réalisées par les développeurs et plébiscite les actions positives. Elle propose de passer des niveaux et de gagner des badges. Enfin, elle est rythmée dans le temps et est liée au management.
Grâce à ces aspects, elle permet à nos clients d’améliorer l’engagement dans la qualité logicielle en la rendant plus ludique.