mountain goat software, llc introduction à scrum traduction de fabrice aimetti 7 juin 2009 sur la...
TRANSCRIPT
Mountain Goat Software, LLC
Introductionà Scrum
Traduction de Fabrice AIMETTI7 juin 2009
sur la base d’une première traduction de Claude Aubry
Mountain Goat Software, LLC
<vous><date>
Présenté par
Introduction à Scrum
Mountain Goat Software, LLC
Nous sommes en train de perdre la course de relais
Hirotaka Takeuchi et Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review, Janvier 1986.
“… L’approche ‘course de relais’ pour le développement de produits… peut entrer en conflit avec les objectifs de vitesse et flexibilité maximum. A l’inverse, une approche holistique comme au ‘rugby’ — où une équipe essaie d’avancer en restant unie, se passant le ballon de main en main — peut mieux servir les exigences de compétitivité d’aujourd’hui.”
Mountain Goat Software, LLC
•Scrum est un processus agile qui permet de se concentrer sur la livraison de la plus grande valeur métier dans le délai le plus court.
•Il nous permet de vérifier rapidement et régulièrement un logiciel qui fonctionne réellement (toutes les 2 à 4 semaines).
•Le métier définit les priorités. Les équipes s’organisent elles-mêmes pour déterminer la meilleure façon de produire les fonctionnalités les plus prioritaires.
•Toutes les 2 à 4 semaines, tout le monde peut voir réellement fonctionner un logiciel et décider soit de le livrer dans l’état, soit de continuer à l’enrichir sur le sprint suivant.
Scrum en 100 mots
Mountain Goat Software, LLC
Origines de Scrum• Jeff Sutherland
• Premiers pas à Easel Corp en 1993
• IDX et +500 pers. pratiquant Scrum
• Ken Schwaber• ADM
• Scrum présenté à OOPSLA 96 avec Sutherland
• Auteur de trois livres sur Scrum
• Mike Beedle• Scrum patterns à PLOPD4
• Ken Schwaber et Mike Cohn• Cofondateurs de Scrum Alliance en
2002, d’abord dans le cadre de l’Agile Alliance
Mountain Goat Software, LLC
Utilisateurs de Scrum :•Microsoft•Yahoo•Google•Electronic Arts•Lockheed Martin•Philips•Siemens•Nokia•IBM•Capital One•BBC
•Intuit•Nielsen Media•First American Real Estate•BMC Software•Ipswitch•John Deere•Lexis Nexis•Sabre•Salesforce.com•Time Warner•Turner Broadcasting•Oce
Mountain Goat Software, LLC
Utilisations de Scrum :• Logiciel commercial
• Développement interne
• Développement contractuel
• Projets au forfait
• Applications financières
• Applications certifiées ISO 9001
• Systèmes embarqués
• Systèmes fonctionnant 24h/24 7j/7 (99.999%)
• Le programme Joint Strike Fighter
•Développement de jeux vidéos
•Systèmes critiques pour la santé (FDA)
•Logiciel de contrôle satellite
•Sites Web
•Logiciels pour PDA
•Téléphonie mobile
•Infrastructure de réseaux
•Développeurs indépendants
•Quelques unes des plus grandes applications utilisées aujourd’hui
Mountain Goat Software, LLC
Caractéristiques• Equipes auto-organisées
• Le produit s’enrichit par des suites de “sprints” d’au plus 1 mois
• Les exigences sont définies comme des éléments d’une liste appelée “product backlog”
• Pas de pratiques d’ingénierie prescrites
• Utilise des règles génériques permettant de créer un environnement agile pour produire un projet
• Un des “processus agiles”
Mountain Goat Software, LLC
Le Manifeste Agile – une déclaration de valeurs
Processus et outilsProcessus et outilsIndividus et interactionsIndividus et interactions
plutôt que
Suivre un planningSuivre un planningS’adapter au changementS’adapter au changement
plutôtque
Source: www.agilemanifesto.org
Documentation complète
Documentation complète
Un logiciel qui fonctionne
Un logiciel qui fonctionne
plutôt que
Négociation à partir d’un contrat
Négociation à partir d’un contrat
Collaboration avec le client
Collaboration avec le client
plutôt que
Mountain Goat Software, LLC
Niveau de bruit du projet
Simple
ComplexeAnarchie
Compliqué
Technologie
Exig
en
ces
Non définies
Définies
Maît
risé
es
Pas
maît
risé
es
Source : Strategic Management and Organizational Dynamics par Ralph Stacey dans Agile Software Development with Scrum par Ken Schwaber et Mike Beedle.
Mountain Goat Software, LLC
AnnulationsPapiers cadeaux
Papiers cadeauxCoupons
Retours
Scrum
Sprint2-4 semaines
Retours
But du Sprint
Backlogdu sprint
Produit partielpotentiellement
utilisable
Backlogdu Produit
Coupons
24 heures
Annulations
Mountain Goat Software, LLC
Vue d’ensemble
Image disponible sur www.mountaingoatsoftware.com/scru
m
Mountain Goat Software, LLC
Sprints• Les projets Scrum progressent par une série
de “sprints”
• Equivalent aux itérations en Extreme Programming
• La durée typique est de 2 à 4 semaines maxi
• Une durée constante apporte un meilleur rythme
• Le produit est conçu,codé et testé pendant le sprint
Mountain Goat Software, LLC
Cycle séquentiel vs. itératif par recouvrement
Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
Plutôt que de fairetotalement une seule
chose à la fois ... Les équipes Scrum font
un peu de tout,tout le temps
Exigences Conception Code Test
Mountain Goat Software, LLC
Pas de changement durant le sprint
• Définissez la durée d’un sprint en fonction de la l’engagement que vous prenez de différer toute demande de changement au sprint suivant
Changement
Mountain Goat Software, LLC
Le framework Scrum•Product owner•ScrumMaster•Equipe
Rôles
•Planification de Sprint•Revue de Sprint•Rétrospective de Sprint•Scrum quotidien
Cérémonies
•Backlog de produit•Backlog de Sprint•Burndown charts
Artefacts
Mountain Goat Software, LLC
Scrum framework
•Planification de Sprint•Revue de Sprint•Rétrospective de Sprint •Scrum quotidien
Cérémonies
•Backlog de Produit•Backlog de Sprint•Burndown charts
Artefacts
•Product owner•ScrumMaster•Equipe
Rôles
Mountain Goat Software, LLC
Product owner
•Définit les fonctionnalités du produit
•Décide la date et le contenu de la release
•Responsable du Retour sur Investissement
•Définit la priorité des fonctionnalités en fonction de leur valeur métier
•Ajuste les fonctionnalités et les priorités à chaque sprint, si nécessaire
•Accepte ou rejette les résultats
Mountain Goat Software, LLC
The ScrumMaster•Représente le management du projet
•Responsable de l’application des valeurs et des pratiques de Scrum
•Résout les problèmes
•S’assure que l’équipe est complètement fonctionnelle et productive
• Facilité une coopération poussée entre tous les rôles et fonctions
• Protège l’équipe des interférences extérieures
Mountain Goat Software, LLC
L’équipe•Typiquement 5 à 9 personnes
•Regroupant tous les rôles :
• Développeurs, testeurs, ergonomes, etc.
• De préférence à plein temps sur le projet
• Sauf exceptions (ex : administrateur BD)
•Les équipes sont auto-organisées
• Idéalement, pas d’étiquette mais rarement possible
•La composition de l’équipe ne peut changer qu’entre deux sprints
Mountain Goat Software, LLC
•Product owner•ScrumMaster•Equipe
RôlesScrum framework
•Backlog de Produit•Backlog de Sprint•Burndown charts
Artefacts
•Planification de Sprint•Revue de Sprint•Rétrospective de Sprint•Scrum quotidien
Cérémonies
Mountain Goat Software, LLC
Planification du Sprint
Périmètre
• Analyser et évaluer le backlog du produit
• Définir le but du sprint
Planning
• Décider comment s’y prendre (conception)
• Créer la liste des tâches à partir des éléments du backlog du produit (user stories)
• Estimer les tâches en heures
But du SprintBut du Sprint
Backlog du
Sprint
Backlog du
Sprint
Conditions métier
Conditions métier
Capacité de
l’équipe
Capacité de
l’équipe
Backlog de
produit
Backlog de
produit
Techno-logies
Techno-logies
Produit actuel
Produit actuel
Mountain Goat Software, LLC
Planification du Sprint• L’équipe sélectionne les éléments du backlog de
produit qu’elle s’engage à finir
• Le backlog du sprint est créé :
• Les tâches sont identifiées et estimées (1 à 16 heures)
• Collectivement, pas uniquement par le ScrumMaster
• La conception de haut niveau est abordée
En tant que touriste intéressé par la région, je souhaite voir les photos des hôtels.
En tant que touriste intéressé par la région, je souhaite voir les photos des hôtels.
Coder la couche persistance (8 heures)Coder l‘IHM (4)Ecrire les test fixtures (4)Coder la classe foo (6)Màj des tests de performance (4)
Mountain Goat Software, LLC
Scrum quotidien
•Caractéristiques :• Tous les jours
• 15 minutes
• Debout
•Pas pour résoudre les problèmes :• Tout le monde est invité
• Seul les membres de l’équipe, le ScrumMaster, le Product owner, peuvent parler
•Evite d’organiser d’autres réunions
Mountain Goat Software, LLC
Chacun répond à 3 questions
• Il ne s’agit pas de comptes-rendus au ScrumMaster• Ce sont des engagements pris entre pairs
Qu’as tu fais hier ?Qu’as tu fais hier ?11
Que vas-tu faire aujourd’hui ?Que vas-tu faire aujourd’hui ?22
Es-tu bloqué par quelque chose?Es-tu bloqué par quelque chose?
33
Mountain Goat Software, LLC
Revue de sprint•L’équipe présente ce qu’elle a accompli
durant le sprint
•En général sous la forme d’une démo des nouvelles fonctionnalités ou de l’architecture
• Informelle• Préparation 2 heures
• Pas de slides
•Toute l’équipe participe
• Inviter le monde entier
Mountain Goat Software, LLC
Rétrospective de sprint•Réfléchir régulièrement à ce qui
marche et ne marche pas•Dure en général de 15 à 30 minutes•Fait à la fin de chaque sprint•Toute l’équipe participe :• ScrumMaster
• Product owner
• Equipe
• Eventuellement clients et autres intervenants
Mountain Goat Software, LLC
Commencer / Arrêter / Continuer
•Toute l’équipe se réunit et discute sur qu’elle aimerait :
Commencer à faire
Commencer à faire
Arrêter de faireArrêter de faire
Continuer à faireContinuer à faireJuste une
façon parmi d’autres de
faire la rétrospective d’un sprint.
Mountain Goat Software, LLC
•Product owner•ScrumMaster•Equipe
RôlesScrum framework
•Planification de Sprint•Revue de Sprint•Rétrospective de Sprint•Scrum quotidien
Cérémonies
•Backlog de Produit•Backlog de Sprint•Burndown charts
Artefacts
Mountain Goat Software, LLC
Backlog de produit•Les exigences
•Une liste du travail souhaité sur le projet
•Exprimé idéalement de telle manière que chaque élément apporte de la valeur aux utilisateurs ou clients du produit
•Les priorités sont définies par le Product owner
•Les priorités sont revues au début de chaque nouveau sprint
Ceci est lebacklog de
produit
Ceci est lebacklog de
produit
Mountain Goat Software, LLC
Exemple d’un backlog de produit
Elément de backlogEstimati
onUn invité peut faire une réservation 3En tant qu’invité, je souhaite annuler ma réservation.
5
En tant qu’invité, je souhaite changer les dates d’une réservation.
3
En tant qu’employé de l’hôtel, je souhaite afficher le revenu moyen de chaque chambre
8
Améliorer la gestion des exceptions 8... 30... 50
Mountain Goat Software, LLC
Le but du sprint•Un bref énoncé de ce sur quoi le travail va
essentiellement porter pendant le sprint
Base de données
Services financiers
Sciences de la vieOffrir les fonctionnalités nécessaires à l’étude génétique d’une population
Offrir davantage d’indicateurs techniques que l’entreprise ABC avec un flux de données diffusé en continu et en temps-réel.
Faire tourner l’application sur SQL Server en plus d’Oracle.
Mountain Goat Software, LLC
Gérer le backlog de sprint• Chacun s’engage sur un travail qu’il choisit lui-même
• Le travail n’est jamais assigné par un autre
• L’estimation du reste à faire est réactualisée tous les jours
• Chaque membre de l’équipe peut ajouter, supprimer ou changer un élément du backlog de sprint
• Le travail du sprint émerge progressivement
• Si le travail n’est pas clair, définir une tâche dans le backlog du sprint en estimant une grosse charge et la décomposez plus tard
• Affinez le reste à faire au fur et à mesure
Mountain Goat Software, LLC
Exemple d’un backlog de sprint
TâchesTâchesCoder l’IHMCoder couche métierTester couche métierEcrire l’aide en ligne
Ecrire la classe foo
LunLun8
16
8
12
8
MarMar4
12
16
8
MerMer JeuJeu
4
11
8
4
VenVen
8
8
Tracer les erreurs
8
10
16
8
8
Mountain Goat Software, LLC
Un burndown chart de sprint
Heure
s
Mountain Goat Software, LLC
Hou
rs
40
30
20
10
0Mon Tue Wed Thu Fri
TâchesTâchesCoder l’IHM
Coder couche métier
Tester couche métier
Ecrire l’aide en ligne
LunLun8
16
8
12
MarMar MerMer JeuJeu VenVen4
12
16
7
11
8
10
16 8
50
Mountain Goat Software, LLC
Scalabilité• Une équipe comprend généralement 7 ± 2
personnes
• La scalabilité est obtenu avec plusieurs équipes
• Facteurs de scalabilité :
• Type d’application
• Taille de l’équipe
• Répartition géographique des équipes
• Durée du projet
• Scrum a été utilisé sur de nombreux projets de 500 personnes et plus
Mountain Goat Software, LLC
Scalabilité avec un Scrum de scrums
Mountain Goat Software, LLC
Scrum de scrums de scrums
Mountain Goat Software, LLC
Pour aller plus loin•www.mountaingoatsoftware.com/
scrum
•www.scrumalliance.org
•www.controlchaos.com
Mountain Goat Software, LLC
Pistes de lecture• Agile and Iterative Development: A Manager’s Guide by
Craig Larman
• Agile Estimating and Planning by Mike Cohn
• Agile Project Management with Scrum by Ken Schwaber
• Agile Retrospectives by Esther Derby and Diana Larsen
• Agile Software Development Ecosystems by Jim Highsmith
• Agile Software Development with Scrum by Ken Schwaber and Mike Beedle
• Scrum and The Enterprise by Ken Schwaber
• User Stories Applied for Agile Software Development by Mike Cohn
• Lots of weekly articles at www.scrumalliance.org
Mountain Goat Software, LLC
Notice Copyright• Vous êtes libre :
• de Partager - reproduire, distribuer et communiquer ce support
• de Modifier - adapter ce support
• Selon les conditions suivantes :
• Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre).
• Rien dans ce contrat ne diminue ou ne restreint le droit moral de(s) auteur(s).
• Pour plus d’informations, voir : http://creativecommons.org/licenses/by/3.0/
Mountain Goat Software, LLC
ContactPrésentation de Mike Cohn
www.mountaingoatsoftware.com
(720) 890-6110
Présentation de Mike [email protected]
omwww.mountaingoatsoftware.co
m(720) 890-6110
Vous pouvez supprimer ce slide
(ou tout autre) mais vous devez
citer les sources quelque part
dans votre présentation. Utilisez
le logo et le nom de l’entreprise
(en bas à gauche par exemple)
ou incorporez un slide quelque
part pour dire qu’une portion (ou
la totalité) de votre présentation
provient de ces sources. Merci.