Agile Tour Lille 2008

  Introduction à l'agilité
Introduction
• Il est difficile de capturer le besoin présent
• Il est impossible de capturer le besoin futur
• Le logiciel est par définition modifiable

       Les méthodes agiles exploitent le changement
                  comme avantage compétitif
    en livrant fréquemment des logiciels qui fonctionnent
Plan
•   Historique
•   Valeurs
•   Principes
•   Methodes
•   Rôles
•   Changements
'User Story'

En tant que ...
Je voudrais ...
afin de ...
Historique
•   1987 : Lean
•   1996 : eXtreme Programming
•   1996 : Scrum
•   2001 : Manifeste Agile
•   2003 : Lean Software Development
•   2004 : Crystal Clear
•   2005 : La déclaration d'interdépendance
Valeurs Agile
•   L’interaction avec les personnes plutôt que les processus et les outils
•   Un logiciel qui fonctionne plutôt qu’une documentation détaillée
•   La collaboration avec le client plutôt que le respect d’un contrat
•   L' adaptabilité plutôt que le suivi du plan
Principes Agile
Principes Agiles
• Notre première priorité est de satisfaire le client en livrant
  tôt et régulièrement des logiciels à forte valeur ajouté
Principes Agiles
• Livrer fréquemment un logiciel qui fonctionne, toutes les
  deux semaines à deux mois, avec une préférence pour la
  période la plus courte
Principes Agiles
• Un logiciel qui fonctionne est la meilleure unité de
  mesure de la progression du projet
Principes Agiles
• Le changement est accepté, même tardivement dans le
  développement. Les processus agiles exploitent le
  changement comme avantage compétitif pour le client
Principes Agiles
• Les experts métier et les développeurs doivent collaborer
  quotidiennement au projet
Principes Agiles
• 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
Principes Agile
• La méthode la plus efficace de transmettre l'information est
  une conversation en face à face
Principes Agiles
• Les meilleures architectures, spécifications et conceptions
  sont issues d' équipes auto-organisées
Principes Agiles
• Une attention constante à l'excellence technique et à la
  conception améliore l'agilité
Principes Agiles
• Les processus agiles promeuvent un rythme soutenable.
  Chacun devrait pouvoir maintenir ce rythme indéfiniment
Principes Agiles
• La simplicité - l'art de maximiser la quantité de travail à ne
  pas faire - est essentielle
Principes Agiles
• À intervalle régulier, l'équipe fait une rétrospective, en
  réfléchissant aux moyens de devenir plus efficace, puis
  accorde et ajuste son comportement en conséquence
Methodes

Scrum, XP, Lean, Crystal, ...
Pratiques - Scrum
• Rôles
   o 'Product Owner'
   o 'Scrum Master'
   o 'Team'
• 'Product Backlog' de 'User Stories'
• 'Product BurnDown Chart'
• 'Daily (StandUp) Scrum Meeting'
• 'Sprint Planning Meeting'
• 'Sprint Retrospective Meeting'
• Certifications
Pratiques - XP
Développement                       Gestion de projet
•   Client sur site                  •   'User Stories'
•   'Test Driven Development'        •   Iteration
•   'Pair programming'               •   'Stand-Up Meeting'
•   Intégration continue             •   Rythme Soutenable
•   Propriété collective du code     •   'Planning Game'

                          Qualités
                          • Courage
                          • Communication
                          • 'Feedback'
                          • Simplicité
                          • Respect
Pratiques - Lean
• Principes
   o Juste à Temps
   o L'homme avant la machine
• Chasse aux gaspillages
• Amélioration continue
• Considérer le système dans son ensemble
• Retarder l'engagement
Pratiques - Crystal
•   Equipe réduite
•   Collocation
•   Livraison fréquente
•   Amélioration continue
•   Accès aux experts métier
•   Stratégie adaptée au projet
     o Taille du projet
     o Risque (monétaire, vie humaine)
Rôles
Rôles - Client
Client, Product-Owner, Chef de projet, Représentant des
utilisateurs, Expert Metier ...

