SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Ingénierie agile,
        outils et bonnes pratiques :
    n'oubliez pas vos développeurs !
                Xavier NOPRE – 08/11/2012



1
Qui suis-je ?
       Xavier NOPRE :
           Développeur logiciel Java & Web passionné depuis ~ 20 ans
           Pratique et partage l’agilité depuis 2007
       Indépendant. Missions :
           Développements sur mesure et accompagnement de projet
               En mode agile
           Coaching en agilité, Scrum, et ingénierie agile




                @xnopre                      xnopre.blogspot.com


    2                      Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Et vous ?
       Agilité : novice ou expert ?
        1.    Je découvre, je n'y connais rien
        2.    Je connais les bases, je ne pratique pas encore
        3.    Je pratique un peu
        4.    Je pratique régulièrement (ex: un des rôles de Scrum)
        5.    Je maitrise, j'explique, je forme et accompagne

       Profils :
            Développeur
            Manager
            Formateur / coach
            Autre ?

    3                    Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Au programme

       Moi :                                                                        (diapos)
           Introduction                                                                     3
           Rappels sur l'agilité                                                            6
           Mise en situation et suivi des étapes
               Exploration des outillages et méthodes                                     17



       Nous :
           Echanges autour de questions/réponses


    4                   Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Pourquoi cette session ?

       Issue de :
           Vécu personnel en tant que développeur
           Retour d'observations en tant que consultant
           Réflexions personnelles et échanges divers

                la technique est négligée dans les transitions agiles


       Contexte évoqué :
           Secteur du développement logiciel
           Ecosystème Java

    5                       Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Mes objectifs du jour
       Mettre en garde
       Pointer les difficultés (actuelles ou à venir)
       Lister une dizaine d'outils et pratiques
       Répondre à des attentes comme :
           "Je veux me lancer avec un maximum de chances"
           "Je sens que l'agilité ne fonctionne pas mais pourquoi ?"
           "C'est quoi TU, TDD, IoC, CI, … ?"
           "Comment tout cela peut-il s'articuler ?"
           "Par quoi je commence ?"
           "Combien ça coûte ?"


    7                    Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Ingénierie agile : késako ?
       "Ensemble de pratiques et d'outillages du génie logiciel
        permettant de faire du développement agile" (XN)

           Tout ce qui est lié à la technique et aux pratiques :

               Tests unitaires
               TDD
               Intégration continue
               Industrialisation
               …




    8                      Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Situation
       Contexte :
           Nouveau projet et migration à l'agilité


       Scrum est en place :
            Choix des acteurs PO et SM
            Formations et coaching
            Equipe stable et informée
            Supports : backlogs, scrum board, …
            Cérémonies : sprint planning, revue, démo, rétro

                        Mais … ça ne marche pas ! 

    9                    Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Analyse
    L'agilité : facile à comprendre, difficile à mettre en œuvre
    Scrum : n'est pas une "méthode" mais un cadre à adapter
    Très nombreuses raisons d'échec :
        Méthode trop adaptée = éloignement des valeurs et principes
        Manque d'informations (équipe et autour)
        Facteur humain
        Aspects techniques !


                    Gestion "agile" de projet : OK
                         Ingénierie agile ? …

    10               Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Rappels > Cycle Scrum

               Carnet           Carnet
              de produit       d'itération
     Vision
                                                            Itération
                                                         2 à 4 semaines

                                                                                     Produit partiel
                                                   1 jour                           Potentiellement
                                                                                        utilisable




11                    Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Rappels > Cycle Scrum
     • Méthodes séquentielle classique :

            Specs            Archi                    Développements                             Tests
                                                BDD           Serveur           IHM
                                                                                                             Temps
     • Scrum :
            Sprint 1               Sprint 2                 Sprint 3                 Sprint 4
         Specs                 Specs                   Specs                   Specs
         Archi                 Archi                   Archi                   Archi
              t                      t                        t                        t               ...
         Dév                   Dév                     Dév                     Dév

         Tests                 Tests                   Tests                   Tests




                                                                                                             Temps

12                     Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Rappels > Itératif et incrémental




         http://www.infoq.com/news/2008/01/iterating-and-incrementing




13        Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Feuille de route
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
                                                                      Effort
14       Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
1/10
      "Equipe" = Travail collaboratif :
          Equipe pluri-disciplinaire
          Le code appartient à tous
          Partage du code
          Gestion centralisée
          Suivi des versions
                     Partage des sources                                               *****

      Logiciel de gestion de version (Version Control System) :
          Subversion (SVN), ClearCase, CVS, …
          Git, Mercurial, …


     15                Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
