Philippe Caroux!
Consultant Sénior!
07 87 77 43 38!
Philippe.caroux@valtech.fr !
                               Plateforme Agile
Jihane Khalil!
Consultant!
                                     Séminaire du 28 juin 2012
05 62 47 64 00!
Khalil.jihane@valtech.fr!
Agenda
Introduction!            Pratiques agiles outillées!



Principes agiles         Démonstration!



Pratiques agiles!        Conclusion!



Outils métiers agiles!
Introduction
Plateforme Agile / Introduction!

Plateforme agile : des concepts aux outils

Ò  Les valeurs et principes agiles

Ò  Les pratiques agiles

Ò  Les outils métiers

Ò  La relation métiers / pratiques

Ò  Les pratiques outillées représentatives

Ò  Démonstration
Principes agiles
Plateforme Agile / Valeurs agiles!


Manifeste Agile (2001)

Ò  Les individus et leurs interactions sont mis en avant plutôt
    que les processus et les outils.


Ò  Les logiciels sont opérationnels sans besoin de documentation
    exhaustive.


Ò  La collaboration avec le client est permanente plutôt que
    purement contractuelle.


Ò  L’adaptation au changement est privilégiée plutôt que le suivi
    strict et non modifiable des plannings.
Plateforme Agile / Principes agiles!


Ò  Les individus et leurs interactions :
     •  L’avancement du projet suit un rythme soutenable et constant.
     •  Les équipes sont auto-organisées.

Ò  Les logiciels :
     •  La livraison de versions opérationnelles se fait le plus souvent possible.
     •  La mesure de l’avancement du projet se fait en termes de fonctionnalités.

Ò  La collaboration avec le client :
     •  La satisfaction du client est prioritaire.
     •  La coopération entre client et équipe projet est permanente.

Ò  L’adaptation au changement :
     •  Les demandes de changement sont les bienvenues.
     •  L’ajustement des comportements et des pratiques est régulier.
Plateforme Agile / Pratiques agiles!




      Valeurs




                      Principes




                                       Pratiques
Pratiques agiles
Plateforme Agile / Du besoin au produit!



                              Product       Release
  Besoin        Thèmes
                              Backlog       Backlog



              Anomalies,
              évolutions




               Produit                     Iteration
  Produit                     Taches
               partiel                      Backlog
Plateforme Agile / Pratiques types!



Ò  Définition de la vision et de la roadmap

Ò  Création du « Product Backlog »

Ò  Formalisation du « Release plan »

Ò  Déroulement des itérations

Ò  Intégration continue

Ò  Gestion des changements
Outils métiers agiles
Plateforme Agile / Outils métiers!


Métier
Communication

Gestion de projet

Gestion de configuration

Développement

Intégration

Test
Plateforme Agile / Outils agiles!


Agile
Natifs            Propriétaire :
                  •  Version One
                  •  Rally

                  Open source :
                  •  iceScrum

Non - natifs      Propriétaire :
                  •  Jira + GreenHopper

                  Open source :
                  •  Trac + Agilo
Plateforme Agile / Entités agiles!



                                           Feature




           Project     Product Backlog      Story


           Release     Release Backlog     Defect

           Iteration



                       Iteration Backlog    Task



 Projet

 Produit
Plateforme Agile / Métiers agiles!




                           Projet



                           Gestion de
      Communication
                          projet (SCRUM)
                                             Test
                                            (Auto)

                         Produit

       Gestion de                          Intégration
      configuration                        (continue)
                       Développement
                       (TDD, TDR, Peer…)
Pratiques agiles outillées
Plateforme Agile / Pratiques représentatives!


Ò  Création du Product Backlog

Ò  Déroulement d’itération

Ò  Intégration continue


                 Product
Besoin                            Itération     Livrables
                 Backlog




                                  Intégration
                                                Prototype
                                   continue
Plateforme Agile / Création du Product Backlog!

  PO            Team                         Communication            Gestion de projet agile


       Besoin
                         Analyse +
                         Ateliers


                         Compte-rendu
                                                             Publication


                         Ateliers
                         Fonc & Tech



                       Features / Stories priorisées

                                                                                           Création PB

                                                         Product Backlog



                                                             Publication
Plateforme Agile / Déroulement d’itération!

 PO          Gestion de projet
                                             Développement
                                                                              Gestion de
                                                                                                       Communication
