Vous êtes sur la page 1sur 44

Atelier Génie Logiciel

SCRUM

Abdelali Saidi

saidi.a@ucd.ac.ma

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 1 / 42


Plan

1 Le manifeste Agile
2 Scrum
Exemple de la conduite d’un projet en Scrum
Pourquoi le framework Scrum a plus de chances pour réussir
Scrum Roles
Le Scrum Product Backlog
Les Sprints

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 2 / 42


Introduction

Qu’est-ce que SCRUM ?


SCRUM est un framework de gestion de projets agile utilisé principalement pour le
développement de logiciels. Il décrit une approche incrémentale et itérative pour
l’aboutissement du projet.

Caractéristiques
Il est simple
Il définit seulement des bonnes pratiques générales respectant :
quelques règles
quelques rôles
quelques artefacts
et quelques événements
Ne requiert pas de chef de projet
La communication et l’auto-organisation compte plus chez une équipe Scrum

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 3 / 42


Le manifeste Agile

Plan

1 Le manifeste Agile
2 Scrum
Exemple de la conduite d’un projet en Scrum
Pourquoi le framework Scrum a plus de chances pour réussir
Scrum Roles
Le Scrum Product Backlog
Les Sprints

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 4 / 42


Le manifeste Agile

Le manifeste Agile

Une méthode agile ?


Une méthode Agile est une pratique de pilotage et de réalisation de projets.
Elle implique au maximum l’utilisateur final du logiciel
Elle permet une grande réactivité vis-à-vis ses demandes
Elle repose sur un cycle de développement itératif, incrémental et adaptatif
Les méthodes Agile les plus utilisés sont :
Extreme programming
Scrum

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 4 / 42


Le manifeste Agile

Le manifeste Agile

Une méthode agile ?


Les méthodes agiles se base sur 4 valeurs fondamentales :
Des individus et des interactions au lieu des processus et des outils
Un logiciel qui fonctionne au lieu d’une documentation compète
Une collaboration avec l’utilisateur au lieu de négociations de contrats
Répondre au changement au lieu de suivre un plan

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 5 / 42


Le manifeste Agile

Le manifeste Agile

12 principes découlent de ces 4 valeurs :


Deliver Value Faster
Welcome Change
Deliver Working Software Frequently
Work Together Daily
Build Projects Around Motivated Individuals
Face-to-Face Conversations
Working Software is Key
Sustainable Development
Attention to Technical Excellence
Simplicity
Self-Organizing Teams
Reflect and Adjust

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 6 / 42


Le manifeste Agile

Le manifeste Agile

Quelques défis liés à l’utilisation des méthodes Agile


Il n’est pas facile d’abandonner les méthodes classiques (Cascade)
Agile tente de tout changer (Etat d’esprit, la structure organisationnel)
Agile est à prendre en entier ou rien
Peu de documentation
Absence de la notion de propriété

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 7 / 42


Le manifeste Agile

Le manifeste Agile

Quelles sont vos 5 principes d’Agile les plus importants ?

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 8 / 42


Scrum

Plan

1 Le manifeste Agile
2 Scrum
Exemple de la conduite d’un projet en Scrum
Pourquoi le framework Scrum a plus de chances pour réussir
Scrum Roles
Le Scrum Product Backlog
Les Sprints

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 9 / 42


Scrum

Scrum

Les composants de SCRUM


Scrum est une méthode Agile. Ses composants principaux sont :
Trois rôles : Scrum Master, Scrum Product Owner and Scrum Team
Des backlogs priorisés contenant les exigences de l’utilisateur
Des sprints : itérations du projet
Des événements Scrum : Sprint Planning Meeting, Daily Scrum Meeting,
Sprint Review Meeting, Sprint Retrospective meeting

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 9 / 42


Scrum Exemple de la conduite d’un projet en Scrum

Exemple de la conduite d’un projet en Scrum

Nouveau projet
À la création d’un nouveau projet, le Scrum Product Owner doit :
Écrire les cas d’utilisations les plus importants
À la validation de ces cas d’utilisations, il doit les mettres dans un Scrum
backlog en affectant des priorités selon l’importance
Diviser les exigences en plusieurs user stories (sous-problèmes)
Inviter les participants au projet à un premier Sprint Planning Meeting

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 10 / 42


Scrum Exemple de la conduite d’un projet en Scrum

