Cet article présente un retour d’expérience de la mise en place de Themis sur une promotion de Master 2 Génie Logiciel à l’Université de Bordeaux, dans le cadre du module Conduite de Projet dirigé par Xavier Blanc, expert scientifique chez ProMyze et Professeur à l’Université de Bordeaux.

Enseigner la conduite de projet en Master

L’UE (Unité d’Enseignement) “Conduite de Projet” est enseignée par Xavier au Master 2 de l’Université de Bordeaux. L’objectif est, pour les étudiants, de comprendre la façon de conduire des projets logiciels en suivant une approche agile. Cette UE est suivie par 42 étudiants à profil “développeur” qui ont une formation importante en développement logiciel. 

L’UE se décompose en deux parties. La première partie dure 6 semaines et a un format universitaire classique avec des cours et des TD. A chaque semaine un concept de conduite de projet est présenté (issue, task, test, documentation, code, release) et une mise en application est proposée sur des cas concrets. La deuxième partie dure elle aussi 6 semaines mais consiste à réaliser un mini projet. Cette deuxième partie est découpée en 3 sprints de 2 semaines chacun. Les étudiants, regroupés par équipe de 3 (14 équipes en tout), doivent développer une application web permettant de conduire des projets logiciels (c’est donc une mise en abyme).

Coût, Délai et surtout qualité ? (le rôle de Themis) 

L’objet de l’UE est de bien comprendre l’importance de la conduite de projet pour gérer le fameux triptyque : coût, qualité, délai. Si les aspects de coût et de délai sont assez faciles à comprendre pour les étudiants, il en est tout autre pour le concept de qualité qui reste trop souvent abstrait.

Pour rendre ce concept beaucoup plus concret et tangible, l’idée a été de faire un focus sur la qualité du code et des tests, et surtout de montrer la gestion de la dette technique dans un projet logiciel. C’est sur ce point que l’outil Themis a été proposé aux étudiants.

Mise en place technique

L’équipe ProMyze a déployé une instance de Themis durant le premier sprint (3 sprints de 2 semaines pour rappel), avec également l’installation d’un environnement Jenkins et SonarQube pour mettre en place une chaîne d’intégration continue exclusivement dédiée aux opérations d’analyses de code. Les projets des étudiants ont ensuite été créés dans Themis, ainsi que les comptes de connexion de chaque étudiant. Toute l’infrastructure a été hébergée sur un environnement AWS géré par ProMyze. Tout était opérationnel et accessible H24 et tous les jours de la semaine.

Pour des raisons de simplicité dans la mise en oeuvre, les étudiant·e·s n’ont pas eu accès à Jenkins et à SonarQube. Ces outils ont néanmoins été brièvement introduits auprès de la promotion lors d’une intervention de Cédric dans le cadre d’un cours sur la dette technique et le Software Craftsmanship début Décembre.

Exploitation de Themis 

L’exploitation de Themis par les étudiants s’est faite sur le volontariat. Les étudiants avait un accès libre à la solution. Ils avaient tout le temps qu’ils voulaient pour prendre en main l’outil. Enfin, une personne de ProMyze (Cédric en l’occurrence) était présente sur un channel Slack dédié à l’UE pour offrir assistance aux étudiants et répondre à leurs questions.

Il est important de noter qu’il n’y avait aucune obligation d’utiliser la plateforme et que cela ne faisait pas partie de leurs attendus (pas de lien avec la note de l’UE).

Feedbacks en fin d’UE

D’un point de vu quantitatif, tous les étudiants sauf un ont validé leur inscription sur Themis alors que cela n’était pas obligatoire. Lorsqu’on regarde les statistiques d’utilisation de Themis (c.f. figure suivante), on peut voir que les étudiants utilisaient Themis régulièrement. On peut même voir que pour les journées de la semaine, il est possible de dépasser les 15 connexions (sur 42 étudiants cela fait 35%). 

Nombre d'utilisateurs connectés pendant la période de test

D’un point de vue qualitatif, environ un tiers des groupes s’est fortement impliqué dans la démarche. Grâce aux indicateurs de haut-niveau montrés par Themis, qui comparent la progression du nombre de lignes de code avec la progression des défauts, on peut voir que la dette diminue après l’intégration de Themis (en sprint 2). La figure suivante montre ce résultat pour une des équipes les plus investies.

 

Evolution des statistiques sur Themis 

Du point de vue de la gamification, le salon de jeu a attiré 32 personnes. On peut voir que les étudiants ont appréciés ce côté ludique. Certains étudiants ont même vraiment bien joué le jeu (voir figure suivante).

Game room pendant la période de test

Enfin, il est à noter que des plans d’actions ont été créés automatiques à la fin de chaque sprint. Ces plans d’action permettent de guider les étudiants dans leur amélioration de la dette technique. On peut voir que certains étudiants les ont complétés manuellement. Par exemple, la figure suivante montre un étudiant qui s’est ajouté un objectif de diminution de dette.

PA pendant la période

On voit que ce plan d’action a été en grande partie suivi puisque, 3 objectifs ont été réussis sur les 4 proposés à ce projet.

Quelques feedbacks utilisateurs

Nous avons également proposé aux étudiant-e-s un court questionnaire en fin de projet pour avoir leur ressenti sur Themis. Nous avons obtenu 8 réponses. 

7 étudiants affirment avoir utilisé la plateforme plusieurs fois par semaine, dont 4 tous les jours. En termes d’utilisation des modules de la plateforme, il était intéressant de constater qu’ils ont été tous sollicités à différents niveaux, mais qu’aucun n’a été exclu ou mis de côté. Les étudiant-e-s ont fait preuve de curiosité pour explorer les différentes parties de Themis ! 

Nous avons également posé la question “Auriez-vous aimé assister à une présentation ou formation sur Themis ?”. Une seule personne a répondu “Oui”, les autres ayant indiqué “Non” ou “Ne se prononce pas”. Comme l’indique la question, aucune formation préalable à Themis n’a été donnée, l’objectif étant aussi chacun-e prendre en main l’outil.

Parmi les points positifs remontés, voici quelques commentaires formulés :

  • “En plus de me motiver à résoudre les problèmes de dette technique, Themis m’a motivé à avancer dans le projet dans sa globalité”
  • “Identification simple et explicite des dettes techniques, ce qui donne un gain de temps à la correction de celles-ci”
  • “L’aspect ludique par rapport à d’autre outil similaires”

Il est également à noter que pour les 8 personnes qui ont répondu, il s’agissait de leur première expérience d’utilisation d’outils dédiés à la qualité logicielle.

Cette démarche vous intéresse ? 

Il s’agissait pour ProMyze de la première mise à disposition effective de Themis auprès de projets étudiants. Cela est positif car l’effet “sensibilisation à la qualité” a fonctionné auprès d’une grande partie de la promotion. 

Cette expérience montre que ProMyze est aujourd’hui ouverte pour accompagner des universités, écoles et structures de formation dans le cadre d’une démarche de sensibilisation à la qualité logicielle. Si vous souhaitez répliquer cette expérience dans votre contexte, n’hésitez pas à nous écrire pour que l’on en discute !

Start connecting developers' knowledge with Promyze

Best coding practices shared from IDEs & Code reviews

Promyze, the collaborative platform dedicated to improve developers’ skills through best practices sharing and definition.

Crafted from Bordeaux, France.

©2023 Promyze – Legal notice