0% ont trouvé ce document utile (0 vote)
26 vues110 pages

IFT Cours 06

Le document présente les principes fondamentaux du Manifeste Agile, qui valorise l'interaction humaine, le logiciel opérationnel, la collaboration et l'acceptation du changement. Il décrit également la méthodologie Scrum, ses rôles, artéfacts et réunions, ainsi que l'importance des itérations et de la présence du client dans le processus de développement. Enfin, il aborde la création de user stories et l'organisation du travail en équipes auto-organisées.

Transféré par

s.betta14
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues110 pages

IFT Cours 06

Le document présente les principes fondamentaux du Manifeste Agile, qui valorise l'interaction humaine, le logiciel opérationnel, la collaboration et l'acceptation du changement. Il décrit également la méthodologie Scrum, ses rôles, artéfacts et réunions, ainsi que l'importance des itérations et de la présence du client dans le processus de développement. Enfin, il aborde la création de user stories et l'organisation du travail en équipes auto-organisées.

Transféré par

s.betta14
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 110

1

AGILE ET SCRUM
https://www.lexpert-formation.fr/pourquoi-se-former-aux-methodes-agiles
Le Manifeste Agile
2

 En 2001, 17 ténors de l’agilité identifient 4 principes de base,


communs à toutes les démarches agiles.
 Cherchant par la pratique et l’entraide de meilleures façons de
développer des logiciels, nous en sommes venus à valoriser :
 Les hommes et leur interaction plus importants que les processus et
outils.
 Un logiciel opérationnel plus important qu’une documentation
complète.
 La collaboration plus importante que la contractualisation.
 L’acceptation du changement plus importante que la planification figée.
 Si on accorde une valeur aux éléments à droite, ceux de gauche nous
paraissent avoir une valeur encore plus grande.
http://agilemanifesto.org
Introduction
3

Voici comment le
client a exprimé
son besoin
Introduction
4

Voici comment
l’analyste a
compris le besoin
Introduction
5

Voici comment le
concepteur a
conçu le projet
Introduction
6

Voici comment le
programmeur a
écrit le code
Introduction
7

Voici ce que les


béta testeurs ont
reçu
Introduction
8

Voici les
fonctionnalités
installées
Introduction
9

Voici comment le
commercial a
décrit le futur
système
Introduction
10

Voici comment le
projet a été
documenté
Introduction
11

Voici ce qui a été


facturé au client
Introduction
12

Voici le support
fournit aux
utilisateurs
(HelpDesk)
Introduction
13

Voici comment
fonctionne le
système en
charge
Introduction
14

Voici comment
les mises à jour
sont installées
Introduction
15

Voici la version
Open Source du
système
Introduction
16

Et enfin
Voici le véritable
besoin de
l’utilisateur
Synthèse
17
Scrum signifie :
18
Scrum en images
19
Scrum en images
20
Scrum en images
21
Scrum en images
22
Scrum en images
23
Scrum en images
24
Scrum en images
25
Scrum en images
26
Scrum en images
27
Scrum en images
28
Scrum en images
29
Scrum en images
30
L’organisation avec Scrum
31

https://www.sooyoos.com/publication/methodes-agiles/
Pratique de Scrum - vue d’ensemble
32
3 rôles

Product Owner Scrum Master L’équipe


3 artéfacts

Scrum board

backlog burndown chart produit


3 réunions

planification de sprint Daily Scrum revue de sprint rétrospective


Organisation du travail dans Scrum
33

Diviser l’organisation en petites équipes


multidisciplinaires et auto-organisées.

Diviser le travail en une liste de


petits livrables concrets.
Trier cette liste par priorité et estimer
la taille relative de chaque élément.
Itérations et livraisons successives
34

 Diviser le temps en petites itérations de durée fixe (appelées


des sprints et durant habituellement de 1 à 4 semaines).
 Faire une démonstration à l’issue de chaque sprint avec un
produit potentiellement livrable.
 Optimiser le planning de la version et mettre à jour les priorités
en collaboration avec le client, sur la base de ce que vous avez
appris après chaque sprint (à travers la démo).
 Optimiser le processus en organisant une rétrospective après
chaque sprint.
Cycle de vie Scrum (vue globale)
35

Sprint 0
Atelier Coin Toss
Démarche itérative et incrémentale
36

 Équipes :
 2 équipes de 6 ou 7 personnes.
 Pour chaque équipe :
◼ 4 personnes pour représenter le cycle de vie.
◼ 2 personnes pour chronométrer.
◼ 1 personne pour gérer le tableau des valeurs et noter les temps.
 Matériel :
 Récupérer les boites de pièces de monnaie. Une boite par équipe.
 Préparer au tableau la structure pour noter les résultats :