2/10
      Code communs et partagé :
          Ecrit par les uns, lus par les autres
          Modifié par tous

                         Règles communes                                                 *****

      Règles communes de codage :
          Ecriture du code
          Formatage des sources
          Normes de nommages
          Outillage  Sonar


     16                 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Feuille de route
         Gestion de versions (SNV)                                *****
         Règles communes                                          *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
                                                                      Effort
17       Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
3/10
      Travail itératif :
          Déploiement pour tests intégration et fonctionnels
          Packaging et livraisons fréquentes

                             Industrialisation                                               *****

      Outil de build pour industrialiser et automatiser :
          Ant + Ivy
          Maven :
              Gestion précise des dépendances et des versions
              Cycle de production intrinsèque
              Nombreux plugins
              Intégration IDE et autre outils

     18                   Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
4/10
      Industrialisation et dépendances :
          "Artifacts" : livrables identifiés (groupId + artifactId + version)
          "repositories" : dépôts pour récupérer et déposer des livrables

                Artifacts et repositories                                                    *****

      Gestionnaire de repositories :
          Artifactory, Nexus, Archiva
          Intérêts d'un dépôt interne :
              Proxy des dépôts publics internet
              Deploiement (Maven) de ses propres artifacts
              "Mavenisation" de livrables "non Maven"


     19                   Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Feuille de route
         Gestion de versions (SNV)                                *****
         Règles communes                                          *****
         Industrialisation (Maven)                                *****
         Repositories (Artifactory)                               *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
                                                                      Effort
20       Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Précisions
    Développement "itératif" et "incrémental" :
        Développement "minimum" :
            Satisfaire les histoires de l'itération courante
            Prendre en compte la "vision" à long terme
            Suivre l'architecture "grande échelle" (modules, composants)
            Mais pas d'anticipations sur les besoins futurs
        Développements suivants :
            Satisfaire les histoires de la nouvelle itération
            Modifier le code existant pour qu'il puisse recevoir les nouveautés
            Implémenter les nouvelles fonctionnalités
             Refactoring …

    21                   Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
5/10
      Besoin de remanier son code (refactoring) :
          Renommages
          Extraction de méthodes, de classes
          Suppression de variables locales, de codes inutiles, …
      Prendre le moins de risque possibles …
                                               IDE                                      *****

      Un "bon" outil d'édition (IDE) :
          Eclipse, NetBeans, MS Visual Studio, IntelliJ IDEA, …
          Doit convenir à l'ensemble de l'équipe et correspondre aux
           besoins
          Doit être bien configuré, pour tous les membres de l'équipe

     22                Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Feuille de route
         Gestion de versions (SNV)                                *****
         Règles communes                                          *****
         Industrialisation (Maven)                                *****
         Repositories (Artifactory)                               *****
         IDE (Eclipse)                                            *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
         ?                                                        *****
                                                                      Effort
23       Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
6/10
      Refactoring :
          Ne pas casser l'existant , éviter les régressions
      Nouvelles fonctionnalités :
          Etre sûr de répondre au besoin
      Productivité et qualité :
          Tester rapidement des situations aux limites
                               Test unitaires                                            *****

      Tests unitaires :
          Faire les "bons" tests
          Penser ROI !
          Voir les tests d'intégration et tests fonctionnels
     24                 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
7/10
      Tests unitaires :
          "Impossible sur mon code"
          Architecture et conception adaptée

                               Code testable                                            *****

      Code testable :
          Principe "1 classe 1 rôle"  architecture très découpée
          Couplage lâche
          Injection de dépendances (outils ou manuelle)
          Interfaces & Mocks



     25                Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
8/10
      Tests unitaires : c'est dur !
          Mon code n'est pas testable
          Je ne sais pas comment tester

                                               TDD                                       *****

      TDD = "Test Driven Development"
          Principe = Ecrire les tests avant tout code de production
           ("Tests first")
          Plus facile d'écrire les tests avant que après le code de prod
          Permet de valider la compréhension du besoin
          Guide vers un code forcément "testable"

     26                 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Feuille de route
         Gestion de versions (SNV)                                *****
         Règles communes                                          *****
         Industrialisation (Maven)                                *****
         Repositories (Artifactory)                               *****
         IDE (Eclipse)                                            *****
         Tests unitaires                                          *****
         Code testable                                            *****
         TDD                                                      *****
         ?                                                        *****
         ?                                                        *****
                                                                      Effort
