SlideShare ist ein Scribd-Unternehmen logo
1 von 48
XP et les projets en crise
Antoine Contal                      Régis Medina
                        http://www.design-up.com
Au menu

1. Symptômes
2. Mythes et légendes
3. Points de (dé)blocage
   -   Pilotage

   -   Bugs

   -   Code

   -   Equipe
1. Symptômes
2. Mythes et légendes
3. Points de (dé)blocage
“Nous aurons un peu de retard...”
Une progression laborieuse
Des relations tendues
    avec le client
“Plus le temps
de faire propre”
Des évolutions risquées
Une architecture baroque
TO
                                                de commentee,                       DO
                             re une ligne de co
                        enco
     ROGNNNTUDJJUUUUUU!                                                         ava : n
//                       ..
     sans commentaire ..                                                            nt etto
                                                                            (dè
                               ne rien KC...
//
          restons calme, zen,                                                   sq            ye
                                                                                       la
                                            ) est appelee
     mais
//                       car resynchronise(                                        u’o pré r ce
     je laisse comme ca
//
                                                                                      n a sen        s
     20 lignes +bas
                                                                                                 tat lide
//
                                                                                          ura
                                                                                              le t ion
                                                                                                  em
                                                     Duplication
                                                                                                     ps)
// context ne contient pas l'attribut ExternalTime, alors la, c'est desesperant ...



                                                                Code mort
                              /**
                                * Returns the name
                                *
                                * @return String the name
                                * @author J. Smith
                                */
                                                                   Commentaires absurdes
                              public String getName() {
                                    // TODO: fixme
                                 // if (name == null) {
                                 //
                                 // return toString(
      Couplage fort              //
                                 return name;
                                                                   duplication
                              }



n c ode chaotique
                       // l'aspirine est dans l'armoire de l'infirmerie a l'entree du site (sur la droite)
Des développeurs démotivés
Et chez vous ?
1. Symptômes
2. Mythes et légendes
3. Points de (dé)blocage
L’évolution linéaire



                       Complexité




  Taille du projet
La
spécification
  complète
   et figée
L’architecture préétablie
L’usine à logiciel
L’équipe modulaire
Le développeur solitaire
Le développeur
 investigateur
1. Symptômes
2. Mythes et légendes
3. Points de (dé)blocage
4 points d’action

      Pilotage

       Bugs

       Code

      Equipe
Pilotage

 Bugs

 Code

Equipe
Pilotage : principes
                                   Pratiques XP
                                   •   Itérations
    Trop de travail
                                   •   Planning Game
                                   •   Vélocité
                                   •   Stand-up meetings
                      Dispersion
                                   Résultats escomptés
                                   •   Focus
                                   •   Annoncer les retards tôt
Pas de résultats

                                   •   Résistance constructive
                                   •   Mesures
                                   •   Objectifs atteignables
Pilotage : obstacles & pièges

                     “Je veux tout!”



     “On ne peut pas
     être en retard !”
                                   “Encore des
                                   réunions ?”

            “C’est
         impossible à
           estimer”
                              “Il faut plus de
                                  monde”
Pilotage : trucs & astuces

                  Resistance constructive




                      Tous gagnants !



  Développeurs             Clients            Direction




                       (ré)Enclencher
                 l’acquisition de confiance
Pilotage



Questions?
Pilotage

 Bugs

 Code

Equipe
Bugs : principes
                                    Pratiques XP
                                    •   Tests de recette
     Défauts

                                    •   Tests unitaires
                                    •   Travail en binômes
             Peur des régressions
                                    Résultats escomptés
                                    •   Fin des régressions
                                    •   Raccourcir les temps de test
Bidouilles
                                        développeurs
                                    •   Effet ‘revue de code’
Bugs : obstacles & pièges
     “C’est trop coûteux”
                                    “Comment fait-on ?”



“Le code existant est
     intestable”
                                     “Je suis un développeur,
                                          pas un testeur”


 “Il faut les mettre à jour,
         en plus ?”
                                “Il y a toujours
                               autant de bugs”
Bugs : trucs & astuces


Intérêt court terme            Tests “scénarios autoroute”




   Gérer les attentes         Binômage / experts



                Anticiper le poids des
                  tests eux-mêmes
Bugs



Questions?
Pilotage

 Bugs

 Code

