Chez Capsens, nous utilisons la méthodologie scrum pour structurer nos projets.
Cette méthodologie consiste à développer nos plateformes par séries de sprints qui sont des périodes relativement courtes permettant d'itérer sur le développement d'un projet. Ces derniers sont généralement d'une durée de une ou deux semaines mais chez Capsens nous avons opté pour des sprints d'une semaine afin d'avoir une organisation plus réactive.
Chaque sprint s'articule autour d'une réunion clé qu'on appelle "cérémonie" et qui permet de structurer les sprints du développeur.
Le nom "cérémonie" est choisi à dessein car chaque intervenant a un rôle précis à jouer et le déroulé est précis et toujours identique, comme vous allez le voir dans cet article.
Dans cet article je vais m'efforcer de vous expliquer le fonctionnement que nous avons mis en place pour réussir nos cérémonies.
Tout d'abord il est utile de comprendre qui est présent lors de cette réunion et quels sont les rôles de chacun.
Tout d'abord, il y a le Client. Il est important qu'il soit présent à ces réunions pour plusieurs raisons car cela lui permet de :
Donner l'ordre de ses priorités et interagir avec l'équipe de travail,
Comprendre chaque développement qui sont prévus. On évite alors de développer des fonctionnalités qui pourraient être inutiles ou mal comprises,
Comprendre les différentes problématiques rencontrées sur le dernier sprint et les éventuels retards,
Connaitre l'avancée des travaux tout au long du projet.
Il y a ensuite le Chef de projets. C'est lui qui prépare et dirige cette réunion. Cela fait partie des tâches importantes dont il porte la responsabilité.
Il y a, bien sûr, le Développeur. C'est lui qui développera toutes les fonctionnalités évoquées au cours de la réunion. Il est donc important que ce dernier comprenne parfaitement chacune des fonctionnalités mais il est également essentiel qu'il participe activement à ces réunions afin d'y apporter son expertise technique. Dans certains cas, une fonctionnalité peut sembler simple mais implique de nombreuses complexités techniques et prendre du temps qui pourrait être alloué autrement. Il s'agit donc de trouver des solutions ensemble pour satisfaire le côté business et le côté technique.
Enfin, il y a le Master du projet. Il s'agit d'un développeur sénior et responsable technique du projet qui relit les travaux qui sont effectués par le développeur (quelque soit son niveau). Chez Capsens, nous nous attachons à effectuer un travail le plus qualitatif possible et cela passe notamment par différents processus de validations. Ainsi tout travail effectué par un développeur doit être relu par un autre développeur.
Si le Master se trouve être le développeur qui implémentera les différentes fonctionnalités, alors le relecteur de remplacement doit être présent car c'est lui qui relira les travaux effectués par le master.
Maintenant que vous voyez quels sont les membres de cette réunion, laissez-moi vous expliquer quels outils nous utilisons pour recenser l'ensemble des fonctionnalités à développer.
Chez Capsens, nous utilisons Trello.
Cet outil nous permet facilement de traquer l'avancée des travaux et de répartir les différentes tâches qui incombent à chacun.
Sur ce tableau, il y a 8 colonnes importantes et toutes les cartes passent tour à tour dans chacune de ces colonnes. Les voici dans l'ordre :
Backlog
: colonne dans laquelle le Chef de projet prépare les cartes pour les prochains sprints.
Sprint Backlog
: colonne dans laquelle le développeur voit l'ensemble des cartes qu'il doit développer au cours du sprint.
En cours
: on y voit les cartes en cours de dévelopopement. Dans cette colonne, il n'y a toujours qu'une seule carte par développeur, car il est impossible de traiter deux sujets à la fois
Validation Technique
: colonne dans laquelle se trouve l'ensemble des cartes qui ont été achevées par le développeur et dont le code doit être relue par le Master.
Validation Qualité
: colonne affichant toutes les cartes à tester par le Chef de projet. En effet, même après validation technique par le Master, le Chef de projet doit s'assurer que la fonctionnalité correspond bien à ce qui avait été spécifié.
Validation Client
: colonne affichant l'ensemble des cartes qui ont été validées par le Chef de projet et qui doivent désormais l'être par le client lui-même. En intégrant le client dans les tests, nous nous assurons que tout a bien été validé en continu sur le projet et qu'il n'y aura pas de surprises à la fin du projet.
À déployer
: Cette colonne reprend les cartes qui ont été validées et qui doivent être déployées en production.
Déployé
: Ici se trouvent les fonctionnalités qui ont été mises en production.
Il y a une dernière colonne "
Anomalies
" : Dans cette colonne se trouvent toutes les cartes qui n'ont pas passées l'ensemble des validations et qui doivent être corrigées par le développeur. Toutes les cartes ne passent heureusement pas par cette colonne.
Voici ci-dessous l'exemple d'un tableau Trello utilisé pour l'un de nos projets :
Linear est une bonne alternative à Trello mais l'outil est un peu plus orienté développeur et reste moins facile à prendre en main pour un client.
Maintenant que vous comprenez les parties prenantes et l'outil utilisé pour traquer les travaux, il faut désormais que vous compreniez le système de points. Chez Capsens, une journée de développement équivaut à 13 points et toute fonctionnalité peut valoir entre 1 et 13 points :
1 point : changement de wording
2 points : développement mineur
3 points : développement avec un minimum de réflexion / de recherche
5 points : une matinée
8 points : une après-midi
13 points : une journée entière
Il est important qu'une carte soit réalisable en moins d'une journée car :
un travail bien découpé est mieux spécifié
il est plus motivant pour un développeur de traiter des petites cartes nombreuses que des grosses cartes peu nombreuses
on peut tester et déployer des morceaux de code indépendants sans être bloqué par un élément
en contrepartie cela demande beaucoup de temps de spécification au chef de projet. Tel est le prix de la qualité.
Après chaque explication de fonctionnalité et lorsque le Chef de projet s'est assuré que la spécification était claire pour tout le monde, on procède à l'estimation de la carte. Lorsque l'on est en présentiel on utilise des cartes "physiques" chiffrées entre 1 et 13. Les participants donnent en coeur leur estimation et cela peut ouvrir à des discussions ou révéler des incompréhensions. Depuis la période de Covid-19 et la démocratisation du télétravail, nous utilisons essentiellement le site Scrum-poker pour nos estimations.
Comme le développeur a lui-même un rôle de Master sur d'autres projets et doit valider du code d'autres développeurs, nous ne pouvons pas faire de sprints de 5*13 mais de 4*13 points. C'est la raison pour laquelle, chez Capsens, nous fonctionnons avec des sprints de 52 points, soit l'équivalent de 4 jours complets de travail et 1 jour pour la cérémonie elle-même et le reste décrit ci-dessus.
Voici, ci-dessous, à quoi ressemble une carte Trello comprenant la spécification technique d'une fonctionnalité simple à implémenter :
Cette réunion représente la colonne vertébrale du projet et il est essentiel que tout le monde soit impliqué et comprenne l'ensemble des sujets abordés. C'est un moment d'échanges privilégiés entre tout le monde et il est de la responsabilité du Chef de projet de faire en sorte que cette cérémonie soit, d'une part, correctement préparée et, d'autre part, que tout soit parfaitement établi à la fin de la réunion.
Pour éviter de manquer un sujet, le Chef de projet commence la réunion en faisant un récapitulatif de la semaine passée avec les blocages rencontrés s'il y en a eu et ce qui a été accompli.
Il fait ensuite une revue rapide de colonne en colonne en commençant par la fin (à savoir ce qui doit être déployé en production) pour arriver finalement sur la colonne Backlog et commencer à expliquer les fonctionnalités une par une.
Lorsqu'une cérémonie est bien préparée et cadrée, celle-ci n'a pas besoin de durer beaucoup plus d'une heure, une heure et demie. Il n'y a rien de pire que de réquisitionner le temps des différentes personnes présentes si celui-ci n'est pas nécessaire.
Vous comprenez désormais le fonctionnement et le rôle d'une cérémonie scrum.
Cette réunion est la colonne vertébrale d'un projet et permet, non seulement de faire en sorte qu'il aboutisse de la manière la plus efficace possible, mais également d'apporter une satisfaction élevée du client qui est impliqué du début à la fin du projet.