1ère phase Toutes les phases Somme rapportée ?
Cascade
Agile simple
Agile & Kanban
Vrai Agile
Atelier Coin Toss
Démarche itérative et incrémentale
37

 Règles (suite) :
 Chacune des 4 personnes représente une étape du cycle de vie logiciel :
◼ Spécification
◼ Conception
◼ Codage
◼ Test
 1 personne chronomètre le temps de la première étape.
 1 personne chronomètre le temps total.
 Une personne note les valeurs au tableau.
 Un tas de pièces de monnaie représente un ensemble fonctionnalités à
développer.
 Chaque pièce est une fonction.
 La valeur de la pièce représente la valeur de la fonction.
 Une pièce tournée est une fonction terminée.
Atelier Coin Toss
Démarche itérative et incrémentale
38

 Premier tour : Projet classique (cascade)


 Chaque phase (personne) doit retourner toutes les pièces avant
de les passer à la phase (personne) suivante.
 Chronométrer le temps de la première personne.

 Chronométrer le temps total.

 Calculer la somme rapportée (valeur des pièces).


Atelier Coin Toss
Démarche itérative et incrémentale
39

 Deuxième tour : Projet Agile simple


 Chaque pièce retournée peut être passée à la phase suivante.
 On n’attend pas que toutes les pièces soient retournées.

 Tout le monde travaille en même temps.

 Chronométrer le temps de la première fonction livrée.

 Chronométrer le temps total.

 Calculer la somme rapportée (valeur des pièces).


Atelier Coin Toss
Démarche itérative et incrémentale
40

 Troisième tour : Projet Agile & Kanban


 L’idée est d’introduire une règle Kanban au fonctionnement Agile.
 On place un post-it entre chaque phases (personnes) : Il devient le
point de passage des fonctionnalités (les pièces).
 On ne peut placer que 2 pièces sur le point de passage.

 Le but est de réguler le flux.

 Chronométrer le temps de la première fonction livrée.

 Chronométrer le temps total.

 Calculer la somme rapportée (valeur des pièces).


Atelier Coin Toss
Démarche itérative et incrémentale
41

 Quatrième tour : Projet en vrai Agile


 Nous rajoutons une contrainte de temps.
 Le projet s’arrête après 20 secondes.

 La personne qui représente la première phase peut choisir les


pièces à retourner en fonction de leurs valeurs.
 Le but étant d’accumuler le plus de valeur en moins de temps.

 Chronométrer le temps de la première fonction livrée.

 Chronométrer le temps total.

 Calculer la somme rapportée (valeur des pièces).


Product Backlog / Sprint Backlog
42

 2 Backlogs :
 Product backlog : liste les briques fonctionnelles exprimées avec
le format des user stories.
 Sprint backlog : détaille le contenu de la brique fonctionnelle en
cours de réalisation sous forme de tâches.

 Les backlogs :
 Peuvent être utilisés partout, comme ToDo list améliorée.
 Sont gérés / tenus par le Client.
 Doivent être parlant.
 Contiennent des expressions simples.
Modèle pour une user story
43

 Une User Story contient :


 Elle se limite à la description d’une fonctionnalité unitaire.
 Elle doit décrire avec précision le contenu de cette
fonctionnalité à développer.
 Elle est rédigée par l’utilisateur.

 Elle doit être sous forme d'une phrase simple dans le langage de
l'utilisateur ( éviter UML car très formaliste  ).
 Elle exprime les règles de gestion, exigences, cas particuliers.

 Elle est associée à une priorité métier (identifiée par un numéro


unique).
 Elle doit être évaluée par un chiffre indiquant la complexité
technique de réalisation.
Modèle pour une user story
44

 Une user story doit être exprimée de la manière suivante :

En tant que Qui

je veux Quoi

afin de Pourquoi
Modèle pour une user story
45

 Le qui indique :
 L'acteur ou l'utilisateur qui exprime la fonctionnalité et qui en
est l'usager.
 Le quoi indique :
 Une description de la fonctionnalité avec le comportement
attendu de la part du système (résultat, sortie, ..)
 Le pourquoi indique :
 L'objectif ou l'intérêt de la fonctionnalité du point de vue de
l'utilisateur, ce qui permet d'évaluer la priorité par rapport
aux autres user stories.
Modèle pour une user story
46

 Exemples :
En tant que <client de la plateforme de vente en ligne>,
je veux <ajouter des articles à mon panier>,
afin de <pouvoir passer une commande>.

En tant que <client de la plateforme de vente en ligne>,


je veux <être informé de la date de livraison prévue>,
afin de <pouvoir réceptionner ma commande>.

En tant que <client de la plateforme de vente en ligne>,