Exemple de la conduite d’un projet en Scrum


Nouveau projet

Sprint 1
Jours 0 - Le Sprint Planning Meeting
Le Scrum Product Owner présente le Product Backlog en respectant la
priorité des fonctionnalités
La Scrum Team discute toutes ces fonctionnalités afin d’avoir une idée clair
du projet
Il faut penser aux pré-requis
Indiquer les Stories qu’on peut réaliser dans ce premier Sprint
Le Scrum Master discute avec la Team la manière de l’implémentation des
différentes Stories choisies
Écrire cela sur des cartes et les mettre sur un tableau de Sprint Task
Chaque membre de la Team choisit une tâche à réaliser

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 11 / 42


Scrum Exemple de la conduite d’un projet en Scrum

Exemple de la conduite d’un projet en Scrum


Nouveau projet

Sprint 1
Jours 1
Daily Scrum Meeting au début de la journée
Chaque membre de la Team donne brièvement une idée à propos de :
ce qu’il a réalisé jusqu’à l’instant
le nombre d’heures qui lui restent pour finir la tache
ce qu’il compte faire ce jour même
les problèmes qu’il a peut être rencontré
Après le meeting, le Scrum Master met à jour le Scrum Burndown
Vérifie si plusieurs membres ont les mêmes problèmes
Résout les problèmes

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 12 / 42


Scrum Exemple de la conduite d’un projet en Scrum

Exemple de la conduite d’un projet en Scrum


Nouveau projet

Sprint 1
Jours 2
Daily Scrum Meeting au début de la journée (encore)
Pareil que Jour 1
Et par exemple, si un membre de la team rencontre un problème avec une
user story, il essaie de contacter le Scrum Product Owner sur le champs pour
le clarifier et reprend le travail

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 13 / 42


Scrum Exemple de la conduite d’un projet en Scrum

Exemple de la conduite d’un projet en Scrum


Nouveau projet

Sprint 1
Jours 14 - Le dernier jours du Sprint
Le Scrum Product Owner mets à jours le Product Backlog
Remettre les user stories à réajuster
Ajouter de nouvelles user stories
Le Scrum Master invite la Team pour un nouveau Sprint Planning Meeting

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 14 / 42


Scrum Exemple de la conduite d’un projet en Scrum

Exemple de la conduite d’un projet en Scrum


Nouveau projet

Sprint 2
Jours 0 - Le Sprint Planning Meeting
Nouvelles tâches ...

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 15 / 42


Scrum Pourquoi le framework Scrum a plus de chances pour réussir

Pourquoi le framework Scrum a plus de chances pour


réussir

Le développement de logiciels avec la méthode Cascade


Des études ont montré que 80% des projets qui n’ont pas abouti utilisaient la
méthode en Cascade
Développer en respectant le modèle en cascade impose :
une chaine de développement stricte
un passage rigide d’une phase à une autre de la réalisation du projet
À la rencontre d’un problème, le retour à la phase d’avant est :
difficile
coûteux
frustrant
fait perdre un temps précieux

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 16 / 42


Scrum Pourquoi le framework Scrum a plus de chances pour réussir

Pourquoi le framework Scrum a plus de chances pour


réussir

Le développement de logiciels avec la méthode Cascade


Pour éviter tout cela
Les participants tentent de tous prévoir et anticiper
Cela veut dire qu’il faut tous savoir du logiciel avant même sa conception
initiale
Chose qui est impossible avec le développent de logiciel pour des projets
complexes

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 17 / 42


Scrum Pourquoi le framework Scrum a plus de chances pour réussir

Pourquoi le framework Scrum a plus de chances pour


réussir

Que propose Scrum ?


Scrum permet de valider les fonctionnalités d’un logiciel une par une.

Effets positifs
augmentation de la productivité
une qualité de logiciel meilleure
des coûts stables voire réduits
une satisfaction meilleure de l’utilisateur
une motivation et un travail d’équipe chaleureux
une tolérance au changement

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 18 / 42


Scrum Scrum Roles

Scrum Roles

Il existe trois rôles dans le framework Scrum


La Scrum Team
Le Scrum Master
Le Scrum Product Owner

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 19 / 42


Scrum Scrum Roles

Scrum Roles
La Scrum Team

