53
Méthodes et Processus Agiles Ecole Informatique IN2P3 2008

Methodologies de Developpement Agiles : Scrum et XP

Embed Size (px)

DESCRIPTION

Petit tout d'horizon des méthodologies de gestion de projet agiles, avec un focus mis sur XP et Scrum.

Citation preview

Page 1: Methodologies de Developpement Agiles : Scrum et XP

Méthodes et Processus Agiles

Ecole Informatique IN2P3 2008

Page 2: Methodologies de Developpement Agiles : Scrum et XP

Agile ?

• 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

Page 3: Methodologies de Developpement Agiles : Scrum et XP

Agile ?

• Modèle de développement à l’opposé du modèle en cascade ou du modèle en V, généralement basés sur le forfait

Page 4: Methodologies de Developpement Agiles : Scrum et XP

Agile ?

• Beaucoup de méthodes et techniques dites agiles existent !

• XP, Scrum, RAD, DSDM, ASD, FDD, Crystal Clear, PUMA, AUP, etc.

Page 5: Methodologies de Developpement Agiles : Scrum et XP

Agile ?• Courant issu du Manifeste Agile

• L’interaction avec les personnes plutôt que les processus et les outils

• Une production opérationnelle plutôt qu’une documentation pléthorique

• La négociation avec le client plutôt que le respect d’un contrat

• La collaboration au changement plutôt que le suivi du plan

Page 6: Methodologies de Developpement Agiles : Scrum et XP

Agile Manifesto

Page 7: Methodologies de Developpement Agiles : Scrum et XP

• Notre première priorité est de satisfaire le client en livrant tôt et régulièrement des logiciels utiles.

Page 8: Methodologies de Developpement Agiles : Scrum et XP

• Le changement est accepté, même tardivement dans le développement. Les processus agiles exploitent le changement comme avantage compétitif pour le client.

Page 9: Methodologies de Developpement Agiles : Scrum et XP

• Livrer fréquemment une application fonctionnelle, toutes les deux semaines à deux mois, avec une tendance pour la période la plus courte.

Page 10: Methodologies de Developpement Agiles : Scrum et XP

• Les gens de l'art et les développeurs doivent collaborer quotidiennement au projet.

Page 11: Methodologies de Developpement Agiles : Scrum et XP

• Bâtissez le projet autour de personnes motivées. Donnez leur l'environnement et le soutien dont elles ont besoin, et croyez en leur capacité à faire le travail.

Page 12: Methodologies de Developpement Agiles : Scrum et XP

• La méthode la plus efficace de transmettre l'information est une conversation en face à face.

Page 13: Methodologies de Developpement Agiles : Scrum et XP

• Un logiciel fonctionnel est la meilleure unité de mesure de la progression du projet.

Page 14: Methodologies de Developpement Agiles : Scrum et XP

• Les processus agiles promeuvent un rythme de développement soutenable. Commanditaires, développeurs et utilisateurs devraient pouvoir maintenir le rythme indéfiniment.

Page 15: Methodologies de Developpement Agiles : Scrum et XP

• Une attention continue à l'excellence technique et à la qualité de la conception améliore l'agilité.

Page 16: Methodologies de Developpement Agiles : Scrum et XP

• La simplicité - l'art de maximiser la quantité de travail à ne pas faire - est essentielle.

Page 17: Methodologies de Developpement Agiles : Scrum et XP

• Les meilleures architectures, spécifications et conceptions sont issues d'équipes qui s'auto-organisent.

Page 18: Methodologies de Developpement Agiles : Scrum et XP

• À intervalle régulier, l'équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son comportement dans ce sens.

Page 19: Methodologies de Developpement Agiles : Scrum et XP

Méthodologie XP

Page 20: Methodologies de Developpement Agiles : Scrum et XP

eXtreme Programming

• Réconcilier l´humain avec la productivité

• Voie d'amélioration

• Style de développement

• Discipline de développement d´applications informatiques

Page 21: Methodologies de Developpement Agiles : Scrum et XP

Objectif Principal

Réduire les coûts du changement

Page 22: Methodologies de Developpement Agiles : Scrum et XP

• Revues de code permanentes

Page 23: Methodologies de Developpement Agiles : Scrum et XP

• Développement pilotés par les tests

Page 24: Methodologies de Developpement Agiles : Scrum et XP

• Conception au cours du projet (refactoring)

Page 25: Methodologies de Developpement Agiles : Scrum et XP

• Privilégier systématiquement la méthode la plus simple

Page 26: Methodologies de Developpement Agiles : Scrum et XP

• Utiliser des métaphores pour faciliter la communication

Page 27: Methodologies de Developpement Agiles : Scrum et XP

• L’intégration des modifications se fait quotidiennement, voire plusieurs fois par jour

Page 28: Methodologies de Developpement Agiles : Scrum et XP

• Les cycles de développement seront réduits au plus court

Page 29: Methodologies de Developpement Agiles : Scrum et XP

Cycles XP

Exploration

Attribution de Tâches Développement

Création de Tests Fonctionnels

Livraison & feed-backClient

Page 30: Methodologies de Developpement Agiles : Scrum et XP

Programmation par Paire

• Deux développeurs échangent et corrigent mutuellement leur code

• Variante: l’un implémente les fonctionnalités pendant que l’autre code les tests nécessaires

• Qualité optimale !

Page 31: Methodologies de Developpement Agiles : Scrum et XP

Tests unitaires et fonctionnels

• Développement piloté par les tests (TDD)

• Etablir un contrat fonctionnel pour l’application d’abord

• Développer ensuite