je veux <enregistrer mon adresse>,
afin de <recevoir toutes mes commandes à cette adresse>.
Modèle pour une user story
47

 Une User Story peut aussi contenir :


 Les cas de test métier, donnés avant le développement, avec :
◼ les données de test.
◼ les résultats attendus.

 qui mieux que le métier peut spécifier les tests métier.


 On peut y trouver aussi :
 l’estimation du temps restant.
 optionnel : l’estimation du temps de réalisation.
Atelier Offing the off-site Customer
Présence du client dans le processus
48

 Équipes :
 Des équipes de 2 ou 3 personnes.
 Il faut avoir un nombre d’équipes pair.

 La moitié des équipes joue le rôle de client.


 L’autre moitié représente chacune une start-up qui s'efforce de
s'implanter sur le marché.
 Matériel :
 Des feuilles blanches pour chaque équipe (start-up).
 Au moins 2 crayons par équipe (start-up).

 Des spécifications graphiques distribuées aux clients.

© 2005 Titanium I.T. LLC http://www.jamesshore.com


Atelier Offing the off-site Customer
Présence du client dans le processus
49

 1ère partie (Off-site customer) :


 Chaque 2 équipes simulent la création d'un produit logiciel en
utilisant une approche traditionnelle.
 La communication avec le client se fait de manière écrite, telle
que des exigences écrites.
 Le client dispose de 10 minutes pour rédiger (uniquement avec
des mots) une description des spécifications graphiques qu’il a
reçu.
 La start-up dispose ensuite de 10 minutes pour représenter sur un
papier blanc les spécifications écrites fournies.

© 2005 Titanium I.T. LLC http://www.jamesshore.com


Atelier Offing the off-site Customer
Présence du client dans le processus
50

 2ième partie (On-site customer) :


 Les deux équipes client et start-up travaillent ensembles.
 L’équipe start-up dispose de 10 minutes pour implémenter le
produit à l’aide des consignes de l’équipe client.
 L’équipe start-up n’a pas le droit de voir les spécifications
graphiques.
 Seul le client peut voir les spécifications graphiques durant les 10
minutes du jeu.
 La communication ne peut être que verbale.

 Aucune limite n’est imposée pour la quantité et la nature de la


communication verbale.

© 2005 Titanium I.T. LLC http://www.jamesshore.com


Atelier Offing the off-site Customer
Présence du client dans le processus
51

 Autre variante (Analyste d’affaire intermédiaire) :


 Dans ce scénario, un analyste métier agit en tant qu'intermédiaire
entre le client et le programmeur.
 Le programmeur s’installe d'un côté de la pièce et le client de
l'autre.
 L'analyste d’affaire se déplace entre le programmeur et le client
en relayant les informations.
 Le programmeur et le client sont tenus de rester de leur côté de la
pièce et ne peuvent pas parler directement les uns aux autres.

© 2005 Titanium I.T. LLC http://www.jamesshore.com


Atelier Offing the off-site Customer
Présence du client dans le processus
52

 Analyse des résultats :


 Les métaphores :
Réalité Métaphore
Équipe avec "programmeur", "client" Une start-up essayant d'amener un
et éventuellement "analyste nouveau produit sur le marché
d'affaires"
Diagramme abstrait que seul le client La vision produit du client de ce dont le
est autorisé à regarder marché a besoin, basée sur son
expérience et ses études de marché

Copie dessinée à la main de la vision L'implémentation du produit par le


du produit programmeur.

© 2005 Titanium I.T. LLC http://www.jamesshore.com


Atelier Offing the off-site Customer
Présence du client dans le processus
53

 Analyse des résultats :


 Les métaphores :
Réalité Métaphore
Figures en ligne droite dans le Les exigences de base du marché. Sans
diagramme de vision du produit cela, le produit sera rejeté et la société
échouera. Un chiffre est très compliqué:
satisfaire les besoins du marché n'est pas
facile.
Figures courbes dans le diagramme Une nouvelle torsion unique sur les
de vision du produit exigences du produit. Avec ceux-ci, le
produit sera une "application de tueur" et
l'entreprise dominera son marché.
Présentateur comparant les Libérer les produits sur le marché et voir
«produits» à la «vision du produit» ce qui se passe.
© 2005 Titanium I.T. LLC http://www.jamesshore.com
Atelier Offing the off-site Customer
Présence du client dans le processus
54

 Analyse des résultats :


 Échec :
◼ Si une équipe ne copie pas exactement les trois éléments linéaires, leur
produit est un échec. Leur entreprise a fait faillite.
◼ Cela n'a pas d'importance si les éléments de la ligne courbe sont
corrects, les éléments linéaires sont une condition préalable au succès.
 Survie :
◼ Si une équipe copie exactement les trois éléments linéaires, leur
entreprise a survécu.
◼ Ils ont réussi à donner au marché ce qu'il veut, mais ils n'ont pas innové.
◼ L'un des éléments linéaires est très difficile à copier: donner au marché
ce qu'il veut n'est pas facile.

