Scrum (Rugby Team), un modèle de développement logiciel est une sorte de développement agile, qui s’est progressivement popularisé au cours des dix dernières années.
L’hypothèse de base de Scrum
Développer un logiciel, c’est comme développer un nouveau produit. Les procédures finales d’un produit logiciel ne peuvent pas être définies dès le départ. Le processus nécessite de la R&D, de la créativité, des essais et des erreurs, il n’y a donc pas de processus fixe qui puisse garantir le succès du projet.
Scrum compare une équipe de développement logiciel à une équipe de football. Il a un objectif clair et le plus élevé, connaît le meilleur modèle et la meilleure technologie requis dans le processus de développement, dispose d’un haut degré d’autonomie, d’une communication et d’une coopération étroites, et s’assure de résoudre chaque jour divers défis avec un haut degré de flexibilité ; Chaque étape a une nette progression vers l’objectif.
Le processus Scrum
Le processus de développement Scrum commence généralement par une phase de 30 jours (ou moins), en commençant par la nouvelle spécification des exigences du produit du client, l’équipe de développement et le client choisissant les parties de la spécification à compléter au début de chaque phase, le développement L’équipe doit faire de son mieux pour livrer les résultats après 30 jours, et l’équipe se réunit 15 minutes par jour pour examiner les progrès et le calendrier de chaque membre, comprendre les difficultés rencontrées et essayer de résoudre les problèmes.
Les avantages de l’approche Agile
Quel est l’avantage de Scrum par rapport au modèle de développement traditionnel. Une caractéristique distinctive du modèle Scrum est qu’il répond aux changements. Il peut réagir aux changements le plus rapidement possible.
Lorsqu’un système traditionnel se concentre sur la planification initiale où des facteurs tels que le coût, la portée et le temps sont importants, l’approche agile donne la priorité au travail d’équipe, à la collaboration avec les clients et à la flexibilité. À mesure que les spécifications des exigences changent, l’équipe agile peut rester mobile et capable de répondre à ces changements. Cependant, cela ne signifie pas nécessairement que la stratégie de planification adaptative est toujours meilleure qu’une stratégie de planification prédictive. Comparons plus en détail ces deux stratégies de développement de projet.
Ainsi, l’approche de développement traditionnelle (en cascade, également connue sous le nom de plan) est linéaire, toutes les phases du processus se déroulant de manière séquentielle. Cette approche dépend d’outils prévisibles et d’expériences prévisibles. Chaque projet suit le même cycle de vie, y compris la faisabilité, la planification, la conception, la construction, les tests, la production, le support, etc., comme indiqué ci-dessous.
L’ensemble du projet est planifié à l’avance sans aucune possibilité de modifier les exigences, par exemple PMBOK et PRINCE2 de PMI sont stricts et hautement contrôlés. Ils décrivent les différentes phases de la planification du projet du début à la fin et supposent que vous avez déjà toutes les exigences et informations dont vous avez besoin à l’avance.
Agile est considéré comme une stratégie de développement logiciel plus moderne, car il a été principalement conçu pour surmonter certaines des lacunes de l’approche en cascade plus prédictive. Il s’agit d’un modèle de développement logiciel qui encourage le développement et les tests itératifs tout au long du cycle de développement logiciel d’un projet.
Présentation du processus Scrum
Scrum est un cadre qui prescrit des rôles , des événements , des artefacts et des règles/directives pour mettre en œuvre cet état d’esprit. En d’autres termes, Agile est l’état d’esprit et Scrum est le cadre qui prescrit un processus de mise en œuvre de la philosophie agile.
Scrum et agile ne sont pas identiques, mais scrum fait partie des processus agiles. Ils sont basés sur un développement itératif. Les exigences et les solutions agiles obtenues par l’association entre les équipes interfonctionnelles et auto-organisées, et lorsqu’elles sont correctement mises en œuvre, peuvent aider les équipes à résoudre des problèmes complexes en livrant progressivement des produits de la plus haute valeur tout en atténuant les risques.
Scrum implique une inspection et une adaptation rapides, le travail d’équipe est renforcé par la philosophie du leadership, la responsabilité et l’auto-organisation, les meilleures pratiques d’ingénierie qui aident à la livraison rapide de logiciels de haute qualité.
Termes clés de Scrum
Backlog : toutes les tâches prévisibles, y compris toutes les tâches fonctionnelles et non fonctionnelles.
Sprint : La période de temps pour un développement générationnel, généralement au plus 30 jours comme un cycle. Pendant ce temps, l’équipe de développement doit compléter un backlog formulé, et le résultat final est un produit incrémentiel et livrable.
Backlog de sprint : Les tâches qui doivent être accomplies dans un cycle de sprint.
Time-box : Un créneau horaire pour la réunion. Par exemple, le time-box de chaque daily scrum meeting est de 15 minutes.
Réunion de planification de sprint : tenue avant le début de chaque sprint. Généralement une journée (8 heures). La tâche à formuler lors de cette réunion est : le propriétaire du produit et les membres de l’équipe décomposent le backlog en petits modules fonctionnels, décident du nombre de petits modules fonctionnels à compléter dans le sprint à venir et déterminent la priorité des tâches de ce backlog de produit. En outre, la réunion doit discuter en détail de la manière de compléter ces petits modules fonctionnels selon les besoins. La charge de travail de ces modules est calculée en heures.
Réunion Scrum quotidienne : tenue par les membres de l’équipe de développement, généralement 15 minutes. Chaque membre du développement doit rapporter trois projets au Scrum Master : Qu’est-ce qui a été réalisé aujourd’hui ? Avez-vous rencontré des obstacles ? Qu’est ce que tu vas faire? Grâce à cette réunion, les membres de l’équipe peuvent comprendre l’avancement du projet les uns avec les autres.
Réunion de revue de Sprint : Après chaque Sprint, l’équipe présentera les résultats du Sprint au Product Owner et aux autres membres du personnel concernés. Généralement, cette réunion dure 4 heures.
La rétrospective de sprint a lieu après la revue de sprint et avant la prochaine planification de sprint . Il s’agit au maximum d’une réunion de trois heures pour des Sprints d’un mois . La session rétrospective est essentiellement une réunion d' »amélioration » organisée pour trouver des moyens d’identifier les pièges potentiels, les erreurs passées et de rechercher de nouvelles façons d’éviter ces erreurs, auxquelles tous participent – le propriétaire du produit , le scrum master , les membres de l’équipe de développement , et éventuellement avec les parties prenantes.
Scrum Master : Un membre de l’équipe chargé de superviser l’ensemble du processus Scrum et de réviser le plan.
Le Product Owner qui possède le produit au nom de l’entreprise fait partie d’une équipe Scrum . Cependant, un propriétaire de produit n’a aucune autorité sur les autres membres de l’équipe, tout comme le Scrum Master . Un propriétaire de produit est chargé de s’occuper d’un produit pendant une période prolongée et est responsable de la réussite du produit. En tant que propriétaire du produit, vous devez interagir directement avec les clients et les utilisateurs, l’équipe de développement et les autres parties prenantes clés, comme le montre l’image ci-dessous.
Une équipe Scrum est un ensemble d’individus (généralement entre cinq et neuf membres) travaillant ensemble pour fournir les incréments de produit requis. Le cadre Scrum encourage un haut niveau de communication entre les membres de l’équipe, afin que l’équipe puisse :
- Suivre un objectif commun
- respecter les mêmes normes et règles
- se respecter les uns les autres
Comment fonctionne Scrum ?
Un processus Scrum se distingue des autres processus agiles par des concepts et des pratiques spécifiques, divisés en trois catégories de rôles ( propriétaire de produit , scrum master , équipe de développement et autre partie prenante), événements, artefacts et règles.
To start a Scrum process, a product owner creates a prioritized wish list called a product backlog. During sprint planning the backlog is sized for complexity and business value (priority). The product owner (client) and the development team determine which backlog items get added to the sprint. The team has a certain amount of time (called a sprint, usually two to four weeks) to complete its work, but it meets each day to assess its progress (daily Scrum). Along the way, the Scrum Master keeps the team focused on its goal. At the end of the sprint the team reviews their progress, shows the client the working product, and reviews what went well or what they need to improve on for the next sprint. Then the cycle repeats.