•   Possède et partage la vision du logiciel
•   Écrit les 'stories'
•   Valorise les 'stories' en valeur métier
•   Priorise en maximisant la valeur
•   Est présent sur le site
•   Valide les 'stories' réalisées
Rôles - Utilisateur
Utilisateur, Expert Métier, Fonctionnel ...

•   Exprime son besoin
•   Participe à la démo
•   Demande des corrections
•   Demande des évolutions
Rôles - Sponsor
Direction de projet, DSI, Direction générale, Utilisateur...

•   Choisit les projets à démarrer
•   Priorise les projets entre eux
•   Suit l'avancement des 'backlogs'
•   Est responsable du budget global
•   Peut arrêter un projet
Rôles - Dévelopeur
Développeur, Graphiste, DBA, Ergonome ...

•   Chiffre la complexité des 'stories' en points
•   Demande les informations nécessaires à la réalisation
•   Propose des solutions techniques, ergonomiques
•   Fait un 'stand-up' chaque matin
     o Explique ce qu'il a fait la veille
     o Partage ses problèmes
     o Choisit ce qu'il réalise ce jour
Rôles - Leader
Scrum Master, 'Tech Lead' , Chef de projet, Facilitateur...

•   Est responsable de la méthode de travail
•   Filtre les perturbations
•   Fais en sorte que l'équipe se sente bien
•   Est idéalement un développeur confirmé
•   Est un meneur d'homme
Rôles - Coach
Facilitateur, Scrum Coach, Meta Coach ...

• Offre un regard extérieur sur la dynamique de projet
• Anime la rétrospective
• Propose des solutions méthodologiques
Rôles - Production
Intégration, Prod' ...

• Déploie les livraisons
• Vérifie la (Haute) Disponibilité des applications
• Fournit des rapports d'anomalie
Ce qui change...
• Une application n'a jamais un périmètre fixe
• L'équipe n'est pas composée que des développeurs
• Les utilisateurs ont le pouvoir de changer l'application
• Les développeurs prennent chaque jour des décisions
  minimes (design, ergonomie)
• La limite entre le développement et la maintenance est
  moins marquée
• La documentation n'a plus la même fonction
Conclusion
           "There's Only Us"

Tout le monde rame dans le même sens...
Agile Tour Lille 2008