© 2005 Titanium I.T. LLC http://www.jamesshore.com


Atelier Offing the off-site Customer
Présence du client dans le processus
55

 Analyse des résultats :


 Dominance :
◼ Si une équipe copie exactement la totalité de la vision du produit, leur
entreprise domine le marché pendant plusieurs années.
◼ Les éléments courbes représentent de nouvelles innovations.
◼ En copiant exactement les cinq éléments, l'équipe a donné au marché
exactement ce qu'il voulait et a continué à produire plusieurs
innovations que le marché voulait mais qu'il ne savait pas qu'il voulait.
◼ L'un des éléments de ligne courbes est facile et l'un d'eux est très
difficile : les deux doivent être parfaits pour obtenir une position
dominante sur le marché.

© 2005 Titanium I.T. LLC http://www.jamesshore.com


Phase de préparation (Sprint 0)
56

 Préparer le Product Backlog :


 Le métier recense toutes les user stories, les décrit, et
indique une priorité.
 En parallèle, les développeurs posent des questions sur
chaque user story, pour affiner les descriptions, et
recherchent les meilleures solutions techniques répondant
aux besoins exprimés.
 Les développeurs définissent la complexité de la User Story
en utilisant par exemple la technique du planning poker.
Phase de préparation (Sprint 0)
57

 Préparer une feuille de route (Roadmap) du Produit, avec


les releases identifiées :
 On répartit chaque user story dans les différentes itérations
et releases en plaçant toujours les plus grandes priorités en
premier.
 Cette étape définit un planning global.
 Elle permet aussi d’estimer le budget.
Phase de préparation (Sprint 0)
58

 Préparer l’Environnement Technique :


 Que faut-il pour commencer la première itération dans de
bonnes conditions ?
 Exemples : Mise en place des serveurs de développement et
de qualification, de l’intégration continue, et l’automatisation
de toutes les tâches possibles.
 On définit les modes de communication, la durée d’une
itération, etc.
Quelques chiffres ...
59

 Sur 23 000 projets :


 25 % des projets sont réalisés dans les délais et budgets
initialement définis.

 27 % des projets sont arrêtés avant d’être mis en production.

 48 % des projets ont abouti, mais hors délai, hors budget, ou


sans respecter les exigences initiales.

 53 % de ces projets coutent 200% des estimations initiales.

Source : Chaos Report du Standish Group


Quelques chiffres ...
60

Utilisation moyenne des


fonctionnalités d'applications
Toujours Souvent
7% 13%

Jamais
Parfois
45%
16%
Rarement
19%

Standish Group Study Reported at XP2002 by Jim Johnson, Chairman


L’agilité - pour en finir avec ...
61

 L’utopie des spécifications complètes et immuables au


début du projet.
 Le désastreux effet tunnel.
 Les équipes compartimentées :
 Beaucoup d’intervenants.
 Communication peu aisée, régentée par Word et le courriel.

 Des objectifs multiples, pas toujours communs.

 Les planifications figées.


 Un certain nombre de gaspillages.
 => Un coût du changement très élevé.
Travailler par cycles courts itératifs
62

On passe d’un mode prédictif …

Effet tunnel
… à un mode adaptif
Idées

itération
Atelier Open-ended specifications
63

 Équipes :
 Deux équipes de taille égale.
 Matériel :
 Une feuille blanche pour chaque membre des 2 équipes.
 Des crayons de couleur pour chaque membre des 2 équipes.

 Des spécifications écrites au nombre des personnes dans


chaque groupe.
Atelier Open-ended specifications
64

 Déroulement :
 Chaque personne reçoit une spécification écrite.
 Chaque personne dispose de 60 secondes pour représenter les
spécifications par un dessin.
 Discussion !
Le planning poker
65

 Déroulement du planning poker


 Chaque participant reçoit un jeu de cartes.
 Sur chaque carte il y a une valeur possible pour l’estimation de la
complexité d’une story.
 Le Product Owner présente la story.
 Les membres de l’équipe posent des questions pour bien la comprendre
et débattent brièvement.
 Tous les participants présentent en même temps la carte choisie pour
l’estimation de la complexité.
 Le groupe discute des différences éventuelles.
 On recommence jusqu’à arriver à une convergence des estimations pour
la story, puis on passe à la suivante.
Le planning poker
66

 Comme il est plus facile de faire des


estimations sur une échelle
prédéfinie plutôt que d’avoir à sa
disposition tous les entiers :
 La suite de Fibonacci est
généralement utilisée : 1, 2, 3, 5, 8,
13.
 La suite de Fibonacci est complétée :
 avec 0 et ½ pour les petites stories
 20, 40 et 100 pour les grandes