27       Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
9/10
      Les retours :
          "Tout ça n'est pas facile"
          "Par où commencer ?"
          "J'ai un bon exemple mais …"
                           Pair-programming                                                *****

      Pair-programming :
          Principe : 2 développeurs devant 1 poste de travail
          Apports :
              Entraide, cohésion d'équipe
              Partage de connaissances, transferts de compétences
              Gain de productivité, qualité, meilleures solutions
          A bon escient, un peu chaque jour

     28                   Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
10/10
     Constats et situations :
         Chaque développeur oublie de rejouer tous les tests unitaires
          avant son commit : investissement  autant les jouer souvent
         Mon Product Owner veut un logiciel disponible très souvent
         Les intégrateurs me demandent d'automatiser le déploiement
          en prod
                     Intégration continue * * * * *

     Intégration continue :
         Outils : Jenkins, Hudson, CruiseControl, Continuum, …
         Usages :
             Build (compile et tests) toutes les 15'
             Build complet nocturne
             Autres opérations sur déclenchements manuels
     29                  Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Feuille de route
         Gestion de versions (SNV)                                *****
         Règles communes                                          *****
         Industrialisation (Maven)                                *****
         Repositories (Artifactory)                               *****
         IDE (Eclipse)                                            *****
         Tests unitaires                                          *****
         Code testable                                            *****
         TDD                                                      *****
         Pair-programming                                         *****
         Intégration continue                                     *****
                                                                      Effort
30       Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Conclusion
    Agilité
        = révolution culturelle de l'entreprise
        = changements des rôles et de l'organisation
        = changements des habitudes et des relations

        Mais = aussi changements des pratiques et outillages techniques


                 N'oubliez pas vos développeurs ! 




    31               Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
En résumé (technique)
Thème                                                 Conseil

Pratiques :
Règles communes, pair-programming,                    Simple  Ne pas hésiter !
coding-dojo, temps libre, …


Outillage :
IDE correct, configuré et maitrisé,
                                            Bon ROI  Investir
gestionnaire de sources, industrialisation,
intégration continue, …

Tests :
                                                      Indispensable mais nécessite temps,
Unitaires, TDD, code testable, code
                                                      patience, formation, accompagnement
propre, architecture évolutive, …
  32                 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
Questions ?!



33   Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE

Weitere ähnliche Inhalte

Was ist angesagt?

Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)Guillaume Saint Etienne
 
Appréhender son premier Design Sprint
Appréhender son premier Design SprintAppréhender son premier Design Sprint
Appréhender son premier Design SprintSebastien Bonneval
 
E2 - Vision : un sacré attracteur pour une équipe autoorganisée
E2 - Vision : un sacré attracteur pour une équipe autoorganiséeE2 - Vision : un sacré attracteur pour une équipe autoorganisée
E2 - Vision : un sacré attracteur pour une équipe autoorganiséeXP Day CH
 
Scrum, comment tomber dans le panneau
Scrum, comment tomber dans le panneauScrum, comment tomber dans le panneau
Scrum, comment tomber dans le panneauRomain Couturier
 
soft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Agile qu'es aco : scrum xp leansoft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Agile qu'es aco : scrum xp leansoft-shake.ch
 
Quel chemin vers l'agilité ?
Quel chemin vers l'agilité ?Quel chemin vers l'agilité ?
Quel chemin vers l'agilité ?thierrycros
 
Agile tour bordeaux 2010 espace agoractif cr agoraction
Agile tour bordeaux 2010 espace agoractif cr agoractionAgile tour bordeaux 2010 espace agoractif cr agoraction
Agile tour bordeaux 2010 espace agoractif cr agoractionLuc Bizeul
 
JCertif 2012 : Scrum avec Icescrum
JCertif 2012 : Scrum avec IcescrumJCertif 2012 : Scrum avec Icescrum
JCertif 2012 : Scrum avec IcescrumRossi Oddet
 
Introduction à l'agilité
Introduction à l'agilitéIntroduction à l'agilité
Introduction à l'agilitéRomain Couturier
 
Présentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnPrésentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnGautier Pialat
 
Ecrire de bonnes user stories - en 5 minutes - scrum wine v1.0
Ecrire de bonnes user stories - en 5 minutes -  scrum wine v1.0Ecrire de bonnes user stories - en 5 minutes -  scrum wine v1.0
Ecrire de bonnes user stories - en 5 minutes - scrum wine v1.0Olivier Patou
 
Estimation et planification Agile
Estimation et planification AgileEstimation et planification Agile
Estimation et planification AgileYannick Quenec'hdu
 

