SlideShare uma empresa Scribd logo
1 de 155
PRATIQUES AGILES
MOSTEFAI MOHAMMED AMINE | 2018
PRATQUES AGILES
PLAN DU COURS
2
Vue d’Ensemble Organisation Collaboration
Livraison Planification Développement
PRATIQUES AGILES
SECTION 1 : VUE D’ENSEMBLE
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 3
SECTION1:VUED’ENSEMBLE
PRATIQUES AGILES
PRATIQUES XP
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 4
Organisation
Programmation
par binômes
Travail énergisé
Espace de travail
informatif
Analyse de cause
racine
Rétrospective
Collaboration
Confiance
S’assoir ensemble
Implication du
client
Langage universel
Réunion debout
Standard de codage
Démo d’itération
Rapports
Livraison
Définition du Fait
Pas de bugs
Contrôle de version
Génération de 10
minutes
Intégration
Continue
Propriété
Collective
Documentation
Planification
Planification Agile
Vision
Plan de livraison
Jeu de planning
Gestion des risques
Planification de
l’itération
Relâchement
Estimation
Développement
Exigences
Incrémentales
Tests d’acceptation
TDD
Refactoring
Conception Simple
Conception et
Architecture
Incrémentales
Solutions de Pointe
Tests Exploratoire
Revues de Code
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
SECTION 2 : PRATIQUES D’ORGANISATION
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 5
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
PROGRAMMATION PAR PAIRES
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 6
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
PROGRAMMATION PAR PAIRES
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 7
Deux
programmeurs
partagent le
même poste
Une personne
code « le
conducteur »,
l’autre appelée
« navigateur »
observe et
réfléchit
Le conducteur
se concentre
sur le code
tandis que le
navigateur sur
une vision plus
globale
Le travail en
binôme ne se
retreint pas au
codage, mais
peut s’étendre
aux tests
Il est
recommandé de
changer les
binômes à
travers les
journées
Il est
recommandé de
réfléchir à
haute voix
Le navigateur
doit privilégier
la réflexion à
l’interruption
Le navigateur
et le
conducteurs
doivent
échanger leur
rôles
fréquemment
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
PROGRAMMATION PAR PAIRES - RECOMMANDATIONS
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 8
S’organiser en binôme pour tout
Les binômes se choisissent d’eux-mêmes, éviter les affectations
Quand les choses n’avancent pas, changer de binôme
Éviter de faire binôme avec la même personne plus d’une journée
Échanger fréquemment les rôles
Le navigateur doit collaborer, pas critiquer
Faire attention au style de communication
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
TRAVAIL ÉNERGISÉ
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 9
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
TRAVAIL ÉNERGISÉ
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 10
L’un des facteurs
de productivité,
est la forme
Un développeur
ne doit pas « se
noyer » dans le
projet et doit
avoir d’autres
activités
personnelles et
sociales
L’une des façons
de pratiquer le
travail énergisé
est le mode 40H
par semaine (pas
d’heure sup)
Le coach doit
rappeler aux
développeurs de
rentrer chez eux
S’habituer à des
pauses
Le CdP Essaye
de se
déprogrammer
des réunions
facultatives
Pendant les
heures de
travail, se
concentrer sur le
projet : pas de
mail ni
téléphone
Construire une
équipe soudée
aide à la
productivité
Si un travail
supplémentaire
est inévitable, ne
pas en abuser
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
ESPACE DE TRAVAIL INFORMATIF
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 11
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
ESPACE DE TRAVAIL INFORMATIF
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 12
Un espace de travail
informatif fait circuler
l’information d’une
manière optimale
L’état d’avancement du
projet peut être facilement
obtenu en marchant dans
la salle
Tableaux blancs, des
mures d’affichage, des
schémas dessinés à la
main
Utiliser les photos avec les
personnes distantes
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
ESPACE DE TRAVAIL INFORMATIF
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 13
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
EXEMPLE D’ESPACE DE TRAVAIL
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 14
www.jamesshore.com
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
EXEMPLE D’ESPACE DE TRAVAIL - 2
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 15
Source : www.jamesshore.com
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
ANALYSE DE LA CAUSE RACINE
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 16
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
ANALYSE DE LA CAUSE RACINE
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 17
Au lieu de se
restreindre à
corriger un bug,
identifier les causes
Une des techniques
est de poser
« pourquoi » cinq fois
Les rétrospectives
sont le moment idéal
de discuter des
causes racines
L’analyse peut se
faire
individuellement,
par binôme ou par
équipe
Le but de RCA est de
corriger les
problèmes, pas de
blâmer les gens
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
QU’EST-CE QU’UNE RÉTROSPECTIVE ?
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 18
Une réunion impliquant l’équipe qui se tient à la fin du projet ou d’une étape du projet.
Cette réunion discute des éléments qui ont bien fonctionné et des possibilités
d’amélioration du processus de travail.
Source : https://www.gov.uk/service-manual/agile/running-retrospectives.html
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
QU’EST-CE QU’UNE RÉTROSPECTIVE ?
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 19http://nomad8.com/personal-kanban-at-work/
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
TYPES DE RÉTROSPECTIVES
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 20
Itération Livraison Projet
Surprise
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
RÉTROSPECTIVES - DÉTAILS
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 21
Tout le monde
doit participer
Les éléments
externes à
l’équipe ne
doivent pas
assister
Donne
l’occasion à
tout le monde
d’améliorer le
procédé
Il est
obligatoire de
cadrer la
rétrospective
Utiliser des
techniques
comme les
questions,
brainstorming
ou les cinq
pourquoi
Ne pas utiliser
les
rétrospectives
pour attaquer
ou blâmer
Les
rétrospectives
ont besoin d’un
facilitateur
(par exemple
chef de projet)
Le plan
d’action à
sortir doit être
réalisable à
court terme
Les
rétrospectives
sont
cohérentes
entre elles
Privilégier les
post-it
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
LE FACILITATEUR
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 22
Planifier la
rétrospective
Donne la chance
à tout le monde
de s’exprimer
Contrôle la
rétrospective
S’assure que des
actions sont
prises et
affectées
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
RÉTROSPECTIVES - PROCESSUS
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 23
Discours
Ecrire les
points
positifs
Discuter des
points
positifs
Ecrire les
points
négatifs
Discuter des
points
négatifs
Plan d’action
SECTION2:PRATIQUESD’ORGANISATION
PRATIQUES AGILES
RÉTROSPECTIVES - TABLEAU
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 24Source : https://www.gov.uk/service-manual/agile/running-retrospectives.html
PRATIQUES AGILES
SECTION 3 :
PRATIQUES DE
COLLABORATION
25MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
CYCLE DE VIE D’UNE ÉQUIPE
26
Constitution
•Découverte
•Rôle du leader
•Fédération
autour d’un
objectif
•Instauration d’un
climat de
confiance
Tensions
•Divergences /
Confrontations
•Rôle du leader
•Ecoute /
Régulation
•Instauration du
leadership
Normalisation
•Structuration
•Rôle du leader
•Règles partagées
•Célébrer les
premiers succès
Production
•Coopération /
Coordination
•Rôle du leader
•Motivation
•Encouragement
Dissolution
•Deuil / Départ /
Reconstitutions
•Rôle du leader
•Reconnaissance
•Encouragement
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
CONFIANCE
27MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
CONFIANCE
28
Il faut du temps aux
membres de l’équipe
pour se connaître
Une équipe qui
s’entend bien est une
équipe qui devrait
être plus productive
Les membres de
l’équipe doivent
compter l’un sur
l’autre
La responsabilité
collective et la
propriété collective
sont une des clés du
succès
Remplacer la
mentalité « c’est
eux » par « c’est
nous »
Créer un climat de
confiance entre
clients et
développeurs
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
CLÉS DE LA CONFIANCE
29
Je ne dois pas être pénalisé par ce que je consacre du
temps à aider les autres
Je ne dois pas être sanctionné ou mal vu lorsque je
demande de l’aide
Le Top Management doit faire confiance aux équipes
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
CONSTRUIRE LA CONFIANCE
30
Coaching Rétrospectives
S’asseoir
ensemble
Manger
ensemble
Faire d’autres
activités
Continuité de
l’équipe
Satisfaire
l’organisation
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
S’ASSEOIR ENSEMBLE
31
Les
communications
face à face sont
les plus efficaces
Les
communications
indirectes sont
plus sujettes aux
ambiguïtés et
aux malentendus
Il faut éviter aux
collaborateurs de
« deviner » les
réponses
Dans une équipe
XP, dans un
espace ouvert,
quand on a une
question, on la
pose directement
La
communication
directe augmente
la propriété
collective et
anticipe les
questions
L’espace de
travail doit
accommoder
l’équipe XP mais
ne pas déranger
les autres
employés
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
IMPLICATION DU CLIENT
32MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
IMPLICATION DU CLIENT
33
Si le client est bien
choisi, son impact
est extraordinaire
Si le projet est
interne, prendre une
personne
compétente, motivée
et influente
Si intégrer un client
est difficile,
multiplier les
réunions et les
visites
Utiliser les outils de
communication
Inviter des
utilisateurs pour des
versions « béta »
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
LANGAGE UNIVERSEL
34MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
LANGAGE UNIVERSEL
35
Les développeurs ne
sont généralement pas
qualifiés pour le
domaine cible et les
clients ne sont pas
techniquement qualifiés
Les développeurs et les
clients doivent parler un
langage unique
Respecter au maximum
la terminologie du client
Le langage universel
doit se répercuter sur le
code
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
RÉUNION DEBOUT
36MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
RÉUNION DEBOUT
37
Se fait chaque
jour, la même
heure
Chaque membre
partage ce que les
autres doivent
savoir sur le projet
Les échanges
doivent être brefs
et cadrés
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
SCRUM QUOTIDIEN
38
De préférence
en début de
journée
Qu’est-ce que
j’ai fait hier ?
Qu’est-ce que je
vais faire
aujourd’hui ?
Quels sont les
problèmes qui
m’empêchent de
progresser ?
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
RÉUNION DEBOUT
39
Source : en.wikipedia.org
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
STANDARDS DE CODAGE
40MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
STANDARDS DE CODAGE
41
Il est dans l’intérêt de l’équipe d’avoir un style unique
XP suggère la création de standards auxquels l’équipe doit adhérer
Les standards incluent :
•Les pratiques de développement
•Le style de conception
•La manière de générer les produits
•La manière avec laquelle créer des tests unitaires
•Les logs et l’infrastructure
•Outils
•…
Les standards sont établis en consensus aux débuts de l’itération
La présence d’un coach technique est hautement recommandée
Choisir les standards les plus consensuels
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
DÉMO DE L’ITÉRATION
42MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
DÉMO DE L’ITÉRATION
43
Faire chaque
itération,
idéalement à la
fin
Présente ce qui a
été fait pendant
l’itération
Inviter d’autres
clients que ceux
sur site
Collecter le
feedback et
réorganiser les
idées et les récits
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
REPORTING
44MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
REPORTING
45
Les rapports
permettent aux
personnes
concernées d’être
informées sur le
projet
Il existe plusieurs
types de rapports
Les rapports
affichent la
progression du
projet
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
RAPPORTS DE PROGRESSION
46
Plan d’itération et le
livraison
•Donne des indications
sur le progrès
Rapport de
Progression Globale
(Burn-up Chart)
•Avance globale du projet
Feuille de Route
•Direction du Projet
Tableau de bord des
défaillances
•Suit et mesure les
défaillances
Utilisation du temps
•Temps accordé par
l’équipe aux différentes
activités
Suivi de Vélocité
•Capacité de l’équipe à
produire
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
BURN-UP CHART - EXEMPLE
47
Source : pm.stackexchange.com
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
BURN-UP CHART – EXEMPLE 2
48
Source : help.rallydev.com
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
BURN-UP CHART AVEC VÉLOCITÉ
49Source : help.rallydev.comMÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
SUIVI DES DÉFAILLANCES– EXEMPLE
50
Source : help.scrumalliance.org
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
PRATIQUES AGILES
SECTION 4 : PRATIQUES DE LIVRAISON
51MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
PLAN DE LIVRAISON EXEMPLE
52
Source : scalingsoftwareagilityblog.com
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
PLAN DE LIVRAISON EXEMPLE 2
53
Source : betterprojects.net
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION2:PRATIQUESDECOLLABORATION
COURS 5 : PRATIQUES AGILES
PLAN D’ITÉRATION - EXEMPLE
54
Source : jazz.net
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
DÉFINITION DU FAIT !
55MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
DÉFINITION DU FAIT ! (DEFINITION OF DONE, DOD)
56
Quand est-ce qu’un
récit est
« effectivement » fini ?
Les récits
partiellement finis ont
un potentiel néfaste
sur le projet (coûts,
bugs, désagréments)
Il faut définir les
critères permettant de
dire qu’un récit est fait
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
CRITÈRES POSSIBLES
57
Testé
•Intégration
•Acceptation
•Unitaire
Codé
Conçu
•La structure et
l’architecture est
satisfaisante
Intégré
•Fonctionne en end to
end
Compilable
Installable
Révisé
•Validé par les clients
Migré
•Scripts de BDD
•Fichiers
•Clés registre
Réparé
•Éliminé les bugs
Accepté
Performant Documenté
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
COMMENT RÉUSSIR LE DOD ?
58
TDD Bien planifier
S’assurer qu’un
récit est fait
avant de passer
à l’autre
Intégration
Continue
Les récits
doivent être
assez petits
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
ABSENCE DE BUGS
59MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
ABSENCE DE BUGS
60
Toutes les pratiques
de XP tendent à
réduire le nombre de
bugs
Se baser sur le TDD
Faire les tests très
tôt dans le process
Prioriser le
règlement de bugs
Améliorer le
processus de façon à
toujours réduire le
nombre de
défaillances
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
CONTRÔLE DE VERSION
61MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
CONTRÔLE DE VERSION
62
L’équipe a besoin
d’un référentiel
centralisé pour le
code et d’autres
éléments
Plusieurs systèmes
supporte le contrôle
de version (svn,
TFS,…)
Le contrôle de
version permet une
résolution des
conflits et une plus
grande sécurité
Le contrôle de
version est
indispensable à
l’intégration
continue
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
GÉNÉRATION DE 10 MINUTES
63MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
GÉNÉRATION DE 10 MINUTES
64
Préférer les outils
automatisant la
compilation
Ajoutez d’autres tâches
à la génération : mise à
jour du schéma, clés,
fichiers,…
Structurez le projet de
façon à minimiser la
compilation
Évitez les projets
monolithiques
Cloisonnez le travail de
façon à ce que pendant
une itération, peu de
développeurs
travaillent sur
plusieurs sous-projets
Allégez les tests
unitaires
Utilisez les générations
rapides et les
générations poussées
(lorsqu’il y a beaucoup
de tests)
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
INTÉGRATION CONTINUE
65MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
INTÉGRATION CONTINUE
66
L’intégration continue
consiste à intégrer tous
les travaux des
développeurs en un code
centralisé et compilable
L’équipe doit intégrer
fréquemment
Le contrôle de version
est la base de
l’intégration continue
Exemple d’Outils :
Bamboo, TeamCity,
Apache Continuum
Deux types
d’intégration: synchrone
et asynchrone
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
PROPRIÉTÉ COLLECTIVE
67MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
PROPRIÉTÉ COLLECTIVE
68
La Propriété
Collective lègue la
responsabilité de
maintenir le code à
TOUTE l’équipe
Répond à des
risques connus:
absence, maladie,
démission,…
S’il y a y a un
problème avec le
code, toute l’équipe
devrait être
responsable
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
DOCUMENTATION
69MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION4:PRATIQUESDELIVRAISON
COURS 5 : PRATIQUER XP
DOCUMENTATION
70
L’agilité réduit la
documentation mais
ne l’élimine pas
La meilleure
documentation sur le
code est le code lui-
même
Utiliser les outils de
documentation
automatique tels que
Doxygen ou JavaDoc
Les tâches de
documentation
doivent être
considérés comme
récits et planifiées
Privilégier
l’utilisation des
wikis
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
PRATIQUES AGILES
SECTION 5 : PRATIQUES DE PLANIFICATION
71MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
ENCHAÎNEMENTS
72
Constitution
• Identification
des rôles
Découverte
• Constitution
des backlogs
• Vision
Exécution
• Itérations
• Transformation
créative
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
CONSTITUTION
73
Leader Client Equipe
Partie Prenante
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
DÉCOUVERTE
74
Qu’est-ce
que le
produit ?
Où va-t-on
Quelle est la
vision ?
Backlog
Initial
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LIVRAISON
75
R0
R1
R2
R3
Rx
Valeur
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
RÉCIT / ELEMENT
76MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
Fonctionnalité
d’un produit
Moins
granulaire que
l’épopée ou la
fonctionnalité
Caractérisé par
un poids
(points) et une
priorité
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
R0
RÉCITS
77
R1
Rx
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
RÉCIT ?
78
Source : agilemodeling.com
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
RÉCIT ?
79
Source : agilemarketing.net
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
ORGANISATION DES RÉCITS
80
Epopée 1
Fonctionnalité
1
Récit 1 Récit 2
Fonctionnalité
2
Récit 3 Récit 4 Récit 5
Epopée N
Fonctionnalité
X
Récit N Récit N+1
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
EXÉCUTION
81
R0
I1 I2 I3 I3 I4 I5 I6 I7 I8 I9
I1
0
R1
I1
1
I24 I25 I26 I27 I28
Rx
Infrastructure
Itération
Normale
Itération
Qualité
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
ITÉRATIONS
82
Planification
IngénierieDémonstration
Rétrospective
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LES RÉCITS
83
Les récits sont des fonctionnalités décrites en une ou deux lignes
Elles sont utilisées pour la planification
Les récits sont orientées métier et utilise la terminologie du client
La réalisation d’un récit doit être mesurable
Utiliser des cartes en papier et les tableaux blancs pour afficher les récits
Les récits peuvent être fusionnés ou scindés pour s’adapter aux contraintes de planification
Certains récits « spéciaux » peuvent être ajoutés :
•Infrastructure
•Non-fonctionnel
•Bugs
•Documentation
•PoC
Les récits ne remplacent pas les spécifications
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LES RÉCITS - EXEMPLE
84
Source : agilemodeling.com
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LES RÉCITS - EXEMPLE
85
Source : agilemarketing.net
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LES RÉCITS – EXEMPLE TFS
86
Source : microsoft.com
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LES RÉCITS – EXEMPLE
87
Source : agilemarketing.net
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
ANATOMIE D’UN RÉCIT
88
Epopée 1
Fonctionnalité
1
Récit 1
Élément de
travail
Élément de
travail
Élément de
travail
Récit 2
Fonctionnalité
2
Récit 3 Récit 4 Récit 5
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
ÉLÉMENT DE TRAVAIL
89
Élément
de
travail
Tâche
Bug
Amélioration
Exécution de
test
….
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
ÉLÉMENT DE TRAVAIL VS RÉCIT
90
Élément de travail
• Estimé par le temps
• Monolithique
• Sur une itération
• Généralement affecté à une
personne
• Technique
Récit
• Estimé par l’effort
• Composite
• Peut s’étaler sur plusieurs itérations
• Généralement pris en charge par
plusieurs personnes
• Fonctionnel
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
PRINCIPES DE PLANIFICATION
91
Planifier
Court
Cadrage Contraintes
Dettes
Techniques
Granularité Poker
Calcul de
Vélocité
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
92
Semaine
Heur
e
Dim Lun Mar Mer Jeu
Journée
9H-10H
10H-
11H
11H-
12H
13H-
14H
14H-
15H
15H-
16H
16H-
17H
17H-
18H
Planification
Ingénierie
Relâchement
Rétrospective &
Démo
PLANIFICATION
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
EXÉCUTION
Ingénierie
Développement
Tests
Conception
Relâchement
Dette
Technique
Recherche
Documentation
Planification
Poker
Négociation
Auto-
Organisation
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
PLANIFICATION
Récits
Tâches
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
PLANIFICATION - SUITE
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
CONTRAINTE DÉVELOPPEMENT
«recette + dev»
Analyse Fonctionnelle
Récit
«equipe»
Planification
«dev»
Implémentation
Tâche
«recette»
RédactionCas de Test
«recette»
Test
Rapport de
Test
«dev»
Rectification
Bug
Clôture
présence de bugs
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
CONTRAINTE TEST
«recette»
Test Exploratoire Rapport de
Test
«dev»
Rectification
Bug
«dev»
Implémentation
Tâche
Test
Clôture
RAS
défaillance
defaillance
amélioration
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
TRANSFORMATION CRÉATIVE
Tâches
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LA VISION
99MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LA VISION
100
La vision est très
importante car elle
définit une sorte
d’identité pour le
projet
La vision est portée
par le
« visionnaire »
Il faut que l’équipe
comprenne dans
quel contexte elle
est
Il faut que la vision
soit unique
L’idéal est que la
vision soit portée et
promue par le chef
de produit
Si l’équipe comporte
plusieurs
visionnaires, il faut
qu’ils consolident
leur vision
Il est recommandé
que la vision soit
formalisée
La vision doit être
omniprésente
La vision aide à
structurer le projet
et à prioriser les
récits
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
FORMALISER LA VISION
101
Projet
Qu’est-ce
qu’il
accomplit
Quelle est
sa valeur ?
Quels sont
les critères
de succès ?
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
PLAN DE LIVRAISON
102MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
QU’EST-CE QU’UN PLAN DE LIVRAISON ?
103
Un plan de livraison est un ensemble
de récits quantifiés et priorisé
déterminant la portée fonctionnelle
d’une ou plusieurs livraisons.
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
PLANIFIER LA LIVRAISON
104
Planifier un seul
projet en même
temps
Essayer de prioriser
les récits de façon à
créer une première
version qui crée de
la valeur
Livrer tôt Livrer fréquemment
Réduire le nombre
de récits par
livraison pour
inclure le nombre
des livraisons
Adapter le plan en
intégrant les récits
provenant des
feedbacks des
utilisateurs
Les dates de
livraisons sont
souvent fixées par
des entités externes
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LIVRAISON FRÉQUENTE – EXEMPLE, TODO LIST
105MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
MÉTHODES DE CRÉER UN PLAN DE LIVRAISON
106
Cadré par les
fonctionnalités
•Fonctions Connues
•Date de Livraison Inconnue
Cadré par le temps
•Fonctions Inconnues
•Temps Connu
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
MÉTHODES DE CRÉER UN PLAN DE LIVRAISON
107
Produit
Livraison 1
Livraison N
Itération 1
Itération 2
Itération 3
Itération P
Itération
P+1MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
PROCESSUS DE LA PLANIFICATION DE LIVRAISON
108
Identification
des fonctions
Estimation Priorisation
Répartir les
récits sur les
livraisons
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
FACTEURS IMPACTANT LA PLANIFICATION DE LIVRAISON
109
Vision
Stratégie
Coût des
récits
Valeur des
récits
Complexité
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
EXEMPLE
110MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LE JEU DE PLANNING
111MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LE JEU DE PLANNING
112
Une approche
permettant de
construire
convivialement le
meilleur planning
possible
Les clients sont les plus
informés sur la valeur
 priorité