La complexité
67

 La complexité est une note indiquant la complexité technique sur


une échelle de valeur relative qui utilise la suite de Fibonacci :

1 2 3 5 8 13 20 40 100
facile -> simple -> normal -> difficile -> très dur -> délirant

 Déterminée par l’équipe (démocratiquement) pendant une séance


de planning poker, et non par une métrique mécanique.
 N’est possible que sur un scope fonctionnel limité donc mieux
maitrisé :
Donne une évaluation plus fiable.
Aide le client à faire son choix pour la répartition des user stories dans le plan
d’itérations.
La complexité
68

https://themindstudios.com/blog/agile-story-points-vs-hours/
Atelier Planning poker (Salade de fruits)
69

 Équipes :
 Deux équipes de taille égale.
 Chaque équipe fera son propre planning poker.
 Matériel :
 Application ScrumCard installée sur les téléphones des participants.
 Product backlog de la salade de fruits.
 Déroulement :
 Chaque équipe doit estimer la complexité à découper les fruits définis dans le
Product Backlog.
 Tous les participants d’une équipe doivent se mettre d’accord sur l’estimation
de la complexité d’un item pour pouvoir passer au suivant.
Atelier Planning poker (Salade de fruits)
70

 Product Backlog :

Id Item Priorité Complexité


1 Kaki

2 Clémentine

3 Noix

4 Pomme

5 Noix de coco
Le tableau des tâches
71
Le tableau des tâches sur Jira
72
Le tableau des tâches en mode mural
73
Complexité des stories, complexité des tâches
74

 Pas de relation métrique d’un niveau de granularité à un autre. La somme des


complexités des taches d’une User story n’est pas égale au chiffre de la
complexité de la User story.

Release, P = 3
C = 20 Tache 1, C = 3
P = priorité métier
C : complexité technique
Release, P = 2
Tache 2, C = 13
C = 40
US 1, P=1
Release, P = 1 C=2
Tache 3, C = 20
US 2, P=2
C = 13 C=8
Tache 4, C = 8
Conversion de la complexité en heures
75

A FAIRE EN COURS TERMINE

US 1, P=1
C=2
US 2, P=2 US 3, P=3
C=8 US 1, P=1
C=5
Durée = 7h C=2
Durée = ?h
Durée = 2h

US 4, P=4
C = 13
Durée = ?h
La mêlée quotidienne
76

 La mêlée quotidienne appelée aussi :


 Stand-up meeting
 Daily scrum meeting

 Est défini avec un cadre pour l’optimisation du


déroulement :
 Durée limitée à 15 minutes
 Tout le monde debout
 3 questions posées à chaque membre de l'équipe :
◼ Qu’as-tu fait depuis la dernière fois ?
◼ Que prévois-tu de faire jusqu'à la prochaine réunion ?
◼ Qu'est-ce qui pourrait empêcher d'y arriver ?
La mêlée quotidienne
77

 Objectifs de la mêlée quotidienne :


 Faire un point très rapide.
 Evaluer l'avancement du travail
 Identifier les obstacles nuisant à la progression.
 Réestimer le Reste à faire pour les tâches en cours, en heures.
 Garder l'équipe concentrée sur l'objectif du sprint
 Améliorer l'esprit d'équipe
 Mettre à jour le Burndown chart.
 Caractéristiques :
 Réunion démocratique : chacun peut s’exprimer.
 Transparence : "No good or bad news, just transparency" (Ken Schwaber).
 N'EST PAS un tribunal ou un moment pour les reproches et remontrances.
 Ce n’est pas un lieu pour les conversations.
La mêlée quotidienne
78

 Bonnes pratiques :
 On ne se réfère pas au passé (il y a 3 mois, tu as dit que ...).
 On cherche des solutions, pas des coupables.

 On arrive à l'heure aux réunions :


◼ En cas de retard :
◼ On s'excuse.
◼ On paye une "pénalité de retard".
 Si tout le monde parle en même temps, on établit un stylo de
parole.
Équipe SCRUM durant un daily scrum meeting
79
Atelier Scrum from hell
80

 Équipes :
 Deux équipes de 6 à 8 personnes :
◼ Une équipe Scrum.
◼ Une équipe d’observateurs.

 Matériel :
 Fiches avec objectif secret.
 Déroulement :
 Un membre de l’équipe Scrum est désigné comme Scrum Master.
 Chaque membre de l’équipe Scrum tire une carte au hasard.

 Le contenu de la carte doit être gardé secret.

 Chaque membre doit appliquer les recommandations de la carte


durant la réunion de 15 minutes.
Déroulement d’une itération
81

 Début : Planning d’Itération


 Le Client valide les user stories qui seront réalisées pendant la