Was ist angesagt? (13)

Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)Crise agile chez les développeurs (frug agile 2020)
Crise agile chez les développeurs (frug agile 2020)
 
Appréhender son premier Design Sprint
Appréhender son premier Design SprintAppréhender son premier Design Sprint
Appréhender son premier Design Sprint
 
Méthodes agiles & Scrum
Méthodes agiles & ScrumMéthodes agiles & Scrum
Méthodes agiles & Scrum
 
E2 - Vision : un sacré attracteur pour une équipe autoorganisée
E2 - Vision : un sacré attracteur pour une équipe autoorganiséeE2 - Vision : un sacré attracteur pour une équipe autoorganisée
E2 - Vision : un sacré attracteur pour une équipe autoorganisée
 
Scrum, comment tomber dans le panneau
Scrum, comment tomber dans le panneauScrum, comment tomber dans le panneau
Scrum, comment tomber dans le panneau
 
soft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Agile qu'es aco : scrum xp leansoft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Agile qu'es aco : scrum xp lean
 
Quel chemin vers l'agilité ?
Quel chemin vers l'agilité ?Quel chemin vers l'agilité ?
Quel chemin vers l'agilité ?
 
Agile tour bordeaux 2010 espace agoractif cr agoraction
Agile tour bordeaux 2010 espace agoractif cr agoractionAgile tour bordeaux 2010 espace agoractif cr agoraction
Agile tour bordeaux 2010 espace agoractif cr agoraction
 
JCertif 2012 : Scrum avec Icescrum
JCertif 2012 : Scrum avec IcescrumJCertif 2012 : Scrum avec Icescrum
JCertif 2012 : Scrum avec Icescrum
 
Introduction à l'agilité
Introduction à l'agilitéIntroduction à l'agilité
Introduction à l'agilité
 
Présentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarnPrésentation scrum pour cours leeaarn
Présentation scrum pour cours leeaarn
 
Ecrire de bonnes user stories - en 5 minutes - scrum wine v1.0
Ecrire de bonnes user stories - en 5 minutes -  scrum wine v1.0Ecrire de bonnes user stories - en 5 minutes -  scrum wine v1.0
Ecrire de bonnes user stories - en 5 minutes - scrum wine v1.0
 
Estimation et planification Agile
Estimation et planification AgileEstimation et planification Agile
Estimation et planification Agile
 

Andere mochten auch

PROPUESTA DE SOLUCION
PROPUESTA DE SOLUCIONPROPUESTA DE SOLUCION
PROPUESTA DE SOLUCIONyuyuita
 
Sesión 2 de octubre
Sesión 2 de octubreSesión 2 de octubre
Sesión 2 de octubreUSET
 
Tilkee - Pitch atelier gestion 2.0 mars 2015
Tilkee - Pitch atelier gestion 2.0 mars 2015Tilkee - Pitch atelier gestion 2.0 mars 2015
Tilkee - Pitch atelier gestion 2.0 mars 2015Sylvain Tillon
 
Découvrez le vrai visage du Québec - 11 Mai 2009
Découvrez le vrai visage du Québec - 11 Mai 2009Découvrez le vrai visage du Québec - 11 Mai 2009
Découvrez le vrai visage du Québec - 11 Mai 2009Hebdos Quebec
 
Regiones Geograficas Del Peru
Regiones Geograficas Del PeruRegiones Geograficas Del Peru
Regiones Geograficas Del Peruincamedia
 
Wirtschaftlichkeit von Elektromobilität in gewerblichen Anwendungen
Wirtschaftlichkeit von Elektromobilität in gewerblichen AnwendungenWirtschaftlichkeit von Elektromobilität in gewerblichen Anwendungen
Wirtschaftlichkeit von Elektromobilität in gewerblichen AnwendungenOeko-Institut
 
Quand les médias sociaux ...
Quand les médias sociaux ...Quand les médias sociaux ...
Quand les médias sociaux ...Sebastien Stasse
 
Qué existe y qué no...
Qué existe y qué no...Qué existe y qué no...
Qué existe y qué no...Celeste Box
 
Correction Controle 09 10
Correction Controle 09 10Correction Controle 09 10
Correction Controle 09 10SCHUTZ
 
La Boîte à Images - Dossier de Presse
La Boîte à Images - Dossier de PresseLa Boîte à Images - Dossier de Presse
La Boîte à Images - Dossier de PresseChristophe Delire
 
