En septembre de l'année dernière, nous avons discrètement lancé le Track Anatomy Project d'Exercism. Depuis, nous en avons parlé à de plus en plus de personnes, et nous avons maintenant décidé que le moment était venu de présenter publiquement le travail formel que nous menons pour améliorer les parcours et les exercices sur Exercism.
Pour comprendre la raison d'être et la nécessité du Track Anatomy Project, il faut remonter aux origines d'Exercism. Exercism a démarré sous la forme d'une série de parcours de langues, chacun avec un ensemble d'exercices qui se recoupaient. Il n'y avait ni ordre ni structure à proprement parler : n'importe qui pouvait choisir l'exercice qui lui semblait intéressant, le résoudre, envoyer son code, et espérer que quelqu'un le remarque et le commente. Au cœur de notre relance de 2018, il y avait la volonté de recentrer Exercism sur une approche beaucoup plus structurée, tant des parcours eux-mêmes que de l'apprentissage qui les accompagnait. Nous avons décidé de refondre les parcours de langues pour qu'ils s'articulent autour d'une colonne vertébrale fixe, composée d'« exercices principaux » obligatoires, qui déverrouillaient des « exercices annexes » optionnels à mesure qu'ils étaient terminés. Nous avons demandé aux mainteneurs de structurer cette colonne vertébrale principale de façon à ce que la difficulté aille croissante, et de concevoir une séquence de déverrouillage pertinente au regard des techniques travaillées. Les mainteneurs ont abordé la chose de manières différentes, avec des réussites plus ou moins grandes. Certains n'avaient tout simplement pas le temps, et dans ce cas nous avons choisi dix exercices relativement arbitraires pour constituer le tronc initial.
Il est très vite devenu évident que la conception d'un parcours avait une influence considérable sur sa réussite. Au cours des premiers mois suivant le lancement, nous avons fait une série d'observations déterminantes :
- Les langages qui commençaient par un exercice trop difficile frustraient les gens et entraînaient un abandon rapide.
- La difficulté à mentorer un exercice était directement corrélée à la complexité de l'exercice, et non à sa difficulté.
- Les exercices qui pouvaient se résoudre d'une seule manière typique (par exemple « Acronyme »), ou qui avaient des objectifs d'apprentissage clairs, étaient beaucoup plus rapides à mentorer que ceux qui offraient de la variété (par exemple « Bob »).
- L'ordre dans lequel les concepts sont introduits compte : aborder les idiomes essentiels dès les premiers exercices rend les exercices suivants plus faciles, tant pour l'apprenant que pour le mentor.
À partir de là, nous avons compris qu'une grande partie de la réussite du mentorat sur Exercism allait dépendre de la qualité du « programme » des parcours : avoir les bons sujets, traités explicitement dans les bons exercices, dans un ordre approprié. Nous avons donc décidé de développer un cadre formel qui nous servirait de guide pour les mainteneurs, et de créer un parcours qui nous servirait d'étalon pour les autres parcours.
En parallèle de tout cela, l'une de nos mentores, Maud de Vries, qui est coach professionnelle depuis 20 ans, avait commencé à publier régulièrement des suggestions pour améliorer le parcours Ruby. Ses idées rejoignaient remarquablement bien ce que nous étions en train de constater de notre côté. Discrètement, en arrière-plan, Maud analysait chaque exercice Ruby l'un après l'autre et élaborait une cartographie des liens entre les exercices, des concepts qu'ils contenaient, et de la manière dont ils pourraient être mieux agencés pour former une structure de parcours bien pensée pour les apprenants, et agréable et stimulante pour les mentors. Quand elle nous a montré une partie de son travail, nous avons décidé qu'elle était la personne idéale pour élaborer notre cadre de travail sur les parcours, et qu'elle pouvait reprendre le parcours Ruby pour en faire notre modèle. Depuis, Maud travaille à temps partiel pour Exercism : elle repense le parcours Ruby et élabore un cadre en plusieurs étapes que les mainteneurs suivent pour reproduire rapidement ses découvertes dans d'autres langages. Depuis octobre, Erik Schierboom joue, sur son temps libre, le rôle de cobaye de Maud : il teste et utilise le cadre pour améliorer le parcours C#, ce qui a eu à son tour un énorme impact sur l'élaboration du cadre lui-même.
Nous approchons maintenant du stade où nous pourrons faire suivre le cadre à notre prochaine vague de mainteneurs, et le tester et l'affiner de manière plus rigoureuse. Une fois ce prochain cycle terminé, nous espérons publier une première version du cadre, qui pourra être examinée de plus près par l'ensemble de la communauté. Nous sommes vraiment impatients d'arriver là et de mettre en lumière tout le travail accompli en coulisses. Nous avons le sentiment qu'il s'agit d'un pas de géant pour Exercism, qui améliorera considérablement l'expérience d'apprentissage comme celle des mentors.
Je tiens à terminer en adressant un immense merci à Maud, qui a mené ce projet sans relâche, et à Erik, qui a consacré une grande partie de son temps libre pour donner un coup de main.