prochaine itération.
 Il a pu en supprimer, en ajouter, ou changer leur contenu depuis
la feuille de route globale du produit.
 Il donne la vision, le but de l’itération.

 Les développeurs déterminent ou confirment la charge associée


aux user stories sélectionnées, et valident (ou non) qu’ils
peuvent réaliser l’itération.
 Dans le cas ou l’objectif de l’itération n’est pas compatible avec
la durée, l’équipe révise le contenu et déplace les user stories.
Déroulement d’une itération
82

 Milieu : Analyse, développement et test


 Les user stories sont découpées en tâches et positionnées sur la
colonne à faire.
 Les tâches les plus prioritaires sont déplacées dans la colonne En
cours.
 Chaque matin, la réunion de 15 minutes permet de faire le point
et d’identifier les problèmes à résoudre au plus vite.
 Pendant cette réunion, le tableau des tâches est mis à jour. Les
tâches sont déplacées dans les colonnes A faire/En cours/
Terminé.
Déroulement d’une itération
83

 Fin : Démo, Rétrospective & Release


 Démo : Les développeurs font une démonstration au métier
(Product owner) et valident ce qui fonctionne et ce qui doit être
modifié.
 Rétrospective : On fait un bilan du fonctionnement de l’équipe,
les échecs sont analysés afin d’apporter les améliorations
nécessaires au processus.
 Release : On met la version en production si le client le
demande.
 Tableau des tâches : Mise à jour des tâches pour la prise en
compte de qui doit être refait.
 On recommence avec l’itération suivante.
La revue d’itération
84

 Déroulement :
 Pas de slides
 En mode démonstration
 Mise en œuvre du réel
 Sur le serveur d'intégration
 Sauf exception, est orienté "utilisateur final"
 Points essentiels à aborder :
 Que fait-on de ce qui n'est pas fini ?
 Que fait-on des modifications et des anomalies ?
 Mise à jour du « product backlog »
La rétrospective
85

 Déroulement :
 Les membres de l’équipe se réunissent après la revue d’itération.
 Ils dressent un bilan des succès et difficultés.
 Ils préparent un plan d’action pour améliorer le fonctionnement
de l’équipe.
 Le plan d’action est appliqué dès l’itération suivante.
 Points essentiels à aborder :
 Qu’est ce qui a fonctionné ?
 Qu’est ce qui n’a pas vraiment fonctionné ?
 Qu’aimerions nous essayer durant la prochaine itération ?
Les rôles
86

 Client (PO) :
 Représentant du métier, du client final.
 Est le responsable du contenu fonctionnel.
 Il gère :
 Les backlogs (produit & sprints), contenant :
◼ les user stories et leur évolution
◼ Les priorités des user stories
◼ Il a le droit de changer d’avis à chaque début d’itération
 Le plan d'itérations => planning global
 Il est disponible pour répondre aux questions des
développeurs.
 Participe aux « cérémonies ».
Les rôles
87

 Coach agile / ScrumMaster :


 Garant de l'agilité
 Facilitateur, effaceur d'obstacle
 Isolateur vis-à-vis de l'extérieur
 Anime les « cérémonies »
 Met à jour :
◼ les burndowns
◼ la vélocité
◼ tout élément de reporting
 Gère :
◼ la liste des risques / obstacles
◼ la liste des actions
 Le coach peut développer, mais pas au dépend de ses tâches de coach :
◼ ses tâches sont simples
◼ en cas de blocage; il passe la main facilement
Les changements liés à l’agilité …
88

Imposer devient Faire Confiance

Contrôler devient Faciliter

Diriger devient Accompagner


Les rôles
89

 Equipe :
 Taille
◼ la taille idéale : 7
◼ Principe : 7, +/- 2
◼ les contributeurs apportent un service, mais ne l’imposent pas

 S'organise comme elle l'entend


 Est responsable de terminer ses tâches

 Résout ses propres conflits

 Pas de rôles spécialisés


◼ On apporte ses compétences spécifiques, mais sans porter un label "expert"
◼ On transmet ses compétences

 L'opinion de chacun est importante et sera prise en considération.


 L’équipe est la clé.
Flexibilité de Scrum (variation des rythmes)
90

Les rythmes possibles :


⚫ Rythme unique

❑Les itérations sont des sprints de durée fixe


❑La planification en début de chaque sprint
❑Une démo et une livraison potentielle à chaque fin de
sprint
❑Une réunion rétrospective à chaque fin de sprint
Flexibilité de Scrum (variation des rythmes)
91

Les rythmes possibles :


⚫ Trois rythmes

Nous pouvons opter pour trois rythmes différents.