Agile Tour Lille 2008

  • 1.
    Agile Tour Lille2008 Introduction à l'agilité
  • 2.
    Introduction • Il estdifficile de capturer le besoin présent • Il est impossible de capturer le besoin futur • Le logiciel est par définition modifiable Les méthodes agiles exploitent le changement comme avantage compétitif en livrant fréquemment des logiciels qui fonctionnent
  • 3.
    Plan • Historique • Valeurs • Principes • Methodes • Rôles • Changements
  • 4.
    'User Story' En tantque ... Je voudrais ... afin de ...
  • 5.
    Historique • 1987 : Lean • 1996 : eXtreme Programming • 1996 : Scrum • 2001 : Manifeste Agile • 2003 : Lean Software Development • 2004 : Crystal Clear • 2005 : La déclaration d'interdépendance
  • 6.
    Valeurs Agile • L’interaction avec les personnes plutôt que les processus et les outils • Un logiciel qui fonctionne plutôt qu’une documentation détaillée • La collaboration avec le client plutôt que le respect d’un contrat • L' adaptabilité plutôt que le suivi du plan
  • 7.
  • 8.
    Principes Agiles • Notrepremière priorité est de satisfaire le client en livrant tôt et régulièrement des logiciels à forte valeur ajouté
  • 9.
    Principes Agiles • Livrerfréquemment un logiciel qui fonctionne, toutes les deux semaines à deux mois, avec une préférence pour la période la plus courte
  • 10.
    Principes Agiles • Unlogiciel qui fonctionne est la meilleure unité de mesure de la progression du projet
  • 11.
    Principes Agiles • Lechangement est accepté, même tardivement dans le développement. Les processus agiles exploitent le changement comme avantage compétitif pour le client
  • 12.
    Principes Agiles • Lesexperts métier et les développeurs doivent collaborer quotidiennement au projet
  • 13.
    Principes Agiles • Bâtissezle 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
  • 14.
    Principes Agile • Laméthode la plus efficace de transmettre l'information est une conversation en face à face
  • 15.
    Principes Agiles • Lesmeilleures architectures, spécifications et conceptions sont issues d' équipes auto-organisées
  • 16.
    Principes Agiles • Uneattention constante à l'excellence technique et à la conception améliore l'agilité
  • 17.
    Principes Agiles • Lesprocessus agiles promeuvent un rythme soutenable. Chacun devrait pouvoir maintenir ce rythme indéfiniment
  • 18.
    Principes Agiles • Lasimplicité - l'art de maximiser la quantité de travail à ne pas faire - est essentielle
  • 19.
    Principes Agiles • Àintervalle régulier, l'équipe fait une rétrospective, en réfléchissant aux moyens de devenir plus efficace, puis accorde et ajuste son comportement en conséquence
  • 20.
  • 21.
    Pratiques - Scrum •Rôles o 'Product Owner' o 'Scrum Master' o 'Team' • 'Product Backlog' de 'User Stories' • 'Product BurnDown Chart' • 'Daily (StandUp) Scrum Meeting' • 'Sprint Planning Meeting' • 'Sprint Retrospective Meeting' • Certifications
  • 22.
    Pratiques - XP Développement Gestion de projet • Client sur site • 'User Stories' • 'Test Driven Development' • Iteration • 'Pair programming' • 'Stand-Up Meeting' • Intégration continue • Rythme Soutenable • Propriété collective du code • 'Planning Game' Qualités • Courage • Communication • 'Feedback' • Simplicité • Respect
  • 23.
    Pratiques - Lean •Principes o Juste à Temps o L'homme avant la machine • Chasse aux gaspillages • Amélioration continue • Considérer le système dans son ensemble • Retarder l'engagement
  • 24.
    Pratiques - Crystal • Equipe réduite • Collocation • Livraison fréquente • Amélioration continue • Accès aux experts métier • Stratégie adaptée au projet o Taille du projet o Risque (monétaire, vie humaine)
  • 25.
  • 26.
    Rôles - Client Client,Product-Owner, Chef de projet, Représentant des utilisateurs, Expert Metier ... • Possède et partage la vision du logiciel • Écrit les 'stories' • Valorise les 'stories' en valeur métier • Priorise en maximisant la valeur • Est présent sur le site • Valide les 'stories' réalisées
  • 27.
    Rôles - Utilisateur Utilisateur,Expert Métier, Fonctionnel ... • Exprime son besoin • Participe à la démo • Demande des corrections • Demande des évolutions
  • 28.
    Rôles - Sponsor Directionde projet, DSI, Direction générale, Utilisateur... • Choisit les projets à démarrer • Priorise les projets entre eux • Suit l'avancement des 'backlogs' • Est responsable du budget global • Peut arrêter un projet
  • 29.
    Rôles - Dévelopeur Développeur,Graphiste, DBA, Ergonome ... • Chiffre la complexité des 'stories' en points • Demande les informations nécessaires à la réalisation • Propose des solutions techniques, ergonomiques • Fait un 'stand-up' chaque matin o Explique ce qu'il a fait la veille o Partage ses problèmes o Choisit ce qu'il réalise ce jour
  • 30.
    Rôles - Leader ScrumMaster, 'Tech Lead' , Chef de projet, Facilitateur... • Est responsable de la méthode de travail • Filtre les perturbations • Fais en sorte que l'équipe se sente bien • Est idéalement un développeur confirmé • Est un meneur d'homme
  • 31.
    Rôles - Coach Facilitateur,Scrum Coach, Meta Coach ... • Offre un regard extérieur sur la dynamique de projet • Anime la rétrospective • Propose des solutions méthodologiques
  • 32.
    Rôles - Production Intégration,Prod' ... • Déploie les livraisons • Vérifie la (Haute) Disponibilité des applications • Fournit des rapports d'anomalie
  • 33.
    Ce qui change... •Une application n'a jamais un périmètre fixe • L'équipe n'est pas composée que des développeurs • Les utilisateurs ont le pouvoir de changer l'application • Les développeurs prennent chaque jour des décisions minimes (design, ergonomie) • La limite entre le développement et la maintenance est moins marquée • La documentation n'a plus la même fonction
  • 34.
    Conclusion "There's Only Us" Tout le monde rame dans le même sens...