Equipe
Code : principes
                                 Pratiques XP
                                  •   Remaniement
 Code spaghetti
                                  •   Conception simple
                                  •   Responsabilité collective
                                  •   Binômage
               Impacts des
                                  •
             modifications non        Règles de codage
                maîtrisés
                                  •   Tests
                                 Résultats escomptés

                                  •
Bidouilles
                                      Moins de duplication
                                  •   Cure d’amaigrissement
                                  •   Pas de complexité inutile
                                  •   Augmentation de vélocité
Code : obstacles & pièges

         “Pas le moment d'être
           perfectionnistes”


                                      “C’est trop tard,
                                   il faut tout réécrire”

  “J’avais fait ça
  parce que...”


                         “Du code propre ? Heu...
                          Ca ressemble à quoi ?”
Code : trucs et astuces

     Code mort & règles de codage



              Nettoyage
             pragmatique


         Discussions de vision
              technique



        Fonctionnalités pilote
Code



Questions?
Pilotage

 Bugs

 Code

Equipe
Equipe : principes
                                     Pratiques XP
                                     •   Stand-up meetings
    Le projet va mal

                                     •   Planning game
                                     •   Rituels / réunions
                                     •   Quick Design Sessions
                 “On ne m’a pas
                consulté / écouté”
                                     •   Responsabilité collective
                                     •   Binômage
“Je fais juste mes
                                     Résultats escomptés
     heures”
                                     •   Implication
                                     •   Motivation
Equipe : obstacles & pièges

            “On n’arrive pas à se
             mettre d’accord”




                               “Je préfère travailler
                                       seul”




    “Je fais ce qu’on me dit
             de faire”
Equipe : trucs & astuces



              Team = Product



Software for Yout Head - Jim & Michele McCarthy
Equipe : obstacles

                                                Results


                                          Accountability


                                           Commitment


                                               Conflict

                                                     Trust

The Five Dysfunctions of a Team - Patrick Lencioni
Equipe



Questions?
Conclusion
Conclusion

  Pilotage

   Bugs

   Code

   Equipe
Conclusion

Il est peut-être trop tard ?



Commencer avant la crise !
Références
The Five Dysfunctions of a Team   Extreme Programming Installed
         Patrick Lencioni                  Ron Jeffries, Ann Anderson,
                                           Chet Hendrickson




Quality Software Management       Gestion de projet Extreme Programming
         Gerald M. Weinberg                JL Bénard, L. Bossavit,
                                           R. Medina, D. Williams




                                           http://www.design-up.com
Merci !

Weitere ähnliche Inhalte

Andere mochten auch

Management de projet agile vs classique pmi atlantic 20120322
Management de projet agile vs classique pmi atlantic 20120322Management de projet agile vs classique pmi atlantic 20120322
Management de projet agile vs classique pmi atlantic 20120322Jean-Luc MAZE
 
Conduite de projets Web, pilotage & Outils
Conduite de projets Web, pilotage & OutilsConduite de projets Web, pilotage & Outils
Conduite de projets Web, pilotage & Outilsstephanie vincent
 
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
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingBilal ZIANE
 

Andere mochten auch (9)

Management de projet agile vs classique pmi atlantic 20120322
Management de projet agile vs classique pmi atlantic 20120322Management de projet agile vs classique pmi atlantic 20120322
Management de projet agile vs classique pmi atlantic 20120322
 
Method XP
Method XP Method XP
Method XP
 
Scrum xp
Scrum xpScrum xp
Scrum xp
 
Conduite de projets Web, pilotage & Outils
Conduite de projets Web, pilotage & OutilsConduite de projets Web, pilotage & Outils
Conduite de projets Web, pilotage & Outils
 
Les différentes phases d’un projet - La phase d’initialisation
Les différentes phases d’un projet - La phase d’initialisationLes différentes phases d’un projet - La phase d’initialisation
Les différentes phases d’un projet - La phase d’initialisation
 
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
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 