1. Chaque semaine, nous livrons ce qui est prêt à être livré.
2. Toutes les deux semaines, nous avons une réunion de
planification, de mise à jour de nos priorités et des plannings de
livraison.
3. Toutes les quatre semaines, nous avons une réunion
(rétrospective) pour améliorer nos processus.
Flexibilité de Scrum (variation des rythmes)
92

Les rythmes possibles :


⚫ Rythme essentiellement piloté par les événements

1. Nous déclenchons une réunion de planification chaque fois que nous


commençons à ne plus rien avoir à faire.
2. Nous déclenchons la livraison d’une version dès que nous disposons d’un
ensemble de MMF (“Minimum Marketable Feature” = “fonctionnalité
minimale apportant de la valeur à l’utilisateur”).
3. Nous déclenchons spontanément un cercle de qualité à chaque fois que nous
tombons sur un même problème pour la deuxième fois. Nous faisons aussi
une rétrospective plus approfondie toutes les quatre semaines.
Est-ce que Scrum est normatif ou adaptatif ?
93

On peut comparer les outils en regardant le nombre de règles qu’ils


fournissent :
❑Normatif signifie “plus de règles à suivre”
❑Adaptatif signifie “moins de règles à suivre”

❑100% de normatif signifie que vous n'avez pas besoin d'utiliser votre
cerveau, il y a une règle pour tout.
❑100% d’adaptatif équivaut à faire n’importe quoi, il n'y a aucune règle ni
aucune contrainte.
➔Les deux extrêmes de l'échelle sont ridicules.
Est-ce que Scrum et Kanban sont normatifs ?
94
Comparons quelques outils sur une échelle normatif vs adaptatif :

RUP est assez normatif avec plus de 30 rôles, plus de 20


activités et plus de 70 artefacts ; une énorme quantité de
choses à apprendre.

XP (eXtreme Programming) est plus normatif que Scrum.


Il inclut une majorité des règles de Scrum + un ensemble
de pratiques d’ingénierie bien spécifiques comme le
développement piloté par les tests et la programmation
en binôme.
Kanban en bref
95

· Visualisez le workflow :
o Divisez votre travail, décrivez chaque élément sur une fiche et mettez-la au mur.
o Tracez des colonnes, donnez-leur le nom des étapes du workflow et placez y les éléments de travail.
· Limitez le TAF : fixez des limites précises indiquant combien d’éléments peuvent être placés dans
chaque étape du workflow.
· Mesurez le temps de cycle (temps moyen pour traiter complètement un élément, appelé “lead time”
en anglais), optimisez le processus pour que le temps de cycle soit aussi court et prévisible que possible.
Comparaison entre Scrum et Kanban
96

Dans les deux cas, nous suivons la progression d’un groupe d’éléments à
travers un workflow. Nous avons défini trois états : “À faire”, “En cours”,
et “Terminé”.

Quelle différence y a-t-il entre les deux tableaux Kanban et Scrum ?


Comparaison entre Scrum et Kanban
97

❑ La différence est le petit 2 dans la colonne du milieu sur le tableau Kanban.


❑ Ce chiffre 2 signifie que “il ne peut pas y avoir plus de 2 éléments dans cette colonne
à un instant donné”.
❑ Avec Scrum, il n'existe pas de règle empêchant l'équipe de mettre tous les éléments
dans la colonne "En cours" en même temps ! Toutefois, la limite est le périmètre du
sprint.
❑ Donc Scrum limite le TAF indirectement, alors que Kanban limite le TAF directement.
Flexibilité de Scrum (s’imprégner d’autres méthodes)
98

• Supposons que nous avons une


équipe de 4 personnes, et que
nous décidons de commencer
par une limite de TAF à 1.
• Chaque fois que nous
commençons à travailler sur un
élément, nous ne pouvons pas
démarrer un nouvel élément tant
que le premier n’est pas Fini
Flexibilité de Scrum (s’imprégner d’autres méthodes)
99
Alors, si un TAF de 1 est trop faible, qu’est-ce-que cela donne avec un TAF de 8?
Supposez maintenant que nous avons un problème avec le serveur d'intégration,
Puisque nous ne pouvons pas terminer les éléments D et E, nous commençons à
travailler les éléments F et G
Flexibilité de Scrum (s’imprégner d’autres méthodes)
100

Au bout d'un moment, nous atteignons notre


limite Kanban - 8 éléments dans « En
cours »

À ce stade, nous ne pouvons plus ajouter


d'éléments.

Nous ferions mieux de régler ce problème de


serveur d'intégration !

La limite de TAF nous a invités à réagir et à


éliminer le goulet d'étranglement au lieu
d'empiler du travail non fini.

C’est pas mal ! Mais …

On peut mieux faire.


Flexibilité de Scrum (s’imprégner d’autres méthodes)
101