Définition
La Scrum Team est un ensemble de personnes qui collaborent entre elles pour
délivrer les incréments d’un logiciel. Pour travailler avec , chaque membre doit :
suivre un objectif commun
adhérer aux mêmes normes et règles
respecter les autres membres de la team

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 20 / 42


Scrum Scrum Roles

Scrum Roles
La Scrum Team

Le travail d’équipe
Délivrer un produit avec une performance respectable ne vient pas du premier
instant. La team doit :
être formée
brain storm
normaliser
produire
en général, une nouvelle Team prend 3 Sprints pour bien rouler

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 21 / 42


Scrum Scrum Roles

Scrum Roles
La Scrum Team

Caractéristiques d’une Team


La team entière est sensée délivrer
Doit être autonome
Auto-organisée
Aie un pouvoir de choisir ce qui est réalisable, qui doit le réaliser et quand
Une balance de compétences
Petite et pas de sous-team

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 22 / 42


Scrum Scrum Roles

Scrum Roles
La Scrum Team

Règles et normes
Pour une cohérence complète entre les membres d’une team, il y a quelques
normes et règles qui doivent être :
Le RDV Daily Scrum Meeting
The Definition Of Done
Les bonnes pratiques de la programmation
Les outils choisis

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 23 / 42


Scrum Scrum Roles

Scrum Roles
La Scrum Team

Les responsabilités d’une Team


La team ainsi que ses membres se doivent d’accomplir les responsabilités suivantes
:
décomposer les exigences, créer des tâches, estimer leurs faisabilités et les
distribuer
créer le Sprint Backlog
respecter le Daily Sprint Meeting
délivrer à la fin de chaque Sprint
mettre à jour l’état des tâches affectées pour permettre la création du
diagramme Sprint Burndown

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 24 / 42


Scrum Scrum Roles

Scrum Roles
Le Scrum Master

Définition
Le Scrum Master est le responsable de l’application du framework (la théorie, la
pratique et les règles).
Il fait part de la Scrum Team
Il agit comme un chef servant
Idéalement choisi par la Team affectée
Responsable du diagramme Sprint Burndown

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 25 / 42


Scrum Scrum Roles

Scrum Roles
Le Scrum Master

Les responsabilités
Parmi les responsabilités d’un Scrum Master :
Protéger les membres de la team d’éventuels requêtes externes
Maximiser la productivité de la team
Coacher les membres de la Team
Résoudre les obstacles
Assurer une communication correcte entre la Team et le Product Owner
Organiser les différents événements Scrum
Sprint Planning Meeting
Daily Scrum Meetings
Sprint Review Meeting
Sprint Retrospective Meeting

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 26 / 42


Scrum Scrum Roles

Scrum Roles
Le Scrum Product Owner

Définition
Le Scrum Product Owner est le représentant de l’utilisateur final. Il est
responsable de la maximisation de la valeur du produit en veillant à ce que le bon
travail soit effectué au bon moment.

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 27 / 42


Scrum Scrum Roles

Scrum Roles
Le Scrum Product Owner

Les responsabilités
Parmi les responsabilités d’un Scrum Product Owner :
La gestion du Product Backlog
Le créer
Affecter des priorités aux différents éléments du Backlog
S’assurer que la Scrum Team aie bien saisi ses éléments
La gestion des réalisations
Créer les plans des différentes réalisations
S’assurer de la conformité de la fonctionnalité au besoin
Le coût du projet
Proche de la Team
Juger du résultat de chaque Sprint à la Sprint Review Session
Il peut déléguer quelques activités mais il reste le Responsable

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 28 / 42


Scrum Scrum Roles

Scrum Roles
Et le chef de projets ?

Scrum fonctionne sans chef de projets


Il n y a pas de chef de projet proprement parlé dans le framework Scrum
Ses responsabilités sont départagées entre le Scrum Product Manager et le
Scrum Master
Cela permet de ne pas avoir une tension entre le responsable du projet et le
responsable du contenu du projet

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 29 / 42


Scrum Le Scrum Product Backlog

Le Scrum Product Backlog

Définition
Le Scrum Product Backlog est une liste de toutes les tâches qui doivent être
réalisées.

Caractéristiques
Il remplace le cahier de charges traditionnel
Il est sous la responsabilité du Scrum Product Owner
Il reflète les besoins de l’utilisateur final
Les entrés possède des priorités
Il est dynamique

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 30 / 42