Les développeurs sont
les plus informés sur le
coût  estimation
La planification
optimale maximise la
valeur en réduisant les
coûts
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
DÉROULEMENT DU JEU
113
Des récits
sont
proposés
Les
développeurs
estiment les
récits
Les clients
classent les
récits selon
leur priorité
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LE POKER DE PLANNING
114
Un jeu permettant
d’obtenir un
consensus des
estimations
Chaque estimateur a
des cartes de
0,1,2,3,5,8,13,20,40 et
100 points
Le client ou le chef de
produit présente un
récit
Les estimateurs
posent des questions
Chaque estimateur
présente une carte
Si les estimations
convergent,
l’estimation est
adoptée
Si les estimations
divergent, on pose la
question à la plus
grande et la plus
petite estimation
Redemander
l’estimation en cas de
divergence
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LES RISQUES
115MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LES RISQUES
116
Les risques est un
évènement qui peut
avoir lieu
Un risque a un
impact négatif sur le
triangle
portée/qualité, coût,
temps
Avant de pouvoir
gérer les risques, il
faut les recenser et
prédire leur impact
Un risque est mesuré
en combinant sa
fréquence et sa
probabilité
d’occurrence
La réunion pessimiste
est une technique de
recensement des
risques
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
EXEMPLES DE RISQUES
117
Absence Départ
Nouveaux
besoins à
impacts
Problème
techniques
Changement
Stratégie
Budget
inadéquat
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
COMMENT RÉAGIR À UN RISQUE ?
118
L’éviter Dans la mesure du possible
L’intégrer L’intégrer au planning
Le passer Le passer aux autres (par exemple, top
management)
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
ESTIMATION & VÉLOCITÉ
119MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
ESTIMATION & VÉLOCITÉ
120
Il est quasiment
impossible d’avoir une
estimation précise
Prédire en terme
d’effort au lieu en
temps
Utiliser les jours
idéaux d’ingénierie : le
nombre de jours à
réaliser un récit sans
interruption
Convertir les jours en
points
La vélocité est
l’ensemble des points
qu’on peut réaliser
pendant une itération
La vélocité est utilisée
pour la planification,
pas pour mesurer la
productivité
La vélocité prend
quelques itérations
pour se stabiliser
Des pratiques comme
le poker aident à
rendre les estimations
plus précises à travers
le temps
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LE PLANNING DES ITÉRATIONS
121
Une itération est par
définition très courte
Une itération se fixe
l’objectif de réaliser
des récits
sélectionnés sur la
base de priorités
Chaque récit est
composé en tâches
qui sont mesurées en
heure
Les tâches
composant un récit
sont les tâches
d’ingénierie
De préférence, faire
coïncider les
itérations avec les
semaines de travail
L’identification des
tâches d’ingénierie
est un travail de
conception
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
PROCESSUS DE L’ITÉRATION
122
Mesurer la
vélocité de
l’itération
précédente
Sélectionner
les récits à
partir du
plan de
livraison
Développer
les Récits
Préparer la
Livraison
Démo
d’itération
Rétrospective
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
PRINCIPES DE BONNE PLANIFICATION
123
La vélocité doit se faire
uniquement sur les
récits « faits faits »
Un récit doit être
réalisable sur une
itération
Un récit doit être
décomposé en un nombre
raisonnable de tâches
Une tâche doit durer
quelques heures
seulement (par exemple
max 6). Si cette tâche là
dépasse, la décomposer
Dérouler les tâches à la
fin pour identifier les
doublons ou les erreurs
Comparer le total
horaire de l’itération à
celui de l’itération
précédente
Demander une
réorganisation si on
constate que le planning
obtenu est irréalisable
Demander plus de récits
si on constate que le
planning se termine
avant la fin de l’itération
La planification doit
durer d’une demi heure à
quatre heures
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
RÉAGIR AUX IMPRÉVUS
124
Si un problème général
saborde l’’itération, cette
itération est déclarée
ratée
Ne pas de baser sur la
vélocité des itérations
ratées
Si le phénomène
d’itérations ratées est
fréquent, il y a alors un
problème de planning
Rien n’empêche, en cas
d’imprévus, d’ajuster le
planning de l’itération
On peut remplacer les
récits en cours d’itération
à condition qu’il soient
du même poids et qu’ils
ne soient pas encore
commencés
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION5:PRATIQUESDEPLANIFICATION
COURS 5 : PRATIQUER XP
LE RELÂCHEMENT
125
Les heures de
relâchement sont des
heures qui peuvent être
utilisées pour répondre à
des risques critiques sur
l’itération
Le relâchement donne
une marge de manœuvre
pendant l’itération
Il permet de réagir aux
imprévus sans perdre
l’itération
Une autre approche est
de planifier des tâches
de dette technique
Accorder des heures de
recherche à l’équipe
Augmenter le
relâchement lorsque les
besoins sont très
instables ou lorsqu’on ne
maîtrise pas très bien les
technologies
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
PRATIQUES AGILES
SECTION 6 : PRATIQUES DE
DÉVELOPPEMENT
126MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
EXIGENCES INCRÉMENTALES
127MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
EXIGENCES INCRÉMENTALES
128
Dans le développement
agile, il n’y pas une
phase dédiée aux
exigences
Les clients sur site sont
des exigences vivantes
XP n’élimine pas les
documents de
spécifications mais les
réduit et s’ouvre à leur
évolution
Lors des discussions
avec les clients, prendre
des notes, faire des
schémas, des
affichages,…
Utiliser les outils de
bureautique et/ou les
wikis
Utiliser le système de
gestion de version (ou
un autre système
équivalent) pour le
versionnement des
documents
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
EXIGENCES INCRÉMENTALES – QUE DOIT FAIRE LE
CLIENT ?
129
Comprendre et
faire comprendre
les récits
Éviter le blocage et
maximiser le
parallélisme des
développeurs
Comprendre le
langage et le mode
de réflexion des
programmeurs
Anticiper la
question
S’approprier la
vision
Déterminer le
« fait fait » d’un
récit
Concevoir avec
précision les tests
d’acceptation
Faire réviser les
récits
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
LES TEST CLIENT - ACCEPTATION
130MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
LES TEST CLIENT - ACCEPTATION
131
Les tests clients
décrivent et valident les
fonctionnalités qui ont
besoin d’explication
Les tests aident à
l’équipe à comprendre le
domaine et les règles du
métier
Les tes d’acceptation
sont créés à partir des
récits
Un récit peut être validé
par un ou plusieurs tests
d’acceptation
Les tests doivent
impliquer le minimum de
travail. Il est très
recommandé
d’automatiser les tests
d’acceptation
Un récit n’est complet
que s’il passe ses tests
d’ acceptation
Les tests sont aussi
utilisés pour vérifier la
non-régression
De préférence utiliser les
tableaux qui sont
parlants
Les scores de tests sont
publiés et discutés
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TDD
132MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TDD
133
Le TDD est un cycle rapide de tests, codage et refactoring
Le TDD consiste à écrire des tests d’une fonction avant de
l’implémenter
L’impact du TDD est la réduction de bugs et
l’augmentation de la qualité de l’architecture
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TDD - CYCLE
134
Réfléchir
Faillir
Réussir
Refactoring
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TDD - RÉFLÉCHIR
135
Imaginer que le
code est finalisé,
que serait le
résultat ?
Réfléchir à un test
efficace et aux
conséquences sur le
code qui doit suivre
La programmation
par paires aide
dans ce processus
Ne s’intéresser qu’à
la façade des
modules ou des
classes
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TDD - FAILLIR
136
Le premier échec est
l’échec de compilation
Souvent on écrit des
tests sur des méthodes
qui n’existent pas ou qui
sont structurellement
différentes du test
Réfléchir en tant
qu’utilisateur de la
classe, pas en tant que
son concepteur
Plusieurs formes d’échec
: la compilation ou un
échec différent à l’échec
attendu
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TDD - RÉUSSIR
137
Ecrire le code
qui permet de
passer les tests
Ne pas se
soucier de la
qualité du code
pour le moment
Vérifier que les
tests passent
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TDD - REFACTORING
138
Réécrire le code de façon à le rendre
meilleur sur le plan structurel
Repasser les tests et vérifier
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
REFACTORING
139MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
REFACTORING
140
Le Refactoring est le processus de changer le code sans
changer son comportement
L’objectif primaire est d’améliorer l’architecture du code
Plusieurs motivations : non respects des principes SOLID,
non conformité aux patrons de conception,…
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
EXEMPLES DE REFACTORING
141
Changement
des Noms
Classe
Méthode
Variable
...
Structure
Encapsulation
Extraction de
méthodes, classes et
interfaces
…
Nettoyage
Code mort
Code sale
…
…
…
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
ARCHITECTURE INCRÉMENTALE
142MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
ARCHITECTURE INCRÉMENTALE
143
Le facteur « Time-To-
Market » exige des
livraisons rapides
Pas le temps pour des
fondations complètes et
complexes
L’architecture
incrémentale consiste à
construire
l’infrastructure
technique d’une
manière incrémentale
Eviter d’identifier les
abstractions à partir des
premières utilisations
d’un élément
Utiliser les abstractions
à partir de la deuxième
utilisation d’un élément
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
CONCEPTION SIMPLE
144MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
CONCEPTION SIMPLE
145
Privilégier toujours les approches simples
Simplicité n’est pas forcément contraire à évolutivité
Adopter une fondation minimale lors des premières
itérations
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
SOLUTION DE POINTE
146MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
SOLUTION DE POINTE
147
Aussi appelée PoC
(Proof of Concept)
Des petites solutions
à périmètre très
réduit
Permet de découvrir
un nouvel aspect
technologique ou du
domaine
Des projets à part,
non intégrés au
projet principal
Doivent être intégrés
au planning
Éventuellement
prévoir des
démonstrations
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TESTS EXPLORATOIRES
148MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TESTS EXPLORATOIRES
149
L’objectif du
développement agile
n’est pas de corriger
les bugs mais de ne
pas en produire
Le testeur choisit un
test au hasard
ensuite à partir des
résultats du test
conçoit d’autres tests
Se font
généralement
lorsque une partie
considérable du
logiciel est prête
Parmi les tâches, les
testeurs poussent le
logiciel à des
conditions étranges
ou extrêmes
Les sessions
prennent quelques
heures
Utiliser des
techniques telles que
l’observation ou les
heuristiques
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
TESTS EXPLORATOIRES - HEURISTIQUES
150
Privilèges
Super
Utilisateur
Pas de
privilège
Peu de
Privilège
Taille
Trop petit Trop gros
Normal
Position
Début Fin
Milieu
Nombre
0 Plusieurs
1
CRUD
Read Update
Delete Create
Type et
Frontières
< MIN > MAX
Mauvais
Type
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
REVUE DE CODE
151MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
SECTION6:PRATIQUESDEDÉVELOPPEMEBNT
COURS 5 : PRATIQUES AGILES
REVUE DE CODE
152
Des revues de code
régulières
Faites par les
membres avec le
plus d’expérience ou
des personnes
externes
Les résultats de la
revue sont discutés
avec toute l’équipe
Ne pas utiliser pour
sanctionner
Combiner avec
l’analyse de la cause
racine
Utiliser le
relâchement pour les
revues de code
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
PRATIQUES AGILES
BIBLIOGRAPHIE
153MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
PRATQUES AGILES
BIBLIOGRAPHIE
154
• The Art of Agile Development, 2007, James Shore and Shane Warden,
O’Reilly
• XP Practice: Energized Work, 2007, Artem Marchenko,
http://agilesoftwaredevelopment.com/xp/practices/energized-work
• What’s an Agile Retrospective and Why Would You Do It?, 2013, Ben
Linders, http://www.benlinders.com/2013/whats-an-agile-retrospective-
and-why-would-you-do-it/
• Running Retrospectives, 2014, https://www.gov.uk/service-
manual/agile/running-retrospectives.html, Government Service Design
Manual,
• VERSIONONE, 2014, Release Planning, http://www.versionone.com/agile-
101/agile-development-release-planning/MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
PRATQUES AGILES
BIBLIOGRAPHIE
155
• What is a Planning Poker ? 2014, Moutain Goat Software,
http://www.mountaingoatsoftware.com/agile/planning-poker
• Acceptance Tests,
http://www.extremeprogramming.org/rules/functionaltests.html
• Three Main Types of Refactoring, 2012, Peter Kaptein ,
http://patterns.instantinterfaces.nl/current/Refactoring-and-Design-
Patterns-RFCT-ELM-3ELM.html
MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018