Si la limite de TAF était de 4, nous aurions réagi beaucoup plus tôt, nous donnant ainsi un
meilleur temps de cycle moyen.
De plus en plus détaillé dans les spécifications
102

Produit Ensemble des fonctionnalités

Release Une macro-fonctionnalité (ex : gestion des clients)

Thème Domaines, catégories : subdivision d’une release

Epic Subdivision d’un thème; macro User Story

User story Scénario utilisateur, unitaire

Tache de
développement
« having things done » Jeff Sutherland
103

Obsession d’une équipe agile : avancer


Il faut donc pouvoir distinguer clairement ce qui est fait et
ce qui reste à faire.
 En début de projet, on définit les conditions d’achèvement
– d’une tâche (tests automatisés et qui passent, intégration, mais
éventuellement aussi alimentation de certains documents, description d’une
conception, de l’exploitabilité, etc)
– d’une itération, d’une release, du projet
 On renseigne l’avancement par :
– déplacement de post-it sur le mur

– le burndown chart de l’itération


C’est très motivant pour l’équipe
Reporting : le Burndown chart
104

Un burndown produit et un par itération (par sprint).


Représente le travail à faire, par la somme des complexités de l’itération
Chaque US terminée permet de faire baisser le RAF
Très visuel. Permet de voir l’évolution de la complexité
Analyse du Burndown chart
105

BDC Raisons
Dès le début du sprint l’équipe constate que la
complexité réelle (traitée) dépasse la
complexité estimée.
►Mauvaise estimation de la charge.
Vers la fin du sprint l’équipe constate que la
complexité réelle commence à dépasser la
complexité estimée.
►Mauvaise estimation de la charge.
Dès le démarrage du sprint, des tâches non
planifiées sont lancées et tuent le sprint.
►Ajout de fonctionnalités par le Product
Owner.
Analyse du Burndown chart
106

BDC Raisons
Démarrage en règle, en abordant une user story,
on se rend compte que l’évaluation de la
complexité est en dessous de la réalité, d’où la
nécessité d’une réévaluation.
►Mauvaise estimation de la charge.
►Ajout d'anomalies costauds à corriger.

Au milieu du sprint, des tâches non planifiées sont


lancées et tuent le sprint.
►Ajout d'anomalies costauds à corriger.
►Ajout de fonctionnalités par le Product Owner.
Analyse du Burndown chart
107

BDC Raisons
Le sprint démarre avec une complexité réelle
supérieure à la complexité estimée.
►Mauvaise estimation de la charge

Dès le début du sprint l’équipe constate que la


complexité réelle (traitée) est en dessous de la
complexité estimée, d’où la nécessité d’une
réévaluation.
►Mauvaise estimation de la charge.
Analyse du Burndown chart
108

BDC Raisons

Lors de la réunion de planification de sprint,


toutes les tâches n'avaient pas été estimées
(ni même identifiées pour certaines), ça
arrive. Avant qu'elles ne le soient, les
burndown charts ressemblaient au BDC7’,
donnant l'impression qu'on finirait avant la
moitié du sprint. Après, ça a repris une allure
plus normale.
►Absence d’estimation de la charge pour
certaines tâches.
L'agilité pour quel résultat ?
109

En 2007, l’APLN (Agile Project Leadership Network) a mené une étude sur
1700 entreprises dans 71 pays.
Les conclusions indiquent notamment :

• 90% ont constaté des gains de productivité


• 55% ont constaté des gains de productivité d’au minimum 25%
• 85% ont constaté une réduction des bogues
• 83% ont constaté une réduction significative du Time To Market
• 66% ont constaté une réduction significative des coûts

Les deux plus grands bénéfices constatés par les entreprises vis-à-vis de leur
utilisation de l’agilité concernent la meilleure gestion du changement et
l’amélioration de la productivité.

Constat : le choix « agile » obtient de meilleurs résultats.


Le risque « agile » se révèle « payant »
Vocabulaire Scrum
110

Scrum : en anglais signifie la mêlée.


Sprint : petites itérations de durée fixe (appelées des sprints et durant habituellement de 1 à 4
semaines) se terminant par une démonstration avec un produit potentiellement livrable.

Product backlog : liste des briques fonctionnelles composants le produit.

Iteration backlog (sprint backlog) : détaille le contenu d’une brique fonctionnelle affectée à un sprint
(itération).

Planification de sprint : Sélection des backlog selon les priorités et affectation des équipes.

Daily scrum : mêlée quotidienne

Rétrospective : Réunion à la fin du sprint permettant de tirer profit du processus déroulé durant le
sprint (analyse des problèmes et des blocages).

Lead time : temps de cycle

MMF : Minimum Marketable Feature. Fonctionnalité minimale qui a de la valeur pour l’utilisateur

Vous aimerez peut-être aussi