Scrum Le Scrum Product Backlog

Le Scrum Product Backlog


Exemple

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 31 / 42


Scrum Le Scrum Product Backlog

Le Scrum Product Backlog


User Stories

Définition
Ce sont les entrés du Scrum Product Backlog.

Caractéristiques
Chaque user story
raconte une utilisation du logiciel par un utilisateur donné
permet une concentration totale sur un besoin spécifique

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 32 / 42


Scrum Le Scrum Product Backlog

Le Scrum Product Backlog


User Stories

Syntaxe
As an [actor], I [want|must] [action] so that [achievement] user story
Actor : le propriétaire de la user story
Action : ce que l’actor voudrait faire
Achievement : l’objectif que l’actor voudrait réussir en faisant cette action

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 33 / 42


Scrum Le Scrum Product Backlog

Le Scrum Product Backlog


User Stories

Figure: Exemple

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 34 / 42


Scrum Le Scrum Product Backlog

Le Scrum Product Backlog

Scrum Effort Estimation


Elle est assignée par les membres de la Scrum Team
L’estimation de l’effort permet au Product Owner de bien choisir la priorité
des entrés
Elle doit être honnête car elle indique la difficulté de la réalisation des user
story
Elle est à éviter si elle risque de mettre de la pression sur les membres de la
Scrum Team
La note peut par exemple varier de 1 à 10 à condition que tous les membres
de la Team partagent la même compréhension de l’échelle

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 35 / 42


Scrum Les Sprints

Les Sprints
Définition
C’est un ensemble de User Stories que la Team pense réalisables en une itération

Caractéristiques
Un Sprint est court (de 2 à 4 semaines)
Chaque Sprint démarre avec deux sessions de planification (leur combinaison
est ce qu’on appelle le Scrum Planning Meeting)
the WHAT-meeting : engage les membres de la Team dans les user stories
the HOW-meeting : décompose chaque user story en plusieurs tâches
À la fin d’un Sprint, un Sprint Review Meeting est organisé pour permettre le
test et la validation de l’itération réalisée suite au Sprint
Par la suite, un Sprint Retrospective Meeting est réalisé pour tirer de
l’expérience du dernier Sprint effectué afin d’améliorer le processus
Parler des points positifs durant le Sprint
Qu’est-ce qui doit rester tel qu’il est
Qu’est-ce qui doit être amélioré

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 36 / 42


Scrum Les Sprints

Les Sprints

Figure: The Sprint Process

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 37 / 42


Scrum Les Sprints

Les Sprints

Le graphe Scrum Burndown


Le graphe Scrum Burndown est un outil de mesure visuel qui montre le travail
accompli par jour par rapport au taux d’achèvement prévu pour la version actuelle
du projet.
Permet de savoir si le projet ne dérape pas
Le taux de progression de la Team est appelé Velocity
on ne compte que les stories qui sont achevés
Permet de prévoir la date d’aboutissement d’une version du Sprint

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 38 / 42


Scrum Les Sprints

Les Sprints
Le graphe Scrum Burndown

Figure: Graphe simple du Burndown

Cette représentation simpliste ne montre pas l’effet qu’ont les changements des
user stories sur la Velocity de la Team
Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 39 / 42
Scrum Les Sprints

Les Sprints

Le graphe Scrum Burndown

Figure: Séparation du changement et de la Velocity

Ici, les changements sont représentés au bas de la barre

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 40 / 42


Scrum Les Sprints

Les Sprints

Le Sprint Backlog
Le Sprint Backlog est un artefact dynamique. Il est mis à jour quotidiennement.
Toutes les activités requises pour compléter les entrées validées à partir du
backlog de produits Scrum sont stockées
Toutes les entrées doivent être estimées sur la base d’heures-personnes afin
de suivre les progrès et les efforts restants
Il est possible que de nouvelles activités soit ajoutées à un membre de la
Team dans un Sprint courant
À la fin de la journée, la DoD (Definition Of Done) est utilisée pour savoir
classifier les tâches

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 41 / 42


Scrum Les Sprints

Les Sprints

Le Sprint Backlog

Figure: Exemple d’un Sprint Backlog

Abdelali Saidi Atelier Génie Logiciel saidi.a@ucd.ac.ma 42 / 42

Vous aimerez peut-être aussi