Mais conteúdo relacionado

Mais procurados

Les MéThodes Agiles
Les MéThodes AgilesLes MéThodes Agiles
Les MéThodes Agiles
guesta206aa87
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
Sirine Barguaoui
 
Scrum et CMMI Niveau 5 - La Potion Magique pour les Guerriers du Code
Scrum et CMMI Niveau 5 - La Potion Magique pour les Guerriers du CodeScrum et CMMI Niveau 5 - La Potion Magique pour les Guerriers du Code
Scrum et CMMI Niveau 5 - La Potion Magique pour les Guerriers du Code
Fabrice Aimetti
 
Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010
Dominic Danis
 

Mais procurados (20)

Les MéThodes Agiles
Les MéThodes AgilesLes MéThodes Agiles
Les MéThodes Agiles
 
Méthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XPMéthodes agiles: Scrum et XP
Méthodes agiles: Scrum et XP
 
Impacts de l'adoption de Scrum
Impacts de l'adoption de ScrumImpacts de l'adoption de Scrum
Impacts de l'adoption de Scrum
 
Methodes agile
Methodes agileMethodes agile
Methodes agile
 
Chaine Critique - CNAM Angers - Juin 2014 - Management de projets
Chaine Critique - CNAM Angers - Juin 2014 - Management de projetsChaine Critique - CNAM Angers - Juin 2014 - Management de projets
Chaine Critique - CNAM Angers - Juin 2014 - Management de projets
 