Modele Avec Des Images Fortes (Our Copil Projet Id Zone)

  • 1. XP et les projets en crise Antoine Contal Régis Medina http://www.design-up.com
  • 2. Au menu 1. Symptômes 2. Mythes et légendes 3. Points de (dé)blocage - Pilotage - Bugs - Code - Equipe
  • 3. 1. Symptômes 2. Mythes et légendes 3. Points de (dé)blocage
  • 4. “Nous aurons un peu de retard...”
  • 6. Des relations tendues avec le client
  • 7. “Plus le temps de faire propre”
  • 10. TO de commentee, DO re une ligne de co enco ROGNNNTUDJJUUUUUU! ava : n // .. sans commentaire .. nt etto (dè ne rien KC... // restons calme, zen, sq ye la ) est appelee mais // car resynchronise( u’o pré r ce je laisse comme ca // n a sen s 20 lignes +bas tat lide // ura le t ion em Duplication ps) // context ne contient pas l'attribut ExternalTime, alors la, c'est desesperant ... Code mort /** * Returns the name * * @return String the name * @author J. Smith */ Commentaires absurdes public String getName() { // TODO: fixme // if (name == null) { // // return toString( Couplage fort // return name; duplication } n c ode chaotique // l'aspirine est dans l'armoire de l'infirmerie a l'entree du site (sur la droite)
  • 13. 1. Symptômes 2. Mythes et légendes 3. Points de (dé)blocage
  • 14. L’évolution linéaire Complexité Taille du projet
  • 21. 1. Symptômes 2. Mythes et légendes 3. Points de (dé)blocage
  • 22. 4 points d’action Pilotage Bugs Code Equipe
  • 24. Pilotage : principes Pratiques XP • Itérations Trop de travail • Planning Game • Vélocité • Stand-up meetings Dispersion Résultats escomptés • Focus • Annoncer les retards tôt Pas de résultats • Résistance constructive • Mesures • Objectifs atteignables
  • 25. Pilotage : obstacles & pièges “Je veux tout!” “On ne peut pas être en retard !” “Encore des réunions ?” “C’est impossible à estimer” “Il faut plus de monde”
  • 26. Pilotage : trucs & astuces Resistance constructive Tous gagnants ! Développeurs Clients Direction (ré)Enclencher l’acquisition de confiance
  • 29. Bugs : principes Pratiques XP • Tests de recette Défauts • Tests unitaires • Travail en binômes Peur des régressions Résultats escomptés • Fin des régressions • Raccourcir les temps de test Bidouilles développeurs • Effet ‘revue de code’
  • 30. Bugs : obstacles & pièges “C’est trop coûteux” “Comment fait-on ?” “Le code existant est intestable” “Je suis un développeur, pas un testeur” “Il faut les mettre à jour, en plus ?” “Il y a toujours autant de bugs”
  • 31. Bugs : trucs & astuces Intérêt court terme Tests “scénarios autoroute” Gérer les attentes Binômage / experts Anticiper le poids des tests eux-mêmes
  • 34. Code : principes Pratiques XP • Remaniement Code spaghetti • Conception simple • Responsabilité collective • Binômage Impacts des • modifications non Règles de codage maîtrisés • Tests Résultats escomptés • Bidouilles Moins de duplication • Cure d’amaigrissement • Pas de complexité inutile • Augmentation de vélocité
  • 35. Code : obstacles & pièges “Pas le moment d'être perfectionnistes” “C’est trop tard, il faut tout réécrire” “J’avais fait ça parce que...” “Du code propre ? Heu... Ca ressemble à quoi ?”
  • 36. Code : trucs et astuces Code mort & règles de codage Nettoyage pragmatique Discussions de vision technique Fonctionnalités pilote
  • 39. Equipe : principes Pratiques XP • Stand-up meetings Le projet va mal • Planning game • Rituels / réunions • Quick Design Sessions “On ne m’a pas consulté / écouté” • Responsabilité collective • Binômage “Je fais juste mes Résultats escomptés heures” • Implication • Motivation
  • 40. Equipe : obstacles & pièges “On n’arrive pas à se mettre d’accord” “Je préfère travailler seul” “Je fais ce qu’on me dit de faire”
  • 41. Equipe : trucs & astuces Team = Product Software for Yout Head - Jim & Michele McCarthy
  • 42. Equipe : obstacles Results Accountability Commitment Conflict Trust The Five Dysfunctions of a Team - Patrick Lencioni
  • 45. Conclusion Pilotage Bugs Code Equipe
  • 46. Conclusion Il est peut-être trop tard ? Commencer avant la crise !
  • 47. Références The Five Dysfunctions of a Team Extreme Programming Installed Patrick Lencioni Ron Jeffries, Ann Anderson, Chet Hendrickson Quality Software Management Gestion de projet Extreme Programming Gerald M. Weinberg JL Bénard, L. Bossavit, R. Medina, D. Williams http://www.design-up.com