Scrum RSK
Scrum RSK
Scrum RSK
SCRUM
6. Scrum of Scrums
7. Préparation à la certification
4
Sommaire
1. Introduction
6. Scrum of Scrums
7. Préparation à la certification
5
Le développement logiciel ?
La Crise du logiciel
• Le génie logiciel :
– Né en Europe à Garmish-Partenkirchen (Allemagne)
– Conférence en 1968 sous le patronage de l’OTAN
– 45 ans déjà, seulement !
80 Matériel
% des 60
20
Maintenance
0
%
100
90
80
70
60 90%
50
40
66%
Livrés
54%
en
retard
N’étaient
30 Livrés
pashors
20 30%
budget
considérés
comme
10 Abandonnés
réussis
avant la fin
0
Source: THE STANDISH GROUP 2003
Cycle de vie du logiciel (CVL)
Avant-projet Exploitation & Retrait
Développement Maintenance
de projet
Gestion
Analyse
Conception
Activités techniques
Implémentation
Tests Maintenance
Étude
&
préalable
Installation Assistance
Documentation
Vérification et Validation (V&V)
Gestion de configuration
Les Outils de gestion mis en œuvre
Program Evaluation
and Review Technique (1958)
1910’s
Sommaire
1. Introduction
6. Scrum of Scrums
7. Préparation à la certification
12
Premiers constats
Maitriser les 4 variables d'ajustement sur un projet
– Périmètre fonctionnel (ce qu’on veut faire ?)
– Coût (avec quel budget ?)
– Durée (en combien de temps ?)
– Qualité
75% augmentation de la
productivité
72% amelioration de la
motivation des équips
Considérer comme
Livrer fréquemment Fonctionnels et
naturel les
Satisfaire le client une application développeurs
changements
fonctionnelle travaillent ensemble
d’exigences
Un logiciel
L’échange Le rythme de
Bâtir le projet fonctionnel est la
d’information le développement doit
autour de meilleure façon de
plus efficace est en être soutenable
personnes motivées mesurer
face à face indéfiniment
l’avancement
2 caractéristiques fondamentales:
EVENTS
Sprint
Sprint Planning Meeting
Daily Scrum
Sprint Review
Sprint Retrospective
ARTIFACTS
Product Backlog
Sprint Backlog
Increment
DONE
Attention
• Scrum n’est pas une méthode mais un framwork
6. Scrum of Scrums
7. Préparation à la certification
57
Le Product Owner - PO
Les responsabilités du P.O.
• Comme il est moteur pour établir ce que doit faire le produit, il est
logique qu’il fournisse aussi ses conditions de satisfaction, qui
permettront de s’assurer que ce qu’il demande est bien réalisé
il est donc impliqué dans les tests d’acceptation.
• C’est l’équipe qui définit elle-même la façon dont elle organise ses
travaux, ce n’est pas le Scrum Master (ni le Product Owner).
6. Scrum of Scrums
7. Préparation à la certification
93
5 niveaux de planification
La planification Scrum
Product vision
Répond aux questions suivantes:
• Quel problème essayons-nous de
résoudre ?
• Pour qui résolvons-nous ce problème ?
• Quelle solution apportons-nous à ce
problème ?
• Comment allons-nous lancer ce produit ?
(Go-to-market)
• Quel est le modèle économique ?
• Comment allons-nous mesurer le succès
de ce produit ? (revenu, métriques) ?
Product Vision
Product Roadmap
security
Fulfillment
Payments
• .
Le Backlog Produit:
base de la planification
Backlog et roadmap
Backlog de produit
▪ Is an ordered list of everything that might be needed in the product
and is the single source of requirements for any changes to be made to
the product.
▪ A Product Backlog is never complete. The earliest development of it
only lays out the initially known and best-understood requirements.
▪ The Product Backlog evolves as the product and the environment in
which it will be used evolves. As long as a product exists, its Product
Backlog also exists.
▪ The Product Owner is responsible for the Product Backlog,
including its content, availability, and ordering. Maintenance is done
together with the Development Team.
▪ Multiple Scrum Teams often work together on the same product.
Therefore one Product Backlog is used to describe the upcoming
work on the product.
User story
Les user stories
Attributs des PBI
• description,
• ordre,
• valeur et
• estimation
Iceberg du backlog de produit
Item INVEST
PO+Equipe
PO+Stakeholders
~flou
Stakeholders
EPIC vs. Theme
Theme
User stories détaillées: exemple
Ajouter les conditions de satisfaction
INVEST
3C pour les histoires
Product Backlog Refinement
• Les développeurs procèdent au raffinement
du BP, Durant une réunion formelle ou
informelle
• Les étapes sont les suivantes:
– supprimer les histoires non pertinentes
– Créer d’autres histoires qui répondent aux nouvelles
attentes
– Revoir la priorité des histoires
– Affecter les estimations manquantes aux histoires
– Corriger les histoires en fonction des nouvelles
informations identifiées
– Décomposer les histoires ayant un haut niveau de
priorité et qui sont très grandes pour être incorporées
dans un seul sprint
Product Backlog Refinement
• C’est ajouter les détails, estimations et
ordonner les items.
• Le Product Owner les développeurs
collaborent ensemble.
• La Scrum Team décide du comment et du
quand le raffinement est fait
• Les items peuvent être mis à jour à n’importe
quel moment par le PO.
Product Backlog Refinement
• Une session mid-sprint avec la Scrum team
pour la raffinement du BP permet de mettre en
place une communication transparente entre
le PO et les développeurs
• Le raffinement de plus de 10% de la capacité
de l’équipe n’est pas souhaitable
• Elle permet de réduire la durée de la réunion
de planification du sprint
INVEST? Not INVEST?
INVEST? Not INVEST?
INVEST? Not INVEST?
INVEST? Not INVEST?
INVEST? Not INVEST?
INVEST? Not INVEST?
Spécification des besoins
• Besoins fonctionnels (Functional requirements- FR)
Chaque Sprint doit donner un increment
• Valeur financière
• Valeur business
• Coût de développement et de support
• Les features à haut risque
Les critères de définition des priorités
Parmi les critères qui poussent à donner une grande priorité à
une story :
– La valeur apportée (Business Value)
– MVP: Minimum Viable Product
– La fréquence d’utilisation
– Le risque qu’elle permet de réduire
• L’objectif est de réduire l’exposition au risque le plus rapidement possible.
• Des stories permettant de valider des choix techniques sont toujours prioritaires.
– L’incertitude sur des besoins des utilisateurs qu’elle permettra de
diminuer
• Quand un utilisateur désire une fonctionnalité mais ne sait pas de quelle façon le
service doit être rendu, la solution est de lui montrer rapidement une version pour
obtenir du feedback s’offrir une occasion d’améliorer le produit.
– La qualité à laquelle elle contribue
• Les travaux visant à garantir la qualité du produit devraient être prioritaires.
– Les dépendances entre stories
Business Value
• Comment prioriser selon la valeur business
6. Scrum of Scrums
7. Préparation à la certification
132
La planification de la release
Définitions
• Une release est la période de temps constituée de sprints
utilisée pour planifier à moyen terme.
Release 1
• Les sprints courts sont bénéfiques: Ils autorisent l'entreprise à être “agile”,
c'est-à-dire à changer souvent de direction.
Sprint court = cycle de feedback court = des livraisons plus fréquentes =
plus de feedback des clients = moins de temps passé à courir dans la
mauvaise direction = apprendre et améliorer plus rapidement, etc.
• Only the Development Team can change its Sprint Backlog during
a Sprint.
• The Sprint Backlog is a highly visible, real-time picture of the work that
the Development Team plans to accomplish during the Sprint, and it
belongs solely to the Development Team.
Sprint backlog
Sprint backlog
• The Sprint Backlog is composed of the Sprint Goal (why), the
set of Product Backlog items selected for the Sprint (what), as
well as an actionable plan for delivering the Increment (how).
• The Sprint Backlog is a plan by and for the Developers. It is a
highly visible, real-time picture of the work that the Developers
plan to accomplish during the Sprint in order to achieve the
Sprint Goal.
• Consequently, the Sprint Backlog is updated throughout the
Sprint as more is learned.
• It should have enough detail that they can inspect their
progress in the Daily Scrum.
Tableau des tâches mural
• Il est élaboré lors de la réunion de planification du sprint.
• Pour chaque story sélectionnée, l’équipe identifie les
tâches correspondantes.
• Sur le tableau, les stories et les tâches sont placées avec
des Post-it.
• L’état des tâches est reconnu selon la place de la tâche
dans des zones représentant chaque état : à faire, en
cours et finie.
Faire de la planification de sprint
• Préparer le backlog de produit en anticipation
• Laisser l’équipe décider du périmètre en collaboration
avec le PO
• Laisser l’équipe décomposer les stories en tâches courtes
• Prendre un engagement raisonnable
• Garder du mou dans le plan de sprint
– Pour les incertitudes dans les estimations sur les tâches.
– Pour les impondérables susceptibles de se produire.
prévoir une proportion < ou = à 20% de mou (temps non affecté)
173/75
Exemple de Définition de « Done »
• Code produced (all 'to do' items in code completed)
• Code commented, checked in and run against current version in
source control
• Peer reviewed (or produced with pair programming) and meeting
development standards
• Builds without errors
• Unit tests written and passing
• Deployed to system test environment and passed system tests
• Passed UAT (User Acceptance Testing) and signed off as meeting
requirements
• Any build/deployment/configuration changes implemented/
documented/ communicated
• Relevant documentation/diagrams produced and/or updated
• Remaining hours for task set to zero and task closed
http://www.agile-software-development.com/2007/07/definition-of-done-10-point-
checklist.html
DoD selon le Scrum Guide
• “The Definition of Done is a formal description of the state of the
Increment when it meets the quality measures required for the
product.
• The moment a Product Backlog item meets the Definition of Done, an
Increment is born.
• The Definition of Done creates transparency by providing everyone a
shared understanding of what work was completed as part of the
Increment.
• If the Definition of Done for an Increment is part of the standards of
the organization, all Scrum Teams must follow it as a minimum. If it is
not an organizational standard, the Scrum Team must create a
Definition of Done appropriate for the product.”
Plusieurs équipes sur un même BP
et crée un incrément
Incrément: résultat du sprint
Sprint backlog
Attention!!!!
• Durant les sprints, la capacité de l’équipe doit augmenter.
bon SM, bon PO, équipe motivée et engagée
179
Le Scrum quotidien ou
La Mêlée quotidienne
Une réunion quotidienne
Une réunion quotidienne
• Le scrum quotidien est un point de rencontre où tous les membres de
l’équipe répondent à trois questions simples et actualisent le plan de
sprint :
– Présenter ce qui a été fait : Ce que j’ai fait depuis le dernier scrum afin
d’atteindre le but du sprint ?
– Prévoir ce qui va être fait : Ce que je prévois de faire jusqu’au prochain
scrum afin d’atteindre le but du sprint ?
– Identifier les obstacles : Quels sont les obstacles qui freinent NOTRE
travail afin d’atteindre le but du sprint?
• Son but principal est d’optimiser la probabilité que l’équipe atteigne
les objectifs du sprint.
• Les moyens pour atteindre ce but consistent en :
– Éliminer les obstacles nuisant à la progression de l’équipe.
– Garder l’équipe concentrée sur l’objectif du sprint.
– Évaluer l’avancement du travail pour le sprint en cours.
– Communiquer objectivement sur l’avancement.
Réussir un Scrum quotidien
Les signaux d’avertissement
187
Les signaux d’avertissement
188
Les signaux d’avertissement
189
La revue de Sprint (sprint
revue)
La revue de Sprint
• L’un des principes des méthodes agiles :
« pour connaître l’avancement d’un développement, il vaut
mieux se baser sur du logiciel fonctionnel plutôt que sur de la
documentation ».
• L’idée est que ceux qui réalisent sont les mieux placés pour savoir
comment progresser.
6. Scrum of Scrums
7. Préparation à la certification
209
SM et PO peuvent travailler avec
plusieurs équipes
Scrum of Scrums
Scaling Scrum
Maintenance et gestion des bugs
• Il n’y a pas de vraie phase de maintenance
• Gestion des bugs
– Défaut sur une story considérée comme finie
• Ce sont les défaut s découverts sur une story développée dans un sprint
précédent et qui a été considérée comme finie.
• Ou, les défauts qui portent sur des parties développées avant que le projet
mette en place un processus agile.
• Un défaut enlève de l’utilité à une story selon sa gravité :
– Un défaut critique empêche le fonctionnement d’une ou plusieurs
stories,
traitement prioritaire + ajout de tâches dans le plan de sprint
– Un défaut majeur ne permet pas un fonctionnement normal et fait perdre
une grande partie de l’utilité à la story une nouvelle entrée dans le backlog
produit + traitement au prochain sprint
– Un défaut mineur fait perdre un peu de valeur à une story en rendant son
utilisation plus difficile une nouvelle entrée dans le backlog produit
213
Sommaire
1. Introduction
6. Scrum of Scrums
7. Préparation à la certification
214
Conclusion générale
Waterfall vs. Agile