Psp Tsp Agile 3 1 Fr
Psp Tsp Agile 3 1 FrPsp Tsp Agile 3 1 Fr
Psp Tsp Agile 3 1 Fr
 
L'agilité en quelques slides
L'agilité en quelques slidesL'agilité en quelques slides
L'agilité en quelques slides
 
Lean Software Development et pratiques Agiles
Lean Software Development et pratiques AgilesLean Software Development et pratiques Agiles
Lean Software Development et pratiques Agiles
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
La chaîne critique - Osez terminer tous vos projets à l'heure !
La chaîne critique - Osez terminer tous vos projets à l'heure !La chaîne critique - Osez terminer tous vos projets à l'heure !
La chaîne critique - Osez terminer tous vos projets à l'heure !
 
Preparation et certification PSM Niv1
Preparation et certification PSM Niv1 Preparation et certification PSM Niv1
Preparation et certification PSM Niv1
 
Stratégie d’une transformation AGILE/SCRUM/Kanban dans une grande organisation
Stratégie d’une transformation AGILE/SCRUM/Kanban dans une grande organisationStratégie d’une transformation AGILE/SCRUM/Kanban dans une grande organisation
Stratégie d’une transformation AGILE/SCRUM/Kanban dans une grande organisation
 
Management de projet ccmp
Management de projet ccmpManagement de projet ccmp
Management de projet ccmp
 
Scrum et CMMI Niveau 5 - La Potion Magique pour les Guerriers du Code
Scrum et CMMI Niveau 5 - La Potion Magique pour les Guerriers du CodeScrum et CMMI Niveau 5 - La Potion Magique pour les Guerriers du Code
Scrum et CMMI Niveau 5 - La Potion Magique pour les Guerriers du Code
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
Les pratiques Scrum
Les pratiques ScrumLes pratiques Scrum
Les pratiques Scrum
 
Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010Communaute dot net Montreal juin2010
Communaute dot net Montreal juin2010
 
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
Partie 2 - Agile, Scrum, Méthodologie – Un tour d’horizon rapide sur la métho...
 
Qu'est ce qu'un scrum master ?
Qu'est ce qu'un scrum master ?Qu'est ce qu'un scrum master ?
Qu'est ce qu'un scrum master ?
 
Fkug meetup-management visuel - obeya
Fkug meetup-management visuel - obeyaFkug meetup-management visuel - obeya
Fkug meetup-management visuel - obeya
 

Semelhante a Pratiques agiles

988777485094870-AGILE-SCRUM-pdfformation.pdf
988777485094870-AGILE-SCRUM-pdfformation.pdf988777485094870-AGILE-SCRUM-pdfformation.pdf
988777485094870-AGILE-SCRUM-pdfformation.pdf
NajlaAllouche
 
Ebook marketing agile french
Ebook marketing agile frenchEbook marketing agile french
Ebook marketing agile french
BenGuislain
 
Qualité Lean
Qualité LeanQualité Lean
Qualité Lean
jay68
 

Semelhante a Pratiques agiles (20)

988777485094870-AGILE-SCRUM-pdfformation.pdf
988777485094870-AGILE-SCRUM-pdfformation.pdf988777485094870-AGILE-SCRUM-pdfformation.pdf
988777485094870-AGILE-SCRUM-pdfformation.pdf
 