Team               agile                                                     configuration

        PB
                                 Sélection Stories

                                 Création/Estimation
                                      tâches

                                    SB
                                                              Développement +
                                                                   TU

                                                              Code + TU                      Intégration
       Temps                                                                                 continue
       passé


                                 Mise à jour tâches

             Revue
             Démonstration
             Rétrospective
                                          Bilan + Rapports + Améliorations
                                                                                                                       Publication
                                         Binaire


             Packaging + Livraison
Plateforme Agile / Intégration continue!

                     Gestion de
 Team               configuration
                                                  Intégration continue                       Test


        Code + TU
                                    Partage du code


                                      Code + TU
                                                                     On commit:
                                                                     Build + TU


                                                                   Lancement des TU
                                                                                                    Exécution
                                                                                                    des TU
                          Rapports de TU                                 Rapports de TU


                                                                     Nightly commit:
                                                                     Build + TU


                                                              Lancement des Verif & Tests           Exécution TU +
                                                                                                    Analyse code +
                     Rapports de Verif & Tests                   Rapports de Verif & Tests          Couverture code +
                                                                                                    Test fonc auto
Plateforme Agile / Passage aux outils métiers !


Ò  Exemple: consolidation sur l’outil d’intégration continue

   •  Liste de fonctionnalités identifiées
       •  On commit (Jenkins)
       •  Nightly commit (Jenkins)

   •  Liste des interfaces avec d’autres outils
       •  Test unitaires (JUnit)
       •  Analyseur statique (Sonar) et dynamique de code (JProfiler)
       •  Test fonctionnel automatique (Fitnesse)



Ò  Les outils d’intégration continue et de tests sont
    essentiels à la plateforme agile
Démonstration
Plateforme Agile / Exemple de plateforme agile!

Outil                  Type                   Métier

Confluence             Wiki                   Communication

Jira + GreenHopper     Tracking + Reporting   Gestion de projet agile
                       agile

Jenkins                Intégration continue   Intégration continue

Sonar                  Analyse de code        Test (Vérif)

JUnit                  Test unitaire          Test

Eclipse                Développement          Développement

SVN                    Gestion de sources     Configuration


Démonstration: plateforme Agile Valtech
Conclusion
Plateforme Agile / Conclusion!


Une plateforme agile idéale ?

Ò  Des outils adaptés au projet agile

Ò  Une combinaison possible d’outils agiles et non agiles

Ò  Des outils disponibles pour chaque pratique

Ò  Des outils au service de l’équipe et non imposés

Ò  Des outils qui s’intègrent facilement

Ò  Des outils qui servent les principes agiles

