Scrum est omniprésent dans le développement de logiciels, à tel point que beaucoup considèrent qu'il s'agit de la méthode de travail par défaut des équipes. Mon expérience le prouve. Au cours de mes nombreuses années de développement de logiciels, tous mes rôles, sauf deux, ont utilisé Scrum. Qui plus est, souvent, les équipes n'ont même pas utilisé le terme "Scrum", elles ont simplement supposé que les gens savaient de quoi il s'agissait. C'est dire à quel point il domine.
Cependant, j'ai également remarqué que chaque équipe utilisait Scrum de manière légèrement différente. Cela m'a amené à m'intéresser à la version idéale de Scrum. J'ai donc décidé d'en apprendre davantage en m'inscrivant au cours de certification professionnelle Scrum Master (PSM I) de Scrum.org. Il ne s'agissait pas seulement de curiosité ; en apprenant davantage, je pouvais devenir plus efficace et aider à guider les équipes pour qu'elles utilisent Scrum plus efficacement.
Ce cours de deux jours m'a ouvert les yeux. Notre instructeur était formidable ; il avait le don de trouver l'équilibre parfait entre les présentations attrayantes et l'apprentissage interactif. Grâce à un mélange d'activités de groupe et d'études de cas, il nous a immergés dans la matière et nous a permis de mettre en pratique ce que nous avions appris. J'ai beaucoup aimé la façon dont il a équilibré tout cela avec une présentation rigoureuse qui a montré que Scrum était le résultat logique d'observations clés sur le développement de logiciels. Tout cela nous a permis de mieux apprécier ses principes et de comprendre ce que les éléments de Scrum - que beaucoup d'entre nous considéraient comme acquis - étaient censés réaliser.
Si je devais citer un élément que j'ai préféré, ce serait le concept d'incrément. Voici comment le guide Scrum définit un incrément :
"Un incrément est une étape concrète vers l'objectif du produit. Chaque incrément s'ajoute à tous les incréments précédents et fait l'objet d'une vérification approfondie, ce qui permet de s'assurer que tous les incréments fonctionnent ensemble. Pour apporter de la valeur, l'incrément doit être utilisable.
Notre instructeur a donné vie à cette définition en insistant sur le fait que les incréments doivent apporter de la valeur aux utilisateurs finaux. En bref, si les utilisateurs ne remarquent pas de changement dans le produit à la fin d'un sprint, c'est que l'équipe n'a pas fourni d'incrément.
Par exemple, imaginons qu'une équipe veuille ajouter une nouvelle fonctionnalité à son application. Cette fonctionnalité nécessite une interface utilisateur et une API. Bien que l'API soit essentielle pour la fonctionnalité, elle est invisible pour les utilisateurs. Supposons que cette fonctionnalité nécessite deux sprints et que l'API et l'interface utilisateur prennent autant de temps l'une que l'autre. Si l'équipe travaille sur l'API au cours du premier sprint et sur l'interface utilisateur au cours du second, elle ne travaille pas par incréments. Pourquoi ? Parce qu'à la fin du premier sprint, elle n'a rien livré que les utilisateurs puissent utiliser. Pour travailler par incréments, l'équipe doit plutôt diviser le travail de manière à pouvoir livrer une partie utile de bout en bout de la fonctionnalité (interface utilisateur et API) au cours du premier sprint, puis la partie restante de bout en bout de la fonctionnalité au cours du second.
Les utilisateurs disposent ainsi de quelque chose d'utile qu'ils peuvent utiliser à chaque sprint. Cela signifie également que l'équipe peut obtenir un retour d'information sur la fonctionnalité dès la fin du premier sprint, plutôt que d'avoir à attendre la fin du second. Cela signifie à son tour que les équipes peuvent pivoter plus tôt si elles en ont besoin. Scrum prospère grâce au retour d'information, et la capacité à pivoter rapidement est donc essentielle. En raccourcissant le cycle de retour d'information, vous augmentez l'efficacité de votre équipe et la valeur que vous apportez aux utilisateurs.
J'ai eu l'occasion de mettre cela en pratique peu de temps après la formation. On m'a confié un projet et on m'a donné l'autonomie de décider comment l'aborder. Le projet était trop important pour être réalisé en un seul sprint. Je l'ai donc divisé en incréments, chacun d'entre eux ayant une valeur pour l'utilisateur. J'ai ensuite travaillé sur un incrément et l'ai livré. À la fin du sprint, nous avions un logiciel sensiblement différent qui offrait un avantage tangible aux utilisateurs finaux. Mais il y avait aussi un autre avantage inattendu.
On m'a annoncé que j'allais être muté chez un autre client. Dans d'autres équipes où les membres changeaient de poste alors que le travail était en cours, il fallait organiser des réunions de transfert de connaissances pour s'assurer que les gens comprenaient ce que faisait le travail partiellement achevé et le contexte complet de ce qu'il était censé accomplir. Cependant, comme je travaillais par incréments, la partie du travail livrée était complète en soi, et le reste du travail était facilement compréhensible sans qu'il soit nécessaire d'en préciser le contexte. Le transfert s'est fait sans douleur.
Revenons au cours. Le cours de formation comprenait deux possibilités de passer l'examen de certification. La réussite de cet examen faisait de moi un Scrum Master certifié. Bien que l'examen soit à livre ouvert, il était suffisamment long pour que je puisse répondre à de nombreuses questions sur la base de mes connaissances. Heureusement, notre instructeur nous a bien enseigné et j'ai réussi l'examen du premier coup. Peu de temps après, j'ai reçu ma certification. J'étais désormais un Scrum Master certifié.
Je suis très heureux d'avoir suivi ce cours. J'ai une meilleure compréhension (et appréciation) de Scrum, et j'ai une certification qui permet aux autres de savoir que je peux les aider dans leur parcours Scrum. Je connais les défis que Scrum est censé résoudre et les conditions dans lesquelles il prospère. Pour ceux qui envisagent de suivre le cours, je leur dis de le faire. Non seulement vous deviendrez un membre de l'équipe plus efficace, mais la certification améliorera également votre potentiel de vente. Pas mal pour un cours de deux jours et un examen d'une heure.