2009 12 09 La Performance
2009 12 09 La Performance2009 12 09 La Performance
2009 12 09 La Performance
 
Leadership et respect par Michael Ballé
Leadership et respect par Michael Ballé Leadership et respect par Michael Ballé
Leadership et respect par Michael Ballé
 
Le Comptoir OCTO x Allianz Trade - Amélioration de la collaboration et de la ...
Le Comptoir OCTO x Allianz Trade - Amélioration de la collaboration et de la ...Le Comptoir OCTO x Allianz Trade - Amélioration de la collaboration et de la ...
Le Comptoir OCTO x Allianz Trade - Amélioration de la collaboration et de la ...
 
Instaurer une culture du feedback en 5 étapes
Instaurer une culture du feedback en 5 étapesInstaurer une culture du feedback en 5 étapes
Instaurer une culture du feedback en 5 étapes
 
Ebook marketing agile french
Ebook marketing agile frenchEbook marketing agile french
Ebook marketing agile french
 
Formation SMG - PROD-MAINT 2.pptx
Formation SMG - PROD-MAINT 2.pptxFormation SMG - PROD-MAINT 2.pptx
Formation SMG - PROD-MAINT 2.pptx
 
00301---outils-damelioration-continue-201710jd-v1-1.pdf
00301---outils-damelioration-continue-201710jd-v1-1.pdf00301---outils-damelioration-continue-201710jd-v1-1.pdf
00301---outils-damelioration-continue-201710jd-v1-1.pdf
 
Une nouvelle methode de management
Une nouvelle methode de managementUne nouvelle methode de management
Une nouvelle methode de management
 
Communauté de pratique Gestion organisationnelle - Panel sur la gestion de pr...
Communauté de pratique Gestion organisationnelle - Panel sur la gestion de pr...Communauté de pratique Gestion organisationnelle - Panel sur la gestion de pr...
Communauté de pratique Gestion organisationnelle - Panel sur la gestion de pr...
 
Qualité Lean
Qualité LeanQualité Lean
Qualité Lean
 
8451348.pptx
8451348.pptx8451348.pptx
8451348.pptx
 
Méthode lean six sigma
Méthode lean six sigmaMéthode lean six sigma
Méthode lean six sigma
 
Catalogue d'offres Le Village by CA Paris
Catalogue d'offres Le Village by CA ParisCatalogue d'offres Le Village by CA Paris
Catalogue d'offres Le Village by CA Paris
 
Comment ameliorer l_efficacite_de_la_performance
Comment ameliorer l_efficacite_de_la_performanceComment ameliorer l_efficacite_de_la_performance
Comment ameliorer l_efficacite_de_la_performance
 
Transformation agile d'envergure strategies, pieges et facteurs de succes
Transformation agile d'envergure strategies, pieges et facteurs de succesTransformation agile d'envergure strategies, pieges et facteurs de succes
Transformation agile d'envergure strategies, pieges et facteurs de succes
 
Fenice présentation co-formaction_0917
Fenice présentation co-formaction_0917Fenice présentation co-formaction_0917
Fenice présentation co-formaction_0917
 
Les managers face au déploiement du Lean par MC Boutonnet, Philips
Les managers face au déploiement du Lean par MC Boutonnet, PhilipsLes managers face au déploiement du Lean par MC Boutonnet, Philips
Les managers face au déploiement du Lean par MC Boutonnet, Philips
 
7 regles d'or pour réussir et rentabiliser un projet CRM
7 regles d'or pour réussir et rentabiliser un projet CRM7 regles d'or pour réussir et rentabiliser un projet CRM
7 regles d'or pour réussir et rentabiliser un projet CRM
 
Lean Training
Lean TrainingLean Training
Lean Training
 

Mais de Mohammed Amine Mostefai

Mais de Mohammed Amine Mostefai (20)

Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint (Collaboration)
 
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - PersonnalisationUtilisation de Sharepoint 2013 - Personnalisation
Utilisation de Sharepoint 2013 - Personnalisation
 
Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)Utilisation Sharepoint (Listes)
Utilisation Sharepoint (Listes)
 
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de DocumentsUtilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoint - Gestion de Documents
 
Utilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - IntroductionUtilisation de Sharepoiunt - Introduction
Utilisation de Sharepoiunt - Introduction
 
Introduction aux technologies mobiles
Introduction aux technologies mobilesIntroduction aux technologies mobiles
Introduction aux technologies mobiles
 
Workflow Foundation - Cours 5
Workflow Foundation - Cours 5Workflow Foundation - Cours 5
Workflow Foundation - Cours 5
 
Workflow Foundation Module 4
Workflow Foundation Module 4Workflow Foundation Module 4
Workflow Foundation Module 4
 
Présentation cloud journée azure
Présentation cloud   journée azurePrésentation cloud   journée azure
Présentation cloud journée azure
 
Wf module3
Wf module3Wf module3
Wf module3
 
Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2Microsoft Workflow Foundation - Cours 2
Microsoft Workflow Foundation - Cours 2
 
Introduction to Workflow Foundation
Introduction to Workflow FoundationIntroduction to Workflow Foundation
Introduction to Workflow Foundation
 
Le Langage CSS
Le Langage CSSLe Langage CSS
Le Langage CSS
 
Sécurisation des applications ASP.NET
Sécurisation des applications ASP.NETSécurisation des applications ASP.NET
Sécurisation des applications ASP.NET
 
Présentation sharepoint 2013
Présentation sharepoint 2013Présentation sharepoint 2013
Présentation sharepoint 2013
 
Module 8 programmation avancée d'asp.net
Module 8   programmation avancée d'asp.netModule 8   programmation avancée d'asp.net
Module 8 programmation avancée d'asp.net
 
Module 7 intégration d'ajax et les services web dans les applications asp.net
Module 7   intégration d'ajax et les services web dans les applications asp.netModule 7   intégration d'ajax et les services web dans les applications asp.net
Module 7 intégration d'ajax et les services web dans les applications asp.net
 
Module 6 développement d'applications de bases de données avec asp.net
Module 6   développement d'applications de bases de données avec asp.netModule 6   développement d'applications de bases de données avec asp.net
Module 6 développement d'applications de bases de données avec asp.net
 
Module 5 validation de données
Module 5   validation de donnéesModule 5   validation de données
Module 5 validation de données
 
Module 4 navigation et homogénéisation des les applications web
Module 4   navigation et homogénéisation des les applications webModule 4   navigation et homogénéisation des les applications web
Module 4 navigation et homogénéisation des les applications web
 