Das Modell zur Destinationsloyalität nach Yoon und Uysal
Das Modell zur Destinationsloyalität nach Yoon und UysalDas Modell zur Destinationsloyalität nach Yoon und Uysal
Das Modell zur Destinationsloyalität nach Yoon und Uysalmelsen
 

Andere mochten auch (20)

+El Hijo Mensaje
+El Hijo Mensaje+El Hijo Mensaje
+El Hijo Mensaje
 
PresentacióN2
PresentacióN2PresentacióN2
PresentacióN2
 
PROPUESTA DE SOLUCION
PROPUESTA DE SOLUCIONPROPUESTA DE SOLUCION
PROPUESTA DE SOLUCION
 
Virgile A.
Virgile A.Virgile A.
Virgile A.
 
Yotedeseo
YotedeseoYotedeseo
Yotedeseo
 
Acuarelas
AcuarelasAcuarelas
Acuarelas
 
Sesión 2 de octubre
Sesión 2 de octubreSesión 2 de octubre
Sesión 2 de octubre
 
Propuesta de investigación
Propuesta de investigaciónPropuesta de investigación
Propuesta de investigación
 
Tilkee - Pitch atelier gestion 2.0 mars 2015
Tilkee - Pitch atelier gestion 2.0 mars 2015Tilkee - Pitch atelier gestion 2.0 mars 2015
Tilkee - Pitch atelier gestion 2.0 mars 2015
 
Computacion Movil Inalambrica
Computacion Movil InalambricaComputacion Movil Inalambrica
Computacion Movil Inalambrica
 
Découvrez le vrai visage du Québec - 11 Mai 2009
Découvrez le vrai visage du Québec - 11 Mai 2009Découvrez le vrai visage du Québec - 11 Mai 2009
Découvrez le vrai visage du Québec - 11 Mai 2009
 
Regiones Geograficas Del Peru
Regiones Geograficas Del PeruRegiones Geograficas Del Peru
Regiones Geograficas Del Peru
 
Wirtschaftlichkeit von Elektromobilität in gewerblichen Anwendungen
Wirtschaftlichkeit von Elektromobilität in gewerblichen AnwendungenWirtschaftlichkeit von Elektromobilität in gewerblichen Anwendungen
Wirtschaftlichkeit von Elektromobilität in gewerblichen Anwendungen
 
Plani tercero medio
Plani tercero medioPlani tercero medio
Plani tercero medio
 
Mecatronica
MecatronicaMecatronica
Mecatronica
 
Quand les médias sociaux ...
Quand les médias sociaux ...Quand les médias sociaux ...
Quand les médias sociaux ...
 
Qué existe y qué no...
Qué existe y qué no...Qué existe y qué no...
Qué existe y qué no...
 
Correction Controle 09 10
Correction Controle 09 10Correction Controle 09 10
Correction Controle 09 10
 
La Boîte à Images - Dossier de Presse
La Boîte à Images - Dossier de PresseLa Boîte à Images - Dossier de Presse
La Boîte à Images - Dossier de Presse
 
Das Modell zur Destinationsloyalität nach Yoon und Uysal
Das Modell zur Destinationsloyalität nach Yoon und UysalDas Modell zur Destinationsloyalität nach Yoon und Uysal
Das Modell zur Destinationsloyalität nach Yoon und Uysal
 

Ähnlich wie Ingénierie agile : N’oubliez pas vos développeurs

Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.Thierry Gabriel Cros
 
Grosjean Agile User Experience XP DAY France 2009
Grosjean Agile User Experience XP DAY France 2009Grosjean Agile User Experience XP DAY France 2009
Grosjean Agile User Experience XP DAY France 2009Jean Claude GROSJEAN
 
Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...
Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...
Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...Association Agile Nantes
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011agnes_crepet
 
Grille de lecture des méthodes agiles
Grille de lecture des méthodes agilesGrille de lecture des méthodes agiles
Grille de lecture des méthodes agilesXavier Warzee
 
SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011Christophe NEY
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileLaurent Deséchalliers
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileNormandy JUG
 
Le métier de Product Owner
Le métier de Product OwnerLe métier de Product Owner
Le métier de Product OwnerFlorent Boyer
 
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourSoftware Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourJean-Laurent de Morlhon
 
Le rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertLe rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertPyxis Technologies
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmseagnes_crepet
 
2009 scrum&xp
2009 scrum&xp2009 scrum&xp
2009 scrum&xpdecsdeco
 
