Qu'est-ce que Scrum ?
Scrum est un cadre de gestion que les équipes utilisent pour s'autoorganiser et travailler vers un objectif commun. Il décrit un ensemble de réunions, d'outils et de rôles pour une réalisation efficace du projet. À la manière d'une équipe sportive qui s'entraîne avant un grand match, les pratiques Scrum permettent aux équipes de s'autogérer, d'apprendre par l'expérience et de s'adapter au changement. Les équipes de développeurs utilisent Scrum pour résoudre des problèmes complexes à moindre coût et de manière durable.
Qu'est-ce que la méthodologie Scrum ?
Certains principes et valeurs caractérisent la méthodologie Scrum :
Les principes de Scrum pour la réussite des projets
Transparence
Les équipes travaillent dans un environnement où chacun est conscient des difficultés que les autres peuvent rencontrer. Des conversations régulières en face à face entre les membres de l'équipe interfonctionnelle et les propriétaires de projet permettent d'éviter les erreurs de communication et les goulets d'étranglement en matière d'information.
Réflexion
Des points de réflexion fréquents sont créés dans le cadre pour permettre aux membres de l'équipe d'examiner leurs progrès. Les chefs de projet utilisent les informations issues de ces réunions de révision pour l'estimation et la planification future. En conséquence, les projets peuvent se dérouler plus efficacement, dans le respect du budget et du calendrier.
Adaptation
Les membres de l'équipe peuvent redéfinir les priorités des tâches en fonction de l'évolution des exigences des clients. Ils décident des tâches à accomplir en premier et de celles à revisiter à l'avenir.
Les valeurs de Scrum pour les équipes de projet
Les équipes Scrum suivent cinq valeurs fondamentales.
Engagement
Les membres de l'équipe Scrum s'engagent à réaliser des tâches et des objectifs dans le temps et se consacrent à l'amélioration continue pour trouver la meilleure solution.
Courage
Les équipes Scrum font preuve de courage en posant des questions ouvertes et stimulantes. Ils ont des discussions honnêtes et transparentes pour arriver à la meilleure solution.
Concentration
Pendant une période donnée, les membres de l'équipe travailleront à partir d'un Backlog de produits contenant des tâches. Ils se concentreront sur les tâches sélectionnées pour fournir des produits livrables dans un délai limité.
Ouverture
Les membres de l'équipe Scrum sont ouverts aux nouvelles idées et opportunités qui favorisent l'apprentissage individuel et la qualité globale du projet.
Respect
Les membres de l'équipe respectent les chefs de projet, les autres et le processus Scrum. Cette culture du respect crée un esprit de collaboration mutuelle et de coopération au sein de l'équipe.
Comment fonctionne Scrum ?
Scrum est un cadre facile à apprendre, mais difficile à maîtriser. Les cocréateurs de scrum, Jeff Sutherland et Ken Schwaber, ont expliqué les concepts sous-jacents dans The Scrum Guide. Le guide donne un aperçu détaillé des processus scrum et de la manière de les mettre en œuvre efficacement.
L'essence de Scrum est une équipe auto-organisée qui fournit de la valeur au client dans une période limitée dans le temps appelée Sprint. Scrum définit les artefacts, les rôles et les événements employés pour chaque sprint. Examinons chacun d'eux en détail ci-dessous.
Que sont les artefacts Scrum ?
Les équipes Scrum utilisent des outils appelés artefacts Scrum pour résoudre les problèmes et gérer les projets. Les artefacts Scrum fournissent des informations critiques sur la planification et les tâches aux membres de l'équipe et aux parties prenantes. Il y a trois artefacts principaux :
Backlog du produit
Le Backlog du produit est une liste dynamique de fonctions, d'exigences, d'améliorations et de corrections qui doivent être réalisées pour la réussite du projet. Il s'agit essentiellement de la liste des tâches de l'équipe, qui est constamment revisitée et repriorisée pour s'adapter aux changements du marché. Le propriétaire du produit maintient et met à jour la liste, en prélevant les éléments non pertinents ou en ajoutant les nouvelles demandes des clients.
Backlog du sprint
Le Backlog du sprint est la liste des éléments à compléter par l'équipe de développement dans le cycle sprint en cours. Avant chaque sprint, l'équipe choisit les éléments sur lesquels elle va travailler à partir du Backlog du produit. Un Backlog du sprint est flexible et peut évoluer au cours d'un sprint.
Incrément
L'incrément est un pas vers un objectif ou une vision. C'est le produit final utilisable d'un sprint. Les équipes peuvent adopter différentes méthodes pour définir et démontrer leurs objectifs de sprint. Malgré la flexibilité, l'objectif fondamental du sprint, c'est-à-dire ce que l'équipe veut obtenir du sprint en cours, ne peut être compromis.
Par exemple, certaines équipes choisissent de publier quelque chose pour leurs clients à la fin du sprint, de sorte que leur objectif de sprint sera terminé une fois que la modification du logiciel sera publiée. D'autres équipes peuvent travailler à l'achèvement d'un ensemble de fonctions qui seront publiées ensemble. Dans ce cas, l'objectif du sprint est atteint lorsqu'une fonctionnalité est testée avec succès.
Quels sont les rôles de Scrum ?
Une équipe Scrum a besoin de trois rôles spécifiques : un propriétaire du produit, un responsable Scrum et une équipe de développement.
Propriétaire du produit
Le propriétaire du produit veille à ce que l'équipe de développement apporte la meilleure valeur possible à l'entreprise. Ils comprennent et hiérarchisent les besoins changeants des utilisateurs finaux et des clients. Les propriétaires de produits efficaces procèdent comme suit :
- Donner à l'équipe des indications claires sur les fonctions à livrer ensuite.
- Combler le fossé entre ce que l'entreprise veut et ce que l'équipe comprend.
- Décider quand et à quelle fréquence les communiqués doivent avoir lieu.
Responsable Scrum
- Planifiez les ressources nécessaires pour chaque sprint.
- Animer d'autres événements sprint et réunions d'équipe.
- Diriger la transformation numérique au sein de l'équipe.
- Faciliter toute formation de l'équipe lors de l'adoption de nouvelles technologies.
- Communiquez avec des groupes externes pour résoudre les problèmes auxquels l'équipe peut être confrontée dans son ensemble.
Équipe de développement Scrum
L'équipe Scrum est composée de testeurs, de concepteurs, de spécialistes UX, d'ingénieurs Ops et de développeurs. Les membres de l'équipe ont des compétences différentes et s'entraînent mutuellement, de sorte qu'aucune personne ne devienne un goulot d'étranglement dans la livraison du travail.
Jeff Bezos, le fondateur d'Amazon, recommande la règle des deux pizzas lorsqu'il s'agit de décider de la taille d'une équipe : une équipe doit être suffisamment petite pour partager deux pizzas.
Les équipes de développement Scrum sont chargées des tâches suivantes :
- Travailler en collaboration pour assurer la réussite du sprint.
- Se faire le champion des pratiques de développement durable.
- S'auto-organiser et aborder leurs projets avec une attitude évidente axée sur le « nous ».
- Diriger la planification et l'estimation de la quantité de travail qu'ils peuvent réaliser pour chaque sprint.
Que sont les événements Scrum ?
Les événements Scrum ou les cérémonies Scrum sont un ensemble de réunions séquentielles que les équipes Scrum effectuent régulièrement. Voici quelques exemples d'événements Scrum :
Planification du sprint
Dans ce cas, l'équipe estime le travail à réaliser dans le prochain sprint. Les membres définissent des objectifs du sprint qui sont spécifiques, mesurables et atteignables. À la fin de la réunion de planification, chaque membre de Scrum sait comment chaque incrément peut être livré dans le sprint.
Sprint
Un sprint est la période de temps réelle pendant laquelle l'équipe Scrum travaille ensemble pour terminer un incrément. Deux semaines sont la durée typique d'un sprint mais peuvent varier en fonction des besoins du projet et de l'équipe. Plus le travail est complexe et plus il y a d'inconnues, plus le sprint doit être court.
Scrum ou stand-up quotidien
Un Scrum quotidien est une courte réunion au cours de laquelle les membres de l'équipe font le point et planifient la journée. Ils rendent compte du travail accompli et expriment les difficultés rencontrées pour atteindre les objectifs du sprint. On l'appelle un stand-up parce qu'il vise à garder la réunion aussi courte que possible, comme lorsque tout le monde est debout.
Revue du sprint
À la fin du sprint, l'équipe se réunit pour une séance informelle afin de passer en revue le travail accompli et de le présenter aux parties prenantes. Le propriétaire du produit peut également retravailler le Backlog du produit en fonction du sprint en cours.
Rétrospective du sprint
L'équipe se réunit pour documenter et discuter de ce qui a fonctionné et de ce qui n'a pas fonctionné pendant le sprint. Les idées générées sont utilisées pour améliorer les futurs sprints.
Pourquoi Scrum est-il important dans le développement de logiciels ?
Toutes sortes d'équipes, comme les RH, le marketing et la conception, utilisent Scrum de manière efficace. Cependant, Scrum est plus répandu dans les équipes de développement de logiciels et d'ingénierie. Elle permet aux équipes de répondre plus rapidement aux exigences changeantes sans laisser les coûts et les budgets échapper à tout contrôle. Elle est importante pour les raisons suivantes :
Capacité à maintenir la qualité dans des situations difficiles
Les contrôles d'assurance qualité sont créés dans le cadre de Scrum. Les équipes définissent les exigences au début de chaque sprint. Les équipes évaluent également de manière exhaustive le cycle de vie du logiciel ou du produit tout en établissant une vision d'équipe de ce qui est fait. Cela signifie que les exigences restent pertinentes et réalisables dans un court laps de temps. Le feedback régulier du propriétaire du produit et les revues de sprint permettent une amélioration continue de l'équipe tout au long du projet.
Retour sur investissement augmenté
Les équipes Scrum hiérarchisent les exigences en fonction de la valeur pour le client et de l'analyse des risques. L'accent est mis sur le développement d'un produit primaire fonctionnel qui peut être mis sur le marché afin de recueillir les premiers commentaires des clients. Le développement Scrum se caractérise par une réduction des défauts coûteux, l'efficacité de l'équipe et une approche « fail-fast » qui permet de réaliser des économies à long terme.
Des équipes plus heureuses et plus productives
Métriques pertinentes qui améliorent l'estimation
Les équipes Scrum choisissent leurs propres métriques pour mesurer les performances du projet. Ils estiment les délais, les budgets et les métriques de qualité en fonction de leur expérience et de leurs capacités. Le propriétaire du produit a le contrôle, car les estimations sont relatives. Les équipes bénéficient d'un soutien accru au début du projet et accélèrent naturellement au fil du temps. Les parties prenantes du projet examinent les produits de travail et fournissent un feedback régulier pour s'assurer que le projet reste sur la bonne voie.
Scrum ou agile : quelle est la différence ?
Agile fait référence à un état d'esprit ou à une façon de penser dans le développement de logiciels. Il s'agit d'une philosophie adoptée au niveau organisationnel pour amener chaque membre de l'équipe à se concentrer sur l'amélioration continue et la fourniture de valeur aux clients. Scrum est un cadre permettant d'accomplir le travail dans le cadre de la méthode agile. Scrum utilise tous les principes de base d'agile pour définir des méthodes pour faciliter un projet. Cependant, il est important de noter qu'agile ne signifie pas toujours Scrum. De nombreuses méthodologies différentes adoptent une approche agile de la gestion de projet.
Comment les équipes de développement Scrum peuvent-elles adopter DevOps ?
- Automatiser les tests logiciels et écrire de nouveaux tests pour chaque développement de fonctionnalité
- Utilisation d'une pile technologique et d'outils qui prennent en charge le déploiement continu
- Publication des changements en production à la fin de chaque sprint