3. 3
L’Agilité est l’habilité de créer et de répondre au changement dans le but d’avoir du succès dans
un environnement d’affaires turbulent.
- Jim Highsmith
Certaines problématiques sont difficiles, certains individus sont difficiles.
Les méthodes Agile ne sont pas une garantie de succès.
- Craig Larman
Ce n’est pas la plus forte des espèces qui survit, ni la plus intelligente, mais celle qui s’adapte le
mieux
- Charles Darwin
=> Une méthode agile est une approche itérative et incrémentale, qui est menée dans un esprit
collaboratif avec juste ce qu’il faut de formalisme •
Elle génère un produit de haute qualité tout en tenant compte de l’évolution des besoins client
Agilité – Définitions
5. 5
Les méthodes agiles
Les 12 principes communs
La plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des
fonctionnalités à grande valeur ajoutée.
Il faut accueillir positivement les changements et les nouveaux besoins, même lorsqu'ils
arrivent tardivement dans un projet. Les processus agiles exploitent la flexibilité au
changement afin de fournir un avantage compétitif pour le client.
Il faut livrer régulièrement un logiciel opérationnel (utilisable en production) avec des
cycles courts (idéalement entre deux et quatre semaines).
Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble au
quotidien et tout au long du projet.
Il faut réaliser les projets avec des personnes motivées, leur fournir des environnements
adaptés à leur besoin ainsi que le soutien dont ils ont besoin et leur confiance pour
atteindre les objectifs fixés.
6. 6
Les méthodes agiles
Les 12 principes communs( suite )
Le dialogue en face à face entre les différents acteurs est la méthode la plus simple et la
plus efficace pour transmettre l'information et la connaissance entre ces derniers.
L'aspect opérationnel d'un produit est la principale mesure d'avancement de ce dernier.
Les processus agiles doivent amener à un rythme de développement soutenable pour
l'équipe et constant.
La recherche de l'excellence et de la performance conceptuelle et technique renforce
l'agilité d'un produit.
Simplifier le travail en minimisant le nombre de tâches inutiles et redondantes est
essentiel.
Les meilleures solutions logicielles émergent d'équipes auto-organisées.
L'équipe doit réfléchir à des moyens, à intervalles réguliers, pour devenir davantage
efficace.
7. 7
Mots clé agile :
Sprint : est une itération
Backlog : liste des taches ouvertes
Product backlog : liste d'item ouverts pour livrer le produit
Sprint backlog : liste des taches ouvertes attribuées au sprint
L'equipe / la team : équipe de développement
La scrum Team : Equipe + le scrum Master+ product owner
Estimation meeting: réunion d'estimation
Sprint planning meeting : réunion de planification de sprint
Daily scrum: réunion de coordination quotidienne de 15minutes
Sprint review / Revue de sprint : point d'avancement sur les livrables du sprint
Retrospective : reunion d'inspection et d'adaptation de la scrum team
Behavior driven development (ou BDD) : méthode agile qui encourage la collaboration entre les
développeurs, les responsables qualités, les intervenants non-techniques et les entreprises participant à
un projet de logiciel. Il a été conçu en 2003 par Dan North comme une réponse au Test Driven
Development.
10. 10
4 variables d'ajustement sur un projet
•
Coût
•
Qualité
•
Durée
•
Périmètre fonctionnel
Règle du jeu :
•
Le client a le droit de fixer 3 variables
•
L'équipe de développement ajuste la dernière.
Le périmètre fonctionnel est la variable qui fournit la maîtrise la plus efficace.
Variables d'ajustement projet
12. 12
Agile Scrum
Quatre principaux outils de pilotage de projet
- Product backlog
- Sprint backlog
- Release burndown
- Sprint Burndown
13. 13
Agile Scrum
Les 10 pratiques de base de la méthode agile scrum
Vision claire et partagée
Product backlog entretenu
Product backlog priorisé en fonction de la valeur métier
Item de backlog triés par équipe
Daily scrum
Sprint non perturbés ni par le management ni par le client
L’équipe ne délivre que des items terminés
Revue des sprint collaborative
Rétrospective concentrée sur l'amélioration continue
Suivi du burndown charts
16. 16
Agile Scrum
Le scrum Master – Role & fonctions
Fonction :
- protège ses équipes des turbulences
- il optimise la productivité de l'équipe
- il contrôle « l'inspect & audit » de l’équipe
- il assure que les idéaux agile soient compris et respectés de tous les
participants au projet
- il n'est pas responsable des livrables
Sa mission :
- Lever les obstacles
- Exécuter les process
- Travailler avec le product owner
17. 17
Fonction :
- elle délivre le produit et est responsable de sa qualité
- elle travaille avec les utilisateurs finaux le client , le product owner pour comprendre les exigences
métier
- elle s'engage volontairement
- elle travaille continuellement avec le product owner pour définir la direction stratégique du produit.
Sa mission :
- Garantir la qualité
-Estimer, livrer,
-s'engager, s'autogérer, et s'organiser elle meme
Agile Scrum
L'équipe Scrum
19. 19
Agile Scrum
Le client
- Il demande le produit
- Il contracte l'organisation pour le développement
- il agit en tant qu'acheteur d'un développement du produit à un sous traitant.
Dans les projet interne, le client est le sponsor du projet qui valide le projet et le
budget.
Le client paie le produit
Le client donne des feedback et des revisions.
20. 20
Agile Scrum
Le product owner
- pilote le projet d'un point de vue métier
- construit et communique une vision claire du projet
- accepte ou rejette le produit après chaque sprint
- entretien et défini les priorités à donner aux backlog à plus forte valeur ajoutée
- entretient et maintien le plan de livraison
- Responsable du retour sur investissement
21. 21
Méthode agile XP
- Client sur le Site (On-Site Customer)
- Séance de Planification (Planning Game)
- Intégration Continue (Continuous Integration)
- Livraisons Fréquentes (Frequent Releases)
- Rythme Soutenable (Forty-hour Week)
- Tests de Recette (Acceptance Tests)
- Tests Unitaires (Unit Tests)
- Conception Simple (Simple Design)
22. 22
XP – Pratiques
•
Métaphore(Metaphor)
•
Remaniement Continu ou Refactorisation de code pratiqué sans relâche (Refactoring)
•
Convention de Code (Coding Standard)
•
Programmation en Binôme (Pair Programming)
•
Propriété Collective du Code (Collective Code Ownership)
23. 23
XP – Rôles
Développeur
•
travaille en binôme, communique
•
doit être autonome
•
a une double compétence : développeur – concepteur
Client
•
doit apprendre à exprimer ses besoins sous forme de user-stories
•
à la fois le profil de l'utilisateur et une vision plus élevée sur le problème et
l'environnement du business
•
doit apprendre à écrire les cas de tests fonctionnels
Testeur
•
a pour rôle d'aider le client à choisir et à écrire ses tests fonctionnels
24. 24
Tracker
•
aide l'équipe à mieux estimer le temps nécessaire à l'implémentation de chaque
user story
•
contrôle la conformité de l'avancement au planning
Coach
•
recadre le projet
•
ajuster les procédures
•
doit intervenir de la manière la moins intrusive possible
Consultant
•
n'apporte pas de solution toute faite
•
apporte à l'équipe les connaissances nécessaires pour qu'elle résolve elle-même
les problèmes
Big Boss
•
apporte à l'équipe courage et confiance
XP – Rôles (2)
27. 27
Focus on scrum meeting – Team whiteboard
il n'y a pas de whiteboard modèle. Chaque équipe crée et s'approprie son outil :
- Appropriation des items du backlog
- analyse des points bloquants
- suivi d'avancement quotidien et engagement des équipes
-remontée d'alerte pour débloquer ou communiquer sur un point bloquant
-ajout de nouvelle taches et retrait des taches finalisées
28. 28
Agile appliqué au développements opérationnels
http://www.informationweek.com/devops/agile-vs-devops-10-ways-theyre-different
29. 29
Le Behaviour Driven development ( BDD)
Encourage la collaboration entre les BA, les QA, Développeurs, et le métier
Motivé par la valeur ajoutée
Une extension du Test Driven Developpement en utilisant un language mon
technique compris par le métier.
Le cadre du BDD ( comme Jbehave) sont des facilitateurs qui agissent comme une
passerelle entre le métier et l'IT.
•
Les cas de test sont définis par le métier.
•
Les développeurs vont définir les critères d'acceptation.
Focus phase de test : TDD au BDD …