mountain goat software, llc introduction à scrum traduction de fabrice aimetti 7 juin 2009 sur la...

43
Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude Aubry

Upload: riche-george

Post on 04-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

Mountain Goat Software, LLC

Introductionà Scrum

Traduction de Fabrice AIMETTI7 juin 2009

sur la base d’une première traduction de Claude Aubry

Page 2: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

Mountain Goat Software, LLC

<vous><date>

Présenté par

Introduction à Scrum

Page 3: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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.”

Page 4: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 5: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 6: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 7: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 8: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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”

Page 9: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 10: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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.

Page 11: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 12: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

Mountain Goat Software, LLC

Vue d’ensemble

Image disponible sur www.mountaingoatsoftware.com/scru

m

Page 13: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 14: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 15: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 16: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 17: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 18: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 19: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 20: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 21: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 22: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 23: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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)

Page 24: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 25: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 26: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 27: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 28: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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.

Page 29: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 30: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 31: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 32: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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.

Page 33: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 34: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 35: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

Mountain Goat Software, LLC

Un burndown chart de sprint

Heure

s

Page 36: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 37: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 38: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

Mountain Goat Software, LLC

Scalabilité avec un Scrum de scrums

Page 39: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

Mountain Goat Software, LLC

Scrum de scrums de scrums

Page 40: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

Mountain Goat Software, LLC

Pour aller plus loin•www.mountaingoatsoftware.com/

scrum

•www.scrumalliance.org

•www.controlchaos.com

[email protected]

Page 41: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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

Page 42: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

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/

Page 43: Mountain Goat Software, LLC Introduction à Scrum Traduction de Fabrice AIMETTI 7 juin 2009 sur la base d’une première traduction de Claude AubryClaude

Mountain Goat Software, LLC

ContactPrésentation de Mike Cohn

[email protected]

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.