Ergonomie et Accessibilité sont dans un bateau : comment ramer dans la même d...
Ergonomie et Accessibilité sont dans un bateau : comment ramer dans la même d...Ergonomie et Accessibilité sont dans un bateau : comment ramer dans la même d...
Ergonomie et Accessibilité sont dans un bateau : comment ramer dans la même d...Flupa
 
Methodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XPMethodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XPNicolas Perriault
 
Introduction à l'agilité iut lyon 1 sept2013
Introduction à l'agilité   iut lyon 1 sept2013Introduction à l'agilité   iut lyon 1 sept2013
Introduction à l'agilité iut lyon 1 sept2013agnes_crepet
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Microsoft
 

Ähnlich wie Ingénierie agile : N’oubliez pas vos développeurs (20)

Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
Agile 2014 : du Manifeste en 2001 à une définition actualisée de l'agilité.
 
Grosjean Agile User Experience XP DAY France 2009
Grosjean Agile User Experience XP DAY France 2009Grosjean Agile User Experience XP DAY France 2009
Grosjean Agile User Experience XP DAY France 2009
 
Software Craftsmanship: En pratique
Software Craftsmanship: En pratiqueSoftware Craftsmanship: En pratique
Software Craftsmanship: En pratique
 
Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...
Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...
Agile Tour Nantes 2011 - Rémy génin - retours d'expérience sur 4 ans d'agilit...
 
Introduction aux méthodes agiles
Introduction aux méthodes agilesIntroduction aux méthodes agiles
Introduction aux méthodes agiles
 
Novencia agile
Novencia agileNovencia agile
Novencia agile
 
Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011Introduction a l_agilite_iut_lyon_1_decembre2011
Introduction a l_agilite_iut_lyon_1_decembre2011
 
Grille de lecture des méthodes agiles
Grille de lecture des méthodes agilesGrille de lecture des méthodes agiles
Grille de lecture des méthodes agiles
 
SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011SCRUM et KANBAN - Agile Grenoble 2011
SCRUM et KANBAN - Agile Grenoble 2011
 
Agile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agileAgile Tour 2010 - Mise en place d'un projet agile
Agile Tour 2010 - Mise en place d'un projet agile
 
AT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet AgileAT2010 Mise place d'un projet Agile
AT2010 Mise place d'un projet Agile
 
Le métier de Product Owner
Le métier de Product OwnerLe métier de Product Owner
Le métier de Product Owner
 
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourSoftware Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
 
Le rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu BoisvertLe rôle de l’architecte Agile - Mathieu Boisvert
Le rôle de l’architecte Agile - Mathieu Boisvert
 
Introduction à l'agilité ensmse
Introduction à l'agilité   ensmseIntroduction à l'agilité   ensmse
Introduction à l'agilité ensmse
 
2009 scrum&xp
2009 scrum&xp2009 scrum&xp
2009 scrum&xp
 
Ergonomie et Accessibilité sont dans un bateau : comment ramer dans la même d...
Ergonomie et Accessibilité sont dans un bateau : comment ramer dans la même d...Ergonomie et Accessibilité sont dans un bateau : comment ramer dans la même d...
Ergonomie et Accessibilité sont dans un bateau : comment ramer dans la même d...
 
Methodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XPMethodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XP
 
Introduction à l'agilité iut lyon 1 sept2013
Introduction à l'agilité   iut lyon 1 sept2013Introduction à l'agilité   iut lyon 1 sept2013
Introduction à l'agilité iut lyon 1 sept2013
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012
 