Pratiques agiles

  • 2. PRATQUES AGILES PLAN DU COURS 2 Vue d’Ensemble Organisation Collaboration Livraison Planification Développement
  • 3. PRATIQUES AGILES SECTION 1 : VUE D’ENSEMBLE MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 3
  • 4. SECTION1:VUED’ENSEMBLE PRATIQUES AGILES PRATIQUES XP MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 4 Organisation Programmation par binômes Travail énergisé Espace de travail informatif Analyse de cause racine Rétrospective Collaboration Confiance S’assoir ensemble Implication du client Langage universel Réunion debout Standard de codage Démo d’itération Rapports Livraison Définition du Fait Pas de bugs Contrôle de version Génération de 10 minutes Intégration Continue Propriété Collective Documentation Planification Planification Agile Vision Plan de livraison Jeu de planning Gestion des risques Planification de l’itération Relâchement Estimation Développement Exigences Incrémentales Tests d’acceptation TDD Refactoring Conception Simple Conception et Architecture Incrémentales Solutions de Pointe Tests Exploratoire Revues de Code
  • 5. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES SECTION 2 : PRATIQUES D’ORGANISATION MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 5
  • 6. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES PROGRAMMATION PAR PAIRES MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 6
  • 7. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES PROGRAMMATION PAR PAIRES MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 7 Deux programmeurs partagent le même poste Une personne code « le conducteur », l’autre appelée « navigateur » observe et réfléchit Le conducteur se concentre sur le code tandis que le navigateur sur une vision plus globale Le travail en binôme ne se retreint pas au codage, mais peut s’étendre aux tests Il est recommandé de changer les binômes à travers les journées Il est recommandé de réfléchir à haute voix Le navigateur doit privilégier la réflexion à l’interruption Le navigateur et le conducteurs doivent échanger leur rôles fréquemment
  • 8. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES PROGRAMMATION PAR PAIRES - RECOMMANDATIONS MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 8 S’organiser en binôme pour tout Les binômes se choisissent d’eux-mêmes, éviter les affectations Quand les choses n’avancent pas, changer de binôme Éviter de faire binôme avec la même personne plus d’une journée Échanger fréquemment les rôles Le navigateur doit collaborer, pas critiquer Faire attention au style de communication
  • 10. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES TRAVAIL ÉNERGISÉ MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 10 L’un des facteurs de productivité, est la forme Un développeur ne doit pas « se noyer » dans le projet et doit avoir d’autres activités personnelles et sociales L’une des façons de pratiquer le travail énergisé est le mode 40H par semaine (pas d’heure sup) Le coach doit rappeler aux développeurs de rentrer chez eux S’habituer à des pauses Le CdP Essaye de se déprogrammer des réunions facultatives Pendant les heures de travail, se concentrer sur le projet : pas de mail ni téléphone Construire une équipe soudée aide à la productivité Si un travail supplémentaire est inévitable, ne pas en abuser
  • 11. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES ESPACE DE TRAVAIL INFORMATIF MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 11
  • 12. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES ESPACE DE TRAVAIL INFORMATIF MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 12 Un espace de travail informatif fait circuler l’information d’une manière optimale L’état d’avancement du projet peut être facilement obtenu en marchant dans la salle Tableaux blancs, des mures d’affichage, des schémas dessinés à la main Utiliser les photos avec les personnes distantes
  • 13. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES ESPACE DE TRAVAIL INFORMATIF MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 13
  • 14. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES EXEMPLE D’ESPACE DE TRAVAIL MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 14 www.jamesshore.com
  • 15. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES EXEMPLE D’ESPACE DE TRAVAIL - 2 MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 15 Source : www.jamesshore.com
  • 16. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES ANALYSE DE LA CAUSE RACINE MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 16
  • 17. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES ANALYSE DE LA CAUSE RACINE MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 17 Au lieu de se restreindre à corriger un bug, identifier les causes Une des techniques est de poser « pourquoi » cinq fois Les rétrospectives sont le moment idéal de discuter des causes racines L’analyse peut se faire individuellement, par binôme ou par équipe Le but de RCA est de corriger les problèmes, pas de blâmer les gens
  • 18. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES QU’EST-CE QU’UNE RÉTROSPECTIVE ? MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 18 Une réunion impliquant l’équipe qui se tient à la fin du projet ou d’une étape du projet. Cette réunion discute des éléments qui ont bien fonctionné et des possibilités d’amélioration du processus de travail. Source : https://www.gov.uk/service-manual/agile/running-retrospectives.html
  • 19. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES QU’EST-CE QU’UNE RÉTROSPECTIVE ? MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 19http://nomad8.com/personal-kanban-at-work/
  • 20. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES TYPES DE RÉTROSPECTIVES MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 20 Itération Livraison Projet Surprise
  • 21. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES RÉTROSPECTIVES - DÉTAILS MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 21 Tout le monde doit participer Les éléments externes à l’équipe ne doivent pas assister Donne l’occasion à tout le monde d’améliorer le procédé Il est obligatoire de cadrer la rétrospective Utiliser des techniques comme les questions, brainstorming ou les cinq pourquoi Ne pas utiliser les rétrospectives pour attaquer ou blâmer Les rétrospectives ont besoin d’un facilitateur (par exemple chef de projet) Le plan d’action à sortir doit être réalisable à court terme Les rétrospectives sont cohérentes entre elles Privilégier les post-it
  • 22. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES LE FACILITATEUR MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 22 Planifier la rétrospective Donne la chance à tout le monde de s’exprimer Contrôle la rétrospective S’assure que des actions sont prises et affectées
  • 23. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES RÉTROSPECTIVES - PROCESSUS MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 23 Discours Ecrire les points positifs Discuter des points positifs Ecrire les points négatifs Discuter des points négatifs Plan d’action
  • 24. SECTION2:PRATIQUESD’ORGANISATION PRATIQUES AGILES RÉTROSPECTIVES - TABLEAU MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 24Source : https://www.gov.uk/service-manual/agile/running-retrospectives.html
  • 25. PRATIQUES AGILES SECTION 3 : PRATIQUES DE COLLABORATION 25MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 26. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES CYCLE DE VIE D’UNE ÉQUIPE 26 Constitution •Découverte •Rôle du leader •Fédération autour d’un objectif •Instauration d’un climat de confiance Tensions •Divergences / Confrontations •Rôle du leader •Ecoute / Régulation •Instauration du leadership Normalisation •Structuration •Rôle du leader •Règles partagées •Célébrer les premiers succès Production •Coopération / Coordination •Rôle du leader •Motivation •Encouragement Dissolution •Deuil / Départ / Reconstitutions •Rôle du leader •Reconnaissance •Encouragement MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 27. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES CONFIANCE 27MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 28. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES CONFIANCE 28 Il faut du temps aux membres de l’équipe pour se connaître Une équipe qui s’entend bien est une équipe qui devrait être plus productive Les membres de l’équipe doivent compter l’un sur l’autre La responsabilité collective et la propriété collective sont une des clés du succès Remplacer la mentalité « c’est eux » par « c’est nous » Créer un climat de confiance entre clients et développeurs MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 29. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES CLÉS DE LA CONFIANCE 29 Je ne dois pas être pénalisé par ce que je consacre du temps à aider les autres Je ne dois pas être sanctionné ou mal vu lorsque je demande de l’aide Le Top Management doit faire confiance aux équipes MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 30. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES CONSTRUIRE LA CONFIANCE 30 Coaching Rétrospectives S’asseoir ensemble Manger ensemble Faire d’autres activités Continuité de l’équipe Satisfaire l’organisation MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 31. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES S’ASSEOIR ENSEMBLE 31 Les communications face à face sont les plus efficaces Les communications indirectes sont plus sujettes aux ambiguïtés et aux malentendus Il faut éviter aux collaborateurs de « deviner » les réponses Dans une équipe XP, dans un espace ouvert, quand on a une question, on la pose directement La communication directe augmente la propriété collective et anticipe les questions L’espace de travail doit accommoder l’équipe XP mais ne pas déranger les autres employés MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 32. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES IMPLICATION DU CLIENT 32MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 33. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES IMPLICATION DU CLIENT 33 Si le client est bien choisi, son impact est extraordinaire Si le projet est interne, prendre une personne compétente, motivée et influente Si intégrer un client est difficile, multiplier les réunions et les visites Utiliser les outils de communication Inviter des utilisateurs pour des versions « béta » MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 34. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES LANGAGE UNIVERSEL 34MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 35. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES LANGAGE UNIVERSEL 35 Les développeurs ne sont généralement pas qualifiés pour le domaine cible et les clients ne sont pas techniquement qualifiés Les développeurs et les clients doivent parler un langage unique Respecter au maximum la terminologie du client Le langage universel doit se répercuter sur le code MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 36. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES RÉUNION DEBOUT 36MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 37. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES RÉUNION DEBOUT 37 Se fait chaque jour, la même heure Chaque membre partage ce que les autres doivent savoir sur le projet Les échanges doivent être brefs et cadrés MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 38. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES SCRUM QUOTIDIEN 38 De préférence en début de journée Qu’est-ce que j’ai fait hier ? Qu’est-ce que je vais faire aujourd’hui ? Quels sont les problèmes qui m’empêchent de progresser ? MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 39. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES RÉUNION DEBOUT 39 Source : en.wikipedia.org MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 40. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES STANDARDS DE CODAGE 40MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 41. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES STANDARDS DE CODAGE 41 Il est dans l’intérêt de l’équipe d’avoir un style unique XP suggère la création de standards auxquels l’équipe doit adhérer Les standards incluent : •Les pratiques de développement •Le style de conception •La manière de générer les produits •La manière avec laquelle créer des tests unitaires •Les logs et l’infrastructure •Outils •… Les standards sont établis en consensus aux débuts de l’itération La présence d’un coach technique est hautement recommandée Choisir les standards les plus consensuels MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 42. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES DÉMO DE L’ITÉRATION 42MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 43. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES DÉMO DE L’ITÉRATION 43 Faire chaque itération, idéalement à la fin Présente ce qui a été fait pendant l’itération Inviter d’autres clients que ceux sur site Collecter le feedback et réorganiser les idées et les récits MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 44. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES REPORTING 44MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 45. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES REPORTING 45 Les rapports permettent aux personnes concernées d’être informées sur le projet Il existe plusieurs types de rapports Les rapports affichent la progression du projet MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 46. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES RAPPORTS DE PROGRESSION 46 Plan d’itération et le livraison •Donne des indications sur le progrès Rapport de Progression Globale (Burn-up Chart) •Avance globale du projet Feuille de Route •Direction du Projet Tableau de bord des défaillances •Suit et mesure les défaillances Utilisation du temps •Temps accordé par l’équipe aux différentes activités Suivi de Vélocité •Capacité de l’équipe à produire MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 47. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES BURN-UP CHART - EXEMPLE 47 Source : pm.stackexchange.com MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 48. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES BURN-UP CHART – EXEMPLE 2 48 Source : help.rallydev.com MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 49. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES BURN-UP CHART AVEC VÉLOCITÉ 49Source : help.rallydev.comMÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 50. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES SUIVI DES DÉFAILLANCES– EXEMPLE 50 Source : help.scrumalliance.org MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 51. PRATIQUES AGILES SECTION 4 : PRATIQUES DE LIVRAISON 51MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 52. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES PLAN DE LIVRAISON EXEMPLE 52 Source : scalingsoftwareagilityblog.com MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 53. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES PLAN DE LIVRAISON EXEMPLE 2 53 Source : betterprojects.net MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 54. SECTION2:PRATIQUESDECOLLABORATION COURS 5 : PRATIQUES AGILES PLAN D’ITÉRATION - EXEMPLE 54 Source : jazz.net MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 55. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP DÉFINITION DU FAIT ! 55MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 56. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP DÉFINITION DU FAIT ! (DEFINITION OF DONE, DOD) 56 Quand est-ce qu’un récit est « effectivement » fini ? Les récits partiellement finis ont un potentiel néfaste sur le projet (coûts, bugs, désagréments) Il faut définir les critères permettant de dire qu’un récit est fait MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 57. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP CRITÈRES POSSIBLES 57 Testé •Intégration •Acceptation •Unitaire Codé Conçu •La structure et l’architecture est satisfaisante Intégré •Fonctionne en end to end Compilable Installable Révisé •Validé par les clients Migré •Scripts de BDD •Fichiers •Clés registre Réparé •Éliminé les bugs Accepté Performant Documenté MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 58. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP COMMENT RÉUSSIR LE DOD ? 58 TDD Bien planifier S’assurer qu’un récit est fait avant de passer à l’autre Intégration Continue Les récits doivent être assez petits MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 59. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP ABSENCE DE BUGS 59MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 60. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP ABSENCE DE BUGS 60 Toutes les pratiques de XP tendent à réduire le nombre de bugs Se baser sur le TDD Faire les tests très tôt dans le process Prioriser le règlement de bugs Améliorer le processus de façon à toujours réduire le nombre de défaillances MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 61. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP CONTRÔLE DE VERSION 61MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 62. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP CONTRÔLE DE VERSION 62 L’équipe a besoin d’un référentiel centralisé pour le code et d’autres éléments Plusieurs systèmes supporte le contrôle de version (svn, TFS,…) Le contrôle de version permet une résolution des conflits et une plus grande sécurité Le contrôle de version est indispensable à l’intégration continue MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 63. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP GÉNÉRATION DE 10 MINUTES 63MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 64. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP GÉNÉRATION DE 10 MINUTES 64 Préférer les outils automatisant la compilation Ajoutez d’autres tâches à la génération : mise à jour du schéma, clés, fichiers,… Structurez le projet de façon à minimiser la compilation Évitez les projets monolithiques Cloisonnez le travail de façon à ce que pendant une itération, peu de développeurs travaillent sur plusieurs sous-projets Allégez les tests unitaires Utilisez les générations rapides et les générations poussées (lorsqu’il y a beaucoup de tests) MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 65. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP INTÉGRATION CONTINUE 65MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 66. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP INTÉGRATION CONTINUE 66 L’intégration continue consiste à intégrer tous les travaux des développeurs en un code centralisé et compilable L’équipe doit intégrer fréquemment Le contrôle de version est la base de l’intégration continue Exemple d’Outils : Bamboo, TeamCity, Apache Continuum Deux types d’intégration: synchrone et asynchrone MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 67. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP PROPRIÉTÉ COLLECTIVE 67MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 68. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP PROPRIÉTÉ COLLECTIVE 68 La Propriété Collective lègue la responsabilité de maintenir le code à TOUTE l’équipe Répond à des risques connus: absence, maladie, démission,… S’il y a y a un problème avec le code, toute l’équipe devrait être responsable MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 69. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP DOCUMENTATION 69MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 70. SECTION4:PRATIQUESDELIVRAISON COURS 5 : PRATIQUER XP DOCUMENTATION 70 L’agilité réduit la documentation mais ne l’élimine pas La meilleure documentation sur le code est le code lui- même Utiliser les outils de documentation automatique tels que Doxygen ou JavaDoc Les tâches de documentation doivent être considérés comme récits et planifiées Privilégier l’utilisation des wikis MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 71. PRATIQUES AGILES SECTION 5 : PRATIQUES DE PLANIFICATION 71MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 72. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP ENCHAÎNEMENTS 72 Constitution • Identification des rôles Découverte • Constitution des backlogs • Vision Exécution • Itérations • Transformation créative MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 73. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP CONSTITUTION 73 Leader Client Equipe Partie Prenante MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 74. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP DÉCOUVERTE 74 Qu’est-ce que le produit ? Où va-t-on Quelle est la vision ? Backlog Initial MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 75. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LIVRAISON 75 R0 R1 R2 R3 Rx Valeur MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 76. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP RÉCIT / ELEMENT 76MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018 Fonctionnalité d’un produit Moins granulaire que l’épopée ou la fonctionnalité Caractérisé par un poids (points) et une priorité
  • 77. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP R0 RÉCITS 77 R1 Rx MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 78. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP RÉCIT ? 78 Source : agilemodeling.com MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 79. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP RÉCIT ? 79 Source : agilemarketing.net MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 80. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP ORGANISATION DES RÉCITS 80 Epopée 1 Fonctionnalité 1 Récit 1 Récit 2 Fonctionnalité 2 Récit 3 Récit 4 Récit 5 Epopée N Fonctionnalité X Récit N Récit N+1 MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 81. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP EXÉCUTION 81 R0 I1 I2 I3 I3 I4 I5 I6 I7 I8 I9 I1 0 R1 I1 1 I24 I25 I26 I27 I28 Rx Infrastructure Itération Normale Itération Qualité MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 82. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP ITÉRATIONS 82 Planification IngénierieDémonstration Rétrospective MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 83. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LES RÉCITS 83 Les récits sont des fonctionnalités décrites en une ou deux lignes Elles sont utilisées pour la planification Les récits sont orientées métier et utilise la terminologie du client La réalisation d’un récit doit être mesurable Utiliser des cartes en papier et les tableaux blancs pour afficher les récits Les récits peuvent être fusionnés ou scindés pour s’adapter aux contraintes de planification Certains récits « spéciaux » peuvent être ajoutés : •Infrastructure •Non-fonctionnel •Bugs •Documentation •PoC Les récits ne remplacent pas les spécifications MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 84. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LES RÉCITS - EXEMPLE 84 Source : agilemodeling.com MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 85. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LES RÉCITS - EXEMPLE 85 Source : agilemarketing.net MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 86. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LES RÉCITS – EXEMPLE TFS 86 Source : microsoft.com MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 87. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LES RÉCITS – EXEMPLE 87 Source : agilemarketing.net MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 88. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP ANATOMIE D’UN RÉCIT 88 Epopée 1 Fonctionnalité 1 Récit 1 Élément de travail Élément de travail Élément de travail Récit 2 Fonctionnalité 2 Récit 3 Récit 4 Récit 5 MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 89. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP ÉLÉMENT DE TRAVAIL 89 Élément de travail Tâche Bug Amélioration Exécution de test …. MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 90. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP ÉLÉMENT DE TRAVAIL VS RÉCIT 90 Élément de travail • Estimé par le temps • Monolithique • Sur une itération • Généralement affecté à une personne • Technique Récit • Estimé par l’effort • Composite • Peut s’étaler sur plusieurs itérations • Généralement pris en charge par plusieurs personnes • Fonctionnel MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 91. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP PRINCIPES DE PLANIFICATION 91 Planifier Court Cadrage Contraintes Dettes Techniques Granularité Poker Calcul de Vélocité MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 92. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP 92 Semaine Heur e Dim Lun Mar Mer Jeu Journée 9H-10H 10H- 11H 11H- 12H 13H- 14H 14H- 15H 15H- 16H 16H- 17H 17H- 18H Planification Ingénierie Relâchement Rétrospective & Démo PLANIFICATION MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 93. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP EXÉCUTION Ingénierie Développement Tests Conception Relâchement Dette Technique Recherche Documentation Planification Poker Négociation Auto- Organisation MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 94. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP PLANIFICATION Récits Tâches MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 95. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP PLANIFICATION - SUITE MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 96. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP CONTRAINTE DÉVELOPPEMENT «recette + dev» Analyse Fonctionnelle Récit «equipe» Planification «dev» Implémentation Tâche «recette» RédactionCas de Test «recette» Test Rapport de Test «dev» Rectification Bug Clôture présence de bugs MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 97. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP CONTRAINTE TEST «recette» Test Exploratoire Rapport de Test «dev» Rectification Bug «dev» Implémentation Tâche Test Clôture RAS défaillance defaillance amélioration MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 98. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP TRANSFORMATION CRÉATIVE Tâches MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 99. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LA VISION 99MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 100. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LA VISION 100 La vision est très importante car elle définit une sorte d’identité pour le projet La vision est portée par le « visionnaire » Il faut que l’équipe comprenne dans quel contexte elle est Il faut que la vision soit unique L’idéal est que la vision soit portée et promue par le chef de produit Si l’équipe comporte plusieurs visionnaires, il faut qu’ils consolident leur vision Il est recommandé que la vision soit formalisée La vision doit être omniprésente La vision aide à structurer le projet et à prioriser les récits MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 101. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP FORMALISER LA VISION 101 Projet Qu’est-ce qu’il accomplit Quelle est sa valeur ? Quels sont les critères de succès ? MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 102. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP PLAN DE LIVRAISON 102MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 103. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP QU’EST-CE QU’UN PLAN DE LIVRAISON ? 103 Un plan de livraison est un ensemble de récits quantifiés et priorisé déterminant la portée fonctionnelle d’une ou plusieurs livraisons. MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 104. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP PLANIFIER LA LIVRAISON 104 Planifier un seul projet en même temps Essayer de prioriser les récits de façon à créer une première version qui crée de la valeur Livrer tôt Livrer fréquemment Réduire le nombre de récits par livraison pour inclure le nombre des livraisons Adapter le plan en intégrant les récits provenant des feedbacks des utilisateurs Les dates de livraisons sont souvent fixées par des entités externes MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 105. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LIVRAISON FRÉQUENTE – EXEMPLE, TODO LIST 105MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 106. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP MÉTHODES DE CRÉER UN PLAN DE LIVRAISON 106 Cadré par les fonctionnalités •Fonctions Connues •Date de Livraison Inconnue Cadré par le temps •Fonctions Inconnues •Temps Connu MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 107. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP MÉTHODES DE CRÉER UN PLAN DE LIVRAISON 107 Produit Livraison 1 Livraison N Itération 1 Itération 2 Itération 3 Itération P Itération P+1MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 108. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP PROCESSUS DE LA PLANIFICATION DE LIVRAISON 108 Identification des fonctions Estimation Priorisation Répartir les récits sur les livraisons MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 109. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP FACTEURS IMPACTANT LA PLANIFICATION DE LIVRAISON 109 Vision Stratégie Coût des récits Valeur des récits Complexité MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 110. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP EXEMPLE 110MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 111. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LE JEU DE PLANNING 111MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 112. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LE JEU DE PLANNING 112 Une approche permettant de construire convivialement le meilleur planning possible Les clients sont les plus informés sur la valeur  priorité Les développeurs sont les plus informés sur le coût  estimation La planification optimale maximise la valeur en réduisant les coûts MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 113. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP DÉROULEMENT DU JEU 113 Des récits sont proposés Les développeurs estiment les récits Les clients classent les récits selon leur priorité MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 114. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LE POKER DE PLANNING 114 Un jeu permettant d’obtenir un consensus des estimations Chaque estimateur a des cartes de 0,1,2,3,5,8,13,20,40 et 100 points Le client ou le chef de produit présente un récit Les estimateurs posent des questions Chaque estimateur présente une carte Si les estimations convergent, l’estimation est adoptée Si les estimations divergent, on pose la question à la plus grande et la plus petite estimation Redemander l’estimation en cas de divergence MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 115. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LES RISQUES 115MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 116. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LES RISQUES 116 Les risques est un évènement qui peut avoir lieu Un risque a un impact négatif sur le triangle portée/qualité, coût, temps Avant de pouvoir gérer les risques, il faut les recenser et prédire leur impact Un risque est mesuré en combinant sa fréquence et sa probabilité d’occurrence La réunion pessimiste est une technique de recensement des risques MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 117. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP EXEMPLES DE RISQUES 117 Absence Départ Nouveaux besoins à impacts Problème techniques Changement Stratégie Budget inadéquat MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 118. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP COMMENT RÉAGIR À UN RISQUE ? 118 L’éviter Dans la mesure du possible L’intégrer L’intégrer au planning Le passer Le passer aux autres (par exemple, top management) MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 119. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP ESTIMATION & VÉLOCITÉ 119MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 120. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP ESTIMATION & VÉLOCITÉ 120 Il est quasiment impossible d’avoir une estimation précise Prédire en terme d’effort au lieu en temps Utiliser les jours idéaux d’ingénierie : le nombre de jours à réaliser un récit sans interruption Convertir les jours en points La vélocité est l’ensemble des points qu’on peut réaliser pendant une itération La vélocité est utilisée pour la planification, pas pour mesurer la productivité La vélocité prend quelques itérations pour se stabiliser Des pratiques comme le poker aident à rendre les estimations plus précises à travers le temps MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 121. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LE PLANNING DES ITÉRATIONS 121 Une itération est par définition très courte Une itération se fixe l’objectif de réaliser des récits sélectionnés sur la base de priorités Chaque récit est composé en tâches qui sont mesurées en heure Les tâches composant un récit sont les tâches d’ingénierie De préférence, faire coïncider les itérations avec les semaines de travail L’identification des tâches d’ingénierie est un travail de conception MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 122. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP PROCESSUS DE L’ITÉRATION 122 Mesurer la vélocité de l’itération précédente Sélectionner les récits à partir du plan de livraison Développer les Récits Préparer la Livraison Démo d’itération Rétrospective MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 123. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP PRINCIPES DE BONNE PLANIFICATION 123 La vélocité doit se faire uniquement sur les récits « faits faits » Un récit doit être réalisable sur une itération Un récit doit être décomposé en un nombre raisonnable de tâches Une tâche doit durer quelques heures seulement (par exemple max 6). Si cette tâche là dépasse, la décomposer Dérouler les tâches à la fin pour identifier les doublons ou les erreurs Comparer le total horaire de l’itération à celui de l’itération précédente Demander une réorganisation si on constate que le planning obtenu est irréalisable Demander plus de récits si on constate que le planning se termine avant la fin de l’itération La planification doit durer d’une demi heure à quatre heures MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 124. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP RÉAGIR AUX IMPRÉVUS 124 Si un problème général saborde l’’itération, cette itération est déclarée ratée Ne pas de baser sur la vélocité des itérations ratées Si le phénomène d’itérations ratées est fréquent, il y a alors un problème de planning Rien n’empêche, en cas d’imprévus, d’ajuster le planning de l’itération On peut remplacer les récits en cours d’itération à condition qu’il soient du même poids et qu’ils ne soient pas encore commencés MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 125. SECTION5:PRATIQUESDEPLANIFICATION COURS 5 : PRATIQUER XP LE RELÂCHEMENT 125 Les heures de relâchement sont des heures qui peuvent être utilisées pour répondre à des risques critiques sur l’itération Le relâchement donne une marge de manœuvre pendant l’itération Il permet de réagir aux imprévus sans perdre l’itération Une autre approche est de planifier des tâches de dette technique Accorder des heures de recherche à l’équipe Augmenter le relâchement lorsque les besoins sont très instables ou lorsqu’on ne maîtrise pas très bien les technologies MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 126. PRATIQUES AGILES SECTION 6 : PRATIQUES DE DÉVELOPPEMENT 126MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 127. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES EXIGENCES INCRÉMENTALES 127MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 128. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES EXIGENCES INCRÉMENTALES 128 Dans le développement agile, il n’y pas une phase dédiée aux exigences Les clients sur site sont des exigences vivantes XP n’élimine pas les documents de spécifications mais les réduit et s’ouvre à leur évolution Lors des discussions avec les clients, prendre des notes, faire des schémas, des affichages,… Utiliser les outils de bureautique et/ou les wikis Utiliser le système de gestion de version (ou un autre système équivalent) pour le versionnement des documents MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 129. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES EXIGENCES INCRÉMENTALES – QUE DOIT FAIRE LE CLIENT ? 129 Comprendre et faire comprendre les récits Éviter le blocage et maximiser le parallélisme des développeurs Comprendre le langage et le mode de réflexion des programmeurs Anticiper la question S’approprier la vision Déterminer le « fait fait » d’un récit Concevoir avec précision les tests d’acceptation Faire réviser les récits MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 130. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES LES TEST CLIENT - ACCEPTATION 130MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 131. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES LES TEST CLIENT - ACCEPTATION 131 Les tests clients décrivent et valident les fonctionnalités qui ont besoin d’explication Les tests aident à l’équipe à comprendre le domaine et les règles du métier Les tes d’acceptation sont créés à partir des récits Un récit peut être validé par un ou plusieurs tests d’acceptation Les tests doivent impliquer le minimum de travail. Il est très recommandé d’automatiser les tests d’acceptation Un récit n’est complet que s’il passe ses tests d’ acceptation Les tests sont aussi utilisés pour vérifier la non-régression De préférence utiliser les tableaux qui sont parlants Les scores de tests sont publiés et discutés MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 132. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TDD 132MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 133. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TDD 133 Le TDD est un cycle rapide de tests, codage et refactoring Le TDD consiste à écrire des tests d’une fonction avant de l’implémenter L’impact du TDD est la réduction de bugs et l’augmentation de la qualité de l’architecture MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 134. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TDD - CYCLE 134 Réfléchir Faillir Réussir Refactoring MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 135. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TDD - RÉFLÉCHIR 135 Imaginer que le code est finalisé, que serait le résultat ? Réfléchir à un test efficace et aux conséquences sur le code qui doit suivre La programmation par paires aide dans ce processus Ne s’intéresser qu’à la façade des modules ou des classes MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 136. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TDD - FAILLIR 136 Le premier échec est l’échec de compilation Souvent on écrit des tests sur des méthodes qui n’existent pas ou qui sont structurellement différentes du test Réfléchir en tant qu’utilisateur de la classe, pas en tant que son concepteur Plusieurs formes d’échec : la compilation ou un échec différent à l’échec attendu MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 137. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TDD - RÉUSSIR 137 Ecrire le code qui permet de passer les tests Ne pas se soucier de la qualité du code pour le moment Vérifier que les tests passent MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 138. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TDD - REFACTORING 138 Réécrire le code de façon à le rendre meilleur sur le plan structurel Repasser les tests et vérifier MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 139. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES REFACTORING 139MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 140. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES REFACTORING 140 Le Refactoring est le processus de changer le code sans changer son comportement L’objectif primaire est d’améliorer l’architecture du code Plusieurs motivations : non respects des principes SOLID, non conformité aux patrons de conception,… MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 141. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES EXEMPLES DE REFACTORING 141 Changement des Noms Classe Méthode Variable ... Structure Encapsulation Extraction de méthodes, classes et interfaces … Nettoyage Code mort Code sale … … … MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 142. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES ARCHITECTURE INCRÉMENTALE 142MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 143. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES ARCHITECTURE INCRÉMENTALE 143 Le facteur « Time-To- Market » exige des livraisons rapides Pas le temps pour des fondations complètes et complexes L’architecture incrémentale consiste à construire l’infrastructure technique d’une manière incrémentale Eviter d’identifier les abstractions à partir des premières utilisations d’un élément Utiliser les abstractions à partir de la deuxième utilisation d’un élément MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 144. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES CONCEPTION SIMPLE 144MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 145. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES CONCEPTION SIMPLE 145 Privilégier toujours les approches simples Simplicité n’est pas forcément contraire à évolutivité Adopter une fondation minimale lors des premières itérations MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 146. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES SOLUTION DE POINTE 146MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 147. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES SOLUTION DE POINTE 147 Aussi appelée PoC (Proof of Concept) Des petites solutions à périmètre très réduit Permet de découvrir un nouvel aspect technologique ou du domaine Des projets à part, non intégrés au projet principal Doivent être intégrés au planning Éventuellement prévoir des démonstrations MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 148. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TESTS EXPLORATOIRES 148MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 149. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TESTS EXPLORATOIRES 149 L’objectif du développement agile n’est pas de corriger les bugs mais de ne pas en produire Le testeur choisit un test au hasard ensuite à partir des résultats du test conçoit d’autres tests Se font généralement lorsque une partie considérable du logiciel est prête Parmi les tâches, les testeurs poussent le logiciel à des conditions étranges ou extrêmes Les sessions prennent quelques heures Utiliser des techniques telles que l’observation ou les heuristiques MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 150. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES TESTS EXPLORATOIRES - HEURISTIQUES 150 Privilèges Super Utilisateur Pas de privilège Peu de Privilège Taille Trop petit Trop gros Normal Position Début Fin Milieu Nombre 0 Plusieurs 1 CRUD Read Update Delete Create Type et Frontières < MIN > MAX Mauvais Type MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 151. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES REVUE DE CODE 151MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 152. SECTION6:PRATIQUESDEDÉVELOPPEMEBNT COURS 5 : PRATIQUES AGILES REVUE DE CODE 152 Des revues de code régulières Faites par les membres avec le plus d’expérience ou des personnes externes Les résultats de la revue sont discutés avec toute l’équipe Ne pas utiliser pour sanctionner Combiner avec l’analyse de la cause racine Utiliser le relâchement pour les revues de code MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 153. PRATIQUES AGILES BIBLIOGRAPHIE 153MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 154. PRATQUES AGILES BIBLIOGRAPHIE 154 • The Art of Agile Development, 2007, James Shore and Shane Warden, O’Reilly • XP Practice: Energized Work, 2007, Artem Marchenko, http://agilesoftwaredevelopment.com/xp/practices/energized-work • What’s an Agile Retrospective and Why Would You Do It?, 2013, Ben Linders, http://www.benlinders.com/2013/whats-an-agile-retrospective- and-why-would-you-do-it/ • Running Retrospectives, 2014, https://www.gov.uk/service- manual/agile/running-retrospectives.html, Government Service Design Manual, • VERSIONONE, 2014, Release Planning, http://www.versionone.com/agile- 101/agile-development-release-planning/MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018
  • 155. PRATQUES AGILES BIBLIOGRAPHIE 155 • What is a Planning Poker ? 2014, Moutain Goat Software, http://www.mountaingoatsoftware.com/agile/planning-poker • Acceptance Tests, http://www.extremeprogramming.org/rules/functionaltests.html • Three Main Types of Refactoring, 2012, Peter Kaptein , http://patterns.instantinterfaces.nl/current/Refactoring-and-Design- Patterns-RFCT-ELM-3ELM.html MÉTHODES AGILES | MOSTEFAI MOHAMMED AMINE | © 2018