Valtech - Plateforme Agile

  • 1.
    Philippe Caroux! Consultant Sénior! 0787 77 43 38! Philippe.caroux@valtech.fr ! Plateforme Agile Jihane Khalil! Consultant! Séminaire du 28 juin 2012 05 62 47 64 00! Khalil.jihane@valtech.fr!
  • 2.
    Agenda Introduction! Pratiques agiles outillées! Principes agiles Démonstration! Pratiques agiles! Conclusion! Outils métiers agiles!
  • 3.
  • 4.
    Plateforme Agile /Introduction! Plateforme agile : des concepts aux outils Ò  Les valeurs et principes agiles Ò  Les pratiques agiles Ò  Les outils métiers Ò  La relation métiers / pratiques Ò  Les pratiques outillées représentatives Ò  Démonstration
  • 5.
  • 6.
    Plateforme Agile /Valeurs agiles! Manifeste Agile (2001) Ò  Les individus et leurs interactions sont mis en avant plutôt que les processus et les outils. Ò  Les logiciels sont opérationnels sans besoin de documentation exhaustive. Ò  La collaboration avec le client est permanente plutôt que purement contractuelle. Ò  L’adaptation au changement est privilégiée plutôt que le suivi strict et non modifiable des plannings.
  • 7.
    Plateforme Agile /Principes agiles! Ò  Les individus et leurs interactions : •  L’avancement du projet suit un rythme soutenable et constant. •  Les équipes sont auto-organisées. Ò  Les logiciels : •  La livraison de versions opérationnelles se fait le plus souvent possible. •  La mesure de l’avancement du projet se fait en termes de fonctionnalités. Ò  La collaboration avec le client : •  La satisfaction du client est prioritaire. •  La coopération entre client et équipe projet est permanente. Ò  L’adaptation au changement : •  Les demandes de changement sont les bienvenues. •  L’ajustement des comportements et des pratiques est régulier.
  • 8.
    Plateforme Agile /Pratiques agiles! Valeurs Principes Pratiques
  • 9.
  • 10.
    Plateforme Agile /Du besoin au produit! Product Release Besoin Thèmes Backlog Backlog Anomalies, évolutions Produit Iteration Produit Taches partiel Backlog
  • 11.
    Plateforme Agile /Pratiques types! Ò  Définition de la vision et de la roadmap Ò  Création du « Product Backlog » Ò  Formalisation du « Release plan » Ò  Déroulement des itérations Ò  Intégration continue Ò  Gestion des changements
  • 12.
  • 13.
    Plateforme Agile /Outils métiers! Métier Communication Gestion de projet Gestion de configuration Développement Intégration Test
  • 14.
    Plateforme Agile /Outils agiles! Agile Natifs Propriétaire : •  Version One •  Rally Open source : •  iceScrum Non - natifs Propriétaire : •  Jira + GreenHopper Open source : •  Trac + Agilo
  • 15.
    Plateforme Agile /Entités agiles! Feature Project Product Backlog Story Release Release Backlog Defect Iteration Iteration Backlog Task Projet Produit
  • 16.
    Plateforme Agile /Métiers agiles! Projet Gestion de Communication projet (SCRUM) Test (Auto) Produit Gestion de Intégration configuration (continue) Développement (TDD, TDR, Peer…)
  • 17.
  • 18.
    Plateforme Agile /Pratiques représentatives! Ò  Création du Product Backlog Ò  Déroulement d’itération Ò  Intégration continue Product Besoin Itération Livrables Backlog Intégration Prototype continue
  • 19.
    Plateforme Agile /Création du Product Backlog! PO Team Communication Gestion de projet agile Besoin Analyse + Ateliers Compte-rendu Publication Ateliers Fonc & Tech Features / Stories priorisées Création PB Product Backlog Publication
  • 20.
    Plateforme Agile /Déroulement d’itération! PO Gestion de projet Développement Gestion de Communication Team agile configuration PB Sélection Stories Création/Estimation tâches SB Développement + TU Code + TU Intégration Temps continue passé Mise à jour tâches Revue Démonstration Rétrospective Bilan + Rapports + Améliorations Publication Binaire Packaging + Livraison
  • 21.
    Plateforme Agile /Intégration continue! Gestion de Team configuration Intégration continue Test Code + TU Partage du code Code + TU On commit: Build + TU Lancement des TU Exécution des TU Rapports de TU Rapports de TU Nightly commit: Build + TU Lancement des Verif & Tests Exécution TU + Analyse code + Rapports de Verif & Tests Rapports de Verif & Tests Couverture code + Test fonc auto
  • 22.
    Plateforme Agile /Passage aux outils métiers ! Ò  Exemple: consolidation sur l’outil d’intégration continue •  Liste de fonctionnalités identifiées •  On commit (Jenkins) •  Nightly commit (Jenkins) •  Liste des interfaces avec d’autres outils •  Test unitaires (JUnit) •  Analyseur statique (Sonar) et dynamique de code (JProfiler) •  Test fonctionnel automatique (Fitnesse) Ò  Les outils d’intégration continue et de tests sont essentiels à la plateforme agile
  • 23.
  • 24.
    Plateforme Agile /Exemple de plateforme agile! Outil Type Métier Confluence Wiki Communication Jira + GreenHopper Tracking + Reporting Gestion de projet agile agile Jenkins Intégration continue Intégration continue Sonar Analyse de code Test (Vérif) JUnit Test unitaire Test Eclipse Développement Développement SVN Gestion de sources Configuration Démonstration: plateforme Agile Valtech
  • 25.
  • 26.
    Plateforme Agile /Conclusion! Une plateforme agile idéale ? Ò  Des outils adaptés au projet agile Ò  Une combinaison possible d’outils agiles et non agiles Ò  Des outils disponibles pour chaque pratique Ò  Des outils au service de l’équipe et non imposés Ò  Des outils qui s’intègrent facilement Ò  Des outils qui servent les principes agiles