cours scrum
DESCRIPTION
Cours scrumTRANSCRIPT
Introduction à Scrum
2
•Scrum terme en anglais signifiant mêlée , notamment en
rugby
•Scrum désigne une méthode agile dédiée à la gestion de
projet• Objectifs:
Satisfaire au mieux les besoins du client
Maximiser les chances de réussite du projet
1986 : « The new new product development game »
Rappel sur les méthodes agiles(1/2)
•Une méthode agile est une approche itérative et incrémentale,
qui est menée dans un esprit collaboratif avec juste ce qu’il faut
de formalisme
•Elle génère un produit de haute qualité tout en prenant en
compte l’évolution des besoins des clients
•Concepts formalisés en 2001 par le Manifeste Agile.3
Rappel sur les méthodes agiles(2/2)
4
Les 4 principes essentiels du Manifeste Agile:
• L'équipe : Personnes et interactions plutôt que processus et outils
• L'application :Logiciel fonctionnel plutôt que documentation complète
• La collaboration :Collaboration avec le client plutôt que négociation de
contrat
• L'acceptation du changement :Réagir au changement plutôt que suivre un
plan.
Pratiques agiles livrer fréquemment et régulièrement le logiciel, faire des cycles de développement courts et limités dans le temps, constituer une équipe complète pour un développement, gérer les membres de l’équipe en les responsibilisant, avoir le représentant des utilisateurs sur le même site que le reste
de l’équipe, produire des plans à plusieurs niveaux : détaillés uniquement pour
le court terme,et plus généraux pour le moyen terme, développer en intégrant le code de façon continue, faire des bilans de projet dans le but d’améliorer la façon de
travailler.
5
Scrum – Principes clés
Exposé sur le Scrum6
Scrum est une méthode agile qui permet de produire la plus grande valeur métier dans la durée la plus courte.
Méthode itérative et incrémentale:• Réalisation d’un ensemble de fonctionnalités par itération• Itération d’une durée fixe (d’2 à 4 semaines)// sprint
• Livraison d’un produit partiel fonctionnel par itération
Participation du client:• Définition des fonctionnalités prioritaires• Ajout de fonctionnalités en cours de projet (pas pendant un sprint !)
Definitions –Le scrum quotidien permet d’inspecter la progression
par rapport au but du sprint et de faire des adaptations qui optimisent la valeur du travail du jour suivant.
– La planification et la revue de sprint sont utilisées pour inspecter l’avancement du développement par rapport au but de la release et faire des adaptations sur le contenu du produit pour le prochain sprint.
– La rétrospective inspecte la façon de travailler dans le sprint pour déterminer quelles améliorations du
processus peuvent être faites dans le prochain sprint.
7
Élements Équipe et rôles – L’équipe a un rôle capital dans
Scrum : elle est constituée avec le but d’optimiser la flexibilité et la productivité ; pour cela, elle s’organise elle-même et doit avoir toutes les compétences nécessaires au développement du produit.
Timeboxes – Scrum utilise des blocs de temps pour créer de la régularité. Le coeur du rythme de Scrum est le sprint, une itération d’un mois ou moins.
Artefacts –Scrum exige peu d’artefacts lors du développement : le plus remarquable est le backlog de produit, pivot des différentes activités
9
Approche SCRUM
Itératif et Incrémentale
Scrum combine les deux approches avec la notion de sprint :à l’issue du sprint, il y a un incrément de
produit qui est réalisé, le feedback sollicité sur cet incrément permet
de le perfectionner dans un prochain sprint.
10
SCRUM: Cycle de vie agile
Des itérations plus courtes : les sprints durent au maximum un mois.
Une séquence plus stricte : les sprints ne se chevauchent pas.
Un rythme régulier : les sprints ont toujours la même durée.
11
Cycle de vie: L’aspect temporel
Phases et jalonsJalons mineurs : Fin du sprintJalons majeurs: Fin de release
13
Une release est une série de sprints qui se termine quand les
incréments successifs constituent un produit qui présente
suffisamment de valeur à ses utilisateurs
Scrum – Planifier un projet
Exposé sur le Scrum14
Constitution du backlog produit par le product owner.
Répartition en sprints et en releases.
Source : http://fr.wikipedia.org
Activités d’un Sprint
Spécification fonctionnelle (requirements) Architecture (conception) Codage (et test unitaire)
Test (d’intégration et de recette)
15
Scrum – Organisation 1/5
Exposé sur le Scrum17
Source : www.scrumalliance.org
1. Backlog produit (ou catalogue des besoins) Besoins priorisés par le product owner Besoins évalués par l’équipe
Scrum – Organisation 2/5
Exposé sur le Scrum18
Source : www.scrumalliance.org
2. Backlog de sprint Extrait du backlog produit Besoins éclatés en tâches
Scrum – Organisation 3/5
Exposé sur le Scrum19
Source : www.scrumalliance.org
3. Sprint Développement des fonctionnalités du backlog de sprint Aucune modification du backlog de sprint possible
Scrum – Organisation 4/5
Exposé sur le Scrum21
4. Mêlée quotidienne Point de contrôle quotidien de l’équipe Interventions régulées – 2 min. par personne
Source : www.scrumalliance.org
Scrum – Organisation 5/5
Exposé sur le Scrum22
Source : www.scrumalliance.org
5. Incrément logiciel : livré au product owner à la fin du sprint.
Le ProductOwner
s’assurer que le travail fait apporte de la valeur aux
utilisateurs.
Il est responsable de la définition du contenu du produit
et de la gestion des priorités pour son développement.
prend des décisions de niveau stratégique
décide dans des domaines qui sont ceux d’un chef de
projet (ex date de livraison).
décisions de niveau tactique 24
PO: Rôles principaux
Fournir une vision partagée du produit Définir le contenu du produit Planifier la vie du produit
25
ScrumMaster
Le ScrumMaster a pour responsabilité essentielle d’aider
l’équipe à appliquer Scrum et à l’adapter au contexte. Il a
une grande influence sur la façon de travailler, sur le
processus, comme le Product Owner en a une sur le
produit. Ce qui pourrait conduire à qualifier le
ScrumMaster de Process Owner par équivalence.
26
ScrumMaster: Responsabilités
veiller à la mise en application de Scrum,
encourager l’équipe à apprendre, et à progresser, en fonction du contexte du projet, dans les pratiques d’ingénierie ;
faire en sorte d’éliminer les obstacles qui pourraient freiner l’avancement,
inciter l’équipe à devenir autonome
27
BackLog Une équipe Scrum ne produit pas une documentation
faite au début du projet, qui décrit en détail toutes les
spécifications fonctionnelles. Elle collecte les fonctions
essentielles et les raffine progressivement. L’outil de
collecte s’appelle le backlog de produit.
28
Scrum – Indicateurs de projet 1/2
Exposé sur le Scrum32
Le tableau des tâches
Source : « Scrum and XP from the trenches » de H. Kniberg, 2007
Scrum – Indicateurs de projet 2/2
Exposé sur le Scrum35
Le burndown chart
Source : « Summary of Scrum », Signifikant Svenska A.B., 2007
Scrum – Ingénierie logicielle
Exposé sur le Scrum36
Scrum est une méthode de gestion de projet
Doit être complétée par des techniques d’ingénierie logicielle
Complémentaire avec Extreme Programming :Test Driven Development Intégration continue
Scrum – Equipes plus grandes
Exposé sur le Scrum37
Principes :1. Commencer par une équipe Scrum standard2. Création de plusieurs équipes – essaimage
Adaptation de la méthode : Scrum des scrums Rôle de team lead
Problèmes à traiter : Dispersion géographique Développement off-shore
Les outils
Exposé sur le Scrum38
Outils traditionnels Tableau blanc et post-its Excel – Backlog produit et backlog de sprint
Outils dédiés Outils commerciaux / Open source Gèrent une charge de travail Absence de PERT / Gantt Intégration avec : IDE, contrôle de sources, gestion des tests, bug
tracking, intégration continue. Autres outils
Connexion large bande Wiki, webcams, messagerie instantanée…
Perspectives
Exposé sur le Scrum39
Pas d’évolution, peu de critiques Défauts à palier
Absence de dépendance entre les tâches Polyvalence des programmeurs Productivité équivalente supposéeÞ Grande maturité nécessaire
Contrats à adapter Stratégie d’introduction de Scrum en entreprise
Conclusion
Exposé sur le Scrum40
Méthode de gestion de projet – développement logiciel
A compléter avec des techniques d’ingénierie logicielle
Rien de totalement nouveau
Méthode à la mode. Conditions propices nécessaires
Expérimentations prometteuses
Principal bénéfice : des équipes motivées
Bibliographie
Exposé sur le Scrum41
•www.mountaingoatsoftware.com/scrum
•www.scrumalliance.org
•www.controlchaos.com
•En français
• le groupe des utilisateurs de Scrum : www.frenchsug.org
• http://fr.groups.yahoo.com/group/frenchsug