Page 32: Methodologies de Developpement Agiles : Scrum et XP

Intégration Continue

• Garant de l’intégrité des développements au cours des itérations

• Favorise la réactivité

• Instaure un contrôle continu de la qualité

Page 33: Methodologies de Developpement Agiles : Scrum et XP

Cas Défavorables de mise en œuvre d’XP

• Blocage culturel

• Grandes équipes de développement

• Feedback long et difficile à obtenir

• Impossibilité de fonctionner en binômes

Page 34: Methodologies de Developpement Agiles : Scrum et XP

Méthodologie Scrum

Page 35: Methodologies de Developpement Agiles : Scrum et XP

Scrum ?

• Méthodologie de gestion de projet

• Issue du terme “mêlée” (Rugby) en anglais

• Avancer ensemble vers un but commun

• Pas fondamentalement liée au développement logiciel

• Bon complément à XP

Page 36: Methodologies de Developpement Agiles : Scrum et XP

Objectifs de Scrum

• Focaliser l’équipe sur la réalisation d’objectifs dans un cycle itératif

• Itérations de 30 jours appelées Sprint, chacune possédant son un périmètre fonctionnel délimité

• Comme avec XP, la participation du client est prépondérante

Page 37: Methodologies de Developpement Agiles : Scrum et XP

Idées Clé

• Le client est au cœur du projet

• Esprit d’équipe

• La communication est la clé

• Simplicité, Efficacité, et Qualité

• Flexibilité aux changements

• Avancement basé sur le concret

Page 38: Methodologies de Developpement Agiles : Scrum et XP

Rôles

• Product Owner (ou Directeur Produit)C’est le représentant des clients et des utilisateurs

• Scrum MasterEst chargé de protéger l'équipe de tous les éléments perturbateurs extérieurs à l'équipe et de résoudre ses problèmes non techniques

Page 39: Methodologies de Developpement Agiles : Scrum et XP

Rôles

• EquipeAuto-gérée, elle s'adresse directement au Directeur de produit.

• Intervenants (Stakeholders)Personnes qui souhaitent avoir une vue sur le projet sans réellement s'investir dedans (experts, agents de direction)

Page 40: Methodologies de Developpement Agiles : Scrum et XP

Processus

Clients Intervenants extérieurs

Directeur de Produit

Equipe

ScrumM

aster

Elémentsperturbateurs Equipe étendue

Page 41: Methodologies de Developpement Agiles : Scrum et XP

Projet

Planification

Release

Sprint Sprint Sprint Sprint

Release

Sprint Sprint Sprint

Produit partiel, testéet utilisable

Version finalisée

Produit partiel, testéet utilisable

...

Page 42: Methodologies de Developpement Agiles : Scrum et XP

Le Sprint

• 30 jours calendaires (~2 à 4 semaines en réalité)

• Associé à un but, matérialisé par la réalisation d’un certain nombre d’items du backlog produit

Page 43: Methodologies de Developpement Agiles : Scrum et XP

Backlog Produit

• Liste des éléments fonctionnels à implémenter

• Chaque élément du backlog est noté deux fois en termes d’importance :

• Le Product Owner lui attribue une valeur client

• Une estimation en points arbitraires est faire par l’équipe (ex. Fibonacci)

Page 44: Methodologies de Developpement Agiles : Scrum et XP

Backlog Produit

• Les items du backlog de produit peuvent être réordonnés, ajoutés ou supprimés d’un sprint - si les conditions l’exigent et après concertation de l’Equipe Etendue

Page 45: Methodologies de Developpement Agiles : Scrum et XP

Backlog Produit

Page 46: Methodologies de Developpement Agiles : Scrum et XP

Backlog de Sprint

• L’équipe sélectionne les items du backlog produit à prendre en charge pour le sprint

• Chaque item est décomposé en tâches dont la durée ne doit jamais excéder deux jours

• Chaque tâche traitée donne lieu à une mise à jour du backlog de sprint

Page 47: Methodologies de Developpement Agiles : Scrum et XP

Backlog de Sprint

Page 48: Methodologies de Developpement Agiles : Scrum et XP

Sprint Burndown Chart

• C’est la somme des heures des items du backlog de sprint, soit le reste à faire total du sprint

• Il montre le reste à faire au fur et à mesure de l’avancement du sprint

Page 49: Methodologies de Developpement Agiles : Scrum et XP

Vélocité

• Une fois un sprint terminé, on peut calculer la vélocité de l’équipe, et estimer la charge des prochains sprint d’une façon de plus en plus fiable

Page 50: Methodologies de Developpement Agiles : Scrum et XP

Daily Scrum

• C’est une réunion quotidienne de 15 minutes maximum destinée à faire un point sur l’avancement du sprint

• Chaque membre répond à 3 questions :

• Qu'est-ce que j'ai fait hier ?

• Qu'est-ce que je compte faire aujourd'hui ?

• Quelles difficultés est-ce que je rencontre ?

Page 51: Methodologies de Developpement Agiles : Scrum et XP

Revue de Sprint

• A la fin d’un sprint, c’est une réunion de quelques heures destinée à comprendre ce qui n’a pas marché quand c’est le cas

• Il faut en tirer des axes d’amélioration pour les sprints suivants, et adapter le backlog produit en conséquence

Page 52: Methodologies de Developpement Agiles : Scrum et XP

Eléments Déterminants

• Travailler dans la même pièce

• Equipe idéale constituée de 4 développeurs

• Tableau blanc, post-its

• Calme

Page 53: Methodologies de Developpement Agiles : Scrum et XP

Questions ?