Ingénierie agile : N’oubliez pas vos développeurs

  • 1. Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs ! Xavier NOPRE – 08/11/2012 1
  • 2. Qui suis-je ?  Xavier NOPRE :  Développeur logiciel Java & Web passionné depuis ~ 20 ans  Pratique et partage l’agilité depuis 2007  Indépendant. Missions :  Développements sur mesure et accompagnement de projet  En mode agile  Coaching en agilité, Scrum, et ingénierie agile @xnopre xnopre.blogspot.com 2 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 3. Et vous ?  Agilité : novice ou expert ? 1. Je découvre, je n'y connais rien 2. Je connais les bases, je ne pratique pas encore 3. Je pratique un peu 4. Je pratique régulièrement (ex: un des rôles de Scrum) 5. Je maitrise, j'explique, je forme et accompagne  Profils :  Développeur  Manager  Formateur / coach  Autre ? 3 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 4. Au programme  Moi : (diapos)  Introduction 3  Rappels sur l'agilité 6  Mise en situation et suivi des étapes Exploration des outillages et méthodes 17  Nous :  Echanges autour de questions/réponses 4 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 5. Pourquoi cette session ?  Issue de :  Vécu personnel en tant que développeur  Retour d'observations en tant que consultant  Réflexions personnelles et échanges divers   la technique est négligée dans les transitions agiles  Contexte évoqué :  Secteur du développement logiciel  Ecosystème Java 5 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 6. Mes objectifs du jour  Mettre en garde  Pointer les difficultés (actuelles ou à venir)  Lister une dizaine d'outils et pratiques  Répondre à des attentes comme :  "Je veux me lancer avec un maximum de chances"  "Je sens que l'agilité ne fonctionne pas mais pourquoi ?"  "C'est quoi TU, TDD, IoC, CI, … ?"  "Comment tout cela peut-il s'articuler ?"  "Par quoi je commence ?"  "Combien ça coûte ?" 7 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 7. Ingénierie agile : késako ?  "Ensemble de pratiques et d'outillages du génie logiciel permettant de faire du développement agile" (XN)  Tout ce qui est lié à la technique et aux pratiques :  Tests unitaires  TDD  Intégration continue  Industrialisation  … 8 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 8. Situation  Contexte :  Nouveau projet et migration à l'agilité  Scrum est en place : Choix des acteurs PO et SM Formations et coaching Equipe stable et informée Supports : backlogs, scrum board, … Cérémonies : sprint planning, revue, démo, rétro Mais … ça ne marche pas !  9 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 9. Analyse  L'agilité : facile à comprendre, difficile à mettre en œuvre  Scrum : n'est pas une "méthode" mais un cadre à adapter  Très nombreuses raisons d'échec :  Méthode trop adaptée = éloignement des valeurs et principes  Manque d'informations (équipe et autour)  Facteur humain  Aspects techniques ! Gestion "agile" de projet : OK Ingénierie agile ? … 10 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 10. Rappels > Cycle Scrum Carnet Carnet de produit d'itération Vision Itération 2 à 4 semaines Produit partiel 1 jour Potentiellement utilisable 11 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 11. Rappels > Cycle Scrum • Méthodes séquentielle classique : Specs Archi Développements Tests BDD Serveur IHM Temps • Scrum : Sprint 1 Sprint 2 Sprint 3 Sprint 4  Specs  Specs  Specs  Specs  Archi  Archi  Archi  Archi t t t t ...  Dév  Dév  Dév  Dév  Tests  Tests  Tests  Tests Temps 12 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 12. Rappels > Itératif et incrémental http://www.infoq.com/news/2008/01/iterating-and-incrementing 13 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 13. Feuille de route ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** Effort 14 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 14. 1/10  "Equipe" = Travail collaboratif :  Equipe pluri-disciplinaire  Le code appartient à tous  Partage du code  Gestion centralisée  Suivi des versions Partage des sources *****  Logiciel de gestion de version (Version Control System) :  Subversion (SVN), ClearCase, CVS, …  Git, Mercurial, … 15 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 15. 2/10  Code communs et partagé :  Ecrit par les uns, lus par les autres  Modifié par tous Règles communes *****  Règles communes de codage :  Ecriture du code  Formatage des sources  Normes de nommages  Outillage  Sonar 16 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 16. Feuille de route Gestion de versions (SNV) ***** Règles communes ***** ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** Effort 17 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 17. 3/10  Travail itératif :  Déploiement pour tests intégration et fonctionnels  Packaging et livraisons fréquentes Industrialisation *****  Outil de build pour industrialiser et automatiser :  Ant + Ivy  Maven :  Gestion précise des dépendances et des versions  Cycle de production intrinsèque  Nombreux plugins  Intégration IDE et autre outils 18 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 18. 4/10  Industrialisation et dépendances :  "Artifacts" : livrables identifiés (groupId + artifactId + version)  "repositories" : dépôts pour récupérer et déposer des livrables Artifacts et repositories *****  Gestionnaire de repositories :  Artifactory, Nexus, Archiva  Intérêts d'un dépôt interne :  Proxy des dépôts publics internet  Deploiement (Maven) de ses propres artifacts  "Mavenisation" de livrables "non Maven" 19 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 19. Feuille de route Gestion de versions (SNV) ***** Règles communes ***** Industrialisation (Maven) ***** Repositories (Artifactory) ***** ? ***** ? ***** ? ***** ? ***** ? ***** ? ***** Effort 20 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 20. Précisions  Développement "itératif" et "incrémental" :  Développement "minimum" :  Satisfaire les histoires de l'itération courante  Prendre en compte la "vision" à long terme  Suivre l'architecture "grande échelle" (modules, composants)  Mais pas d'anticipations sur les besoins futurs  Développements suivants :  Satisfaire les histoires de la nouvelle itération  Modifier le code existant pour qu'il puisse recevoir les nouveautés  Implémenter les nouvelles fonctionnalités Refactoring … 21 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 21. 5/10  Besoin de remanier son code (refactoring) :  Renommages  Extraction de méthodes, de classes  Suppression de variables locales, de codes inutiles, …  Prendre le moins de risque possibles … IDE *****  Un "bon" outil d'édition (IDE) :  Eclipse, NetBeans, MS Visual Studio, IntelliJ IDEA, …  Doit convenir à l'ensemble de l'équipe et correspondre aux besoins  Doit être bien configuré, pour tous les membres de l'équipe 22 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 22. Feuille de route Gestion de versions (SNV) ***** Règles communes ***** Industrialisation (Maven) ***** Repositories (Artifactory) ***** IDE (Eclipse) ***** ? ***** ? ***** ? ***** ? ***** ? ***** Effort 23 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 23. 6/10  Refactoring :  Ne pas casser l'existant , éviter les régressions  Nouvelles fonctionnalités :  Etre sûr de répondre au besoin  Productivité et qualité :  Tester rapidement des situations aux limites Test unitaires *****  Tests unitaires :  Faire les "bons" tests  Penser ROI !  Voir les tests d'intégration et tests fonctionnels 24 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 24. 7/10  Tests unitaires :  "Impossible sur mon code"  Architecture et conception adaptée Code testable *****  Code testable :  Principe "1 classe 1 rôle"  architecture très découpée  Couplage lâche  Injection de dépendances (outils ou manuelle)  Interfaces & Mocks 25 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 25. 8/10  Tests unitaires : c'est dur !  Mon code n'est pas testable  Je ne sais pas comment tester TDD *****  TDD = "Test Driven Development"  Principe = Ecrire les tests avant tout code de production ("Tests first")  Plus facile d'écrire les tests avant que après le code de prod  Permet de valider la compréhension du besoin  Guide vers un code forcément "testable" 26 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 26. Feuille de route Gestion de versions (SNV) ***** Règles communes ***** Industrialisation (Maven) ***** Repositories (Artifactory) ***** IDE (Eclipse) ***** Tests unitaires ***** Code testable ***** TDD ***** ? ***** ? ***** Effort 27 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 27. 9/10  Les retours :  "Tout ça n'est pas facile"  "Par où commencer ?"  "J'ai un bon exemple mais …" Pair-programming *****  Pair-programming :  Principe : 2 développeurs devant 1 poste de travail  Apports :  Entraide, cohésion d'équipe  Partage de connaissances, transferts de compétences  Gain de productivité, qualité, meilleures solutions  A bon escient, un peu chaque jour 28 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 28. 10/10  Constats et situations :  Chaque développeur oublie de rejouer tous les tests unitaires avant son commit : investissement  autant les jouer souvent  Mon Product Owner veut un logiciel disponible très souvent  Les intégrateurs me demandent d'automatiser le déploiement en prod Intégration continue * * * * *  Intégration continue :  Outils : Jenkins, Hudson, CruiseControl, Continuum, …  Usages :  Build (compile et tests) toutes les 15'  Build complet nocturne  Autres opérations sur déclenchements manuels 29 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 29. Feuille de route Gestion de versions (SNV) ***** Règles communes ***** Industrialisation (Maven) ***** Repositories (Artifactory) ***** IDE (Eclipse) ***** Tests unitaires ***** Code testable ***** TDD ***** Pair-programming ***** Intégration continue ***** Effort 30 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 30. Conclusion  Agilité  = révolution culturelle de l'entreprise  = changements des rôles et de l'organisation  = changements des habitudes et des relations  Mais = aussi changements des pratiques et outillages techniques  N'oubliez pas vos développeurs !  31 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 31. En résumé (technique) Thème Conseil Pratiques : Règles communes, pair-programming, Simple  Ne pas hésiter ! coding-dojo, temps libre, … Outillage : IDE correct, configuré et maitrisé, Bon ROI  Investir gestionnaire de sources, industrialisation, intégration continue, … Tests : Indispensable mais nécessite temps, Unitaires, TDD, code testable, code patience, formation, accompagnement propre, architecture évolutive, … 32 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE
  • 32. Questions ?! 33 Ingénierie agile, outils et bonnes pratiques : n'oubliez pas vos développeurs - Xavier NOPRE