SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
Développements
                            Décentralisés
                             Méthodes et Outils


                                                          sler
                                                     ic Fe axis
                                                  Er
                                                  CTO   Aud

Friday 24 September 2010
Challenges ??
Friday 24 September 2010
1     2       3
                  Vision globale du projet

                           “Quel est le périmètre de la version 1.2 ?”

                           “La fonctionnalité X doit-elle faire partie du
                           core ou faut-il en faire un nouveau
                           module ?”

                           “Dans quelle branche du SVN se trouve la
                           fonctionnalité Y ?”




Friday 24 September 2010
1     2    3
                           Cohésion de l’équipe

                           “Les modifications dans MaClasse sont
                           incompatibles avec les miennes. Que faire ?”

                           “Quand migre-t-on de la librairie Acme-2.0 à
                           Acme-2.5 ?”

                           “Ce point là a-t-il bien été corrigé dans le
                           trunk ?”




Friday 24 September 2010
1    2       3
                                Qualité du code

                           “On a plusieurs classes qui font ‘presque’ la
                           même chose ?”

                           “La manière d’indenter le code est
                           différente”

                           “A-t-on vraiment besoin d’une dépendance
                           vis à vis de la librairie X ?”




Friday 24 September 2010
Friday 24 September 2010
Méthodes
Friday 24 September 2010
Outils




                           Méthodes
Friday 24 September 2010
Les Méthodes



Friday 24 September 2010
1   2   3




                           L’Architecture du
                                 code



Friday 24 September 2010
1   2   3


                                SOA



                           L’Architecture du
                                 code



Friday 24 September 2010
1    2     3


                                SOA    Modularité



                           L’Architecture du
                                 code



Friday 24 September 2010
1    2     3


                                SOA     Modularité



                           L’Architecture du
                                 code
                    Développement par
                         contrats




Friday 24 September 2010
1   2      3


                                SOA      Modularité



                           L’Architecture du
                                 code
                    Développement par
                                        Indépendance
                         contrats




Friday 24 September 2010
1    2   3




                           Code ownership



Friday 24 September 2010
Qui est le gatekeeper ?




Friday 24 September 2010
Un responsable par
                            module
                      Module Manager


Friday 24 September 2010
1   2   3




                Gestion des versions



Friday 24 September 2010
1   2      3




                Gestion des versions
                           Gestion des dépendances




Friday 24 September 2010
1    2     3


                                    Version spécifiques




                Gestion des versions
                           Gestion des dépendances




Friday 24 September 2010
Les Outils

Friday 24 September 2010
1      2   3
                                Communiquer


                           “Qui fait quoi ?”

                           “Pourquoi avoir choisi telle option ?”

                           “Comment interagissent les différents
                           modules”




Friday 24 September 2010
Communiquer dans
                               l’instant




                            Chat / IRC




Friday 24 September 2010
Partager l’information



                   Mailing List   Peu de structure
                                  Beaucoup (trop)
                                  d’informations
                                  Archives



Friday 24 September 2010
Organiser le travail



                           Outil de suivi
                                            Suivi de demandes
                                            Pas uniquement les
                                            bugs
                                            Roadmap
Friday 24 September 2010
Documenter




                           Wiki

        Gérer par la communauté

Friday 24 September 2010
Documenter
                                    Analystes




                           Wiki

        Gérer par la communauté

Friday 24 September 2010
Documenter
                                    Analystes


                                        Développeurs




                           Wiki

        Gérer par la communauté

Friday 24 September 2010
Documenter
                                    Analystes


                                        Développeurs


                                        Architectes


                           Wiki

        Gérer par la communauté

Friday 24 September 2010
Documenter
                                    Analystes


                                        Développeurs


                                        Architectes


                           Wiki     Utilisateurs

        Gérer par la communauté

Friday 24 September 2010
Animer



                                              Annonces
                                              Partager les idées
                           Blog du projet     Fêter les releases




Friday 24 September 2010
1     2     3
                           Partager les sources

                           “Où se trouvent les sources de la version
                           1.x ?”

                           “Avant le patch de mercredi, ça fonctionnait
                           parfaitement”

                           “Quelle est la différence entre la version
                           installée à Paris et celle installée à
                           Singapour ?”



Friday 24 September 2010
Friday 24 September 2010
Gestion des versions
                             avec Subversion




Friday 24 September 2010
Gestion des versions
                             avec Subversion


 trunk




Friday 24 September 2010
Gestion des versions
                             avec Subversion


 trunk




Friday 24 September 2010
Gestion des versions
                             avec Subversion


 trunk

                              freeze




Friday 24 September 2010
Gestion des versions
                             avec Subversion
                                 1.0-alpha

                                             Branch 1.0

 trunk

                              freeze




Friday 24 September 2010
Gestion des versions
                             avec Subversion
                                         1.0-beta
                                 1.0-alpha          1.0

                                                          Branch 1.0

 trunk

                              freeze




Friday 24 September 2010
Gestion des versions
                             avec Subversion
                                         1.0-beta
                                 1.0-alpha           1.0

                                                           Branch 1.0
                                             merge

 trunk

                              freeze




Friday 24 September 2010
Gestion des versions
                             avec Subversion
                                         1.0-beta
                                 1.0-alpha           1.0

                                                              Branch 1.0
                                             merge

 trunk

                                                     freeze
                              freeze




Friday 24 September 2010
Gestion des versions
                             avec Subversion
                                         1.0-beta
                                 1.0-alpha           1.0

                                                               Branch 1.0
                                             merge

 trunk
                                                              1.1-alpha
                                                     freeze
                              freeze
                                                                     Branch 1.1




Friday 24 September 2010
Gestion des versions
                             avec Subversion
                                         1.0-beta
                                 1.0-alpha           1.0   1.0.1

                                                                    Branch 1.0
                                             merge

 trunk
                                                                            1.1-beta
                                                                   1.1-alpha
                                                     freeze
                              freeze
                                                                          Branch 1.1




Friday 24 September 2010
Il faut un gatekeeper
              par branche !!




Friday 24 September 2010
Développements
                                Spécifiques

                           Plugins

                           Nouveau module - extension

                           Nouvelle branche ...




Friday 24 September 2010
Développements
                             Spécifiques

                                      1.0-beta
                              1.0-alpha                1.0.1
                                                 1.0
                                                                Branch 1.0

  trunk
                                                                        1.1-beta
                                                               1.1-alpha


                                                                      Branch 1.1

Friday 24 September 2010
Développements
                             Spécifiques

                                                               Spécifique HK
                                      1.0-beta
                              1.0-alpha                1.0.1
                                                 1.0
                                                                Branch 1.0

  trunk
                                                                        1.1-beta
                                                               1.1-alpha


                                                                      Branch 1.1

Friday 24 September 2010
Développements
                             Spécifiques

                                                               Spécifique HK
                                      1.0-beta           merge
                              1.0-alpha                1.0.1
                                                 1.0
                                                                Branch 1.0

  trunk
                                                                        1.1-beta
                                                               1.1-alpha


                                                                      Branch 1.1

Friday 24 September 2010
OUI !!




Friday 24 September 2010
NON !!
Friday 24 September 2010
1     2   3
                                 Qualité


                           Intégration Continue




Friday 24 September 2010
Intégration Continue
                           =
                           ...

Friday 24 September 2010
Une méthodologie de développement ...

                           ... des contributions journalières des
                           développeurs ...

                           ... contrôlées par des processus de build
                           automatisés




Friday 24 September 2010
Intégration Continue
                           ≠
               Compilation Continue


Friday 24 September 2010
Pourquoi ???



Friday 24 September 2010
Mieux vaut détecter et
   solutionner les bugs pendant le
           développement




                           Source: http://www.agitar.com/solutions/why_unit_testing.html


Friday 24 September 2010
Les étapes
                           Compilation

                           Exécution des tests

                           Intégration avec les bases de données

                           Vérification du code

                           Déploiement automatique

                           Génération de la documentation



Friday 24 September 2010
Pour Démarrer




Friday 24 September 2010
Pour Démarrer


                           Partage des sources




Friday 24 September 2010
Pour Démarrer


                           Partage des sources




                           Outil de suivi de bugs/tâches




Friday 24 September 2010
En résumé




Friday 24 September 2010
En résumé
                           Communication




Friday 24 September 2010
En résumé
                           Communication




                                      Gestion




Friday 24 September 2010
En résumé
                                 Communication




                           Contrôle         Gestion




Friday 24 September 2010
Merci !



Friday 24 September 2010
Crédits Photos

                  • http://www.flickr.com/photos/mckaysavage/497617014/

                  • http://www.flickr.com/photos/bre/552152780/

                  • http://www.flickr.com/photos/aburt/2698122345/

                  • http://www.flickr.com/photos/ronsho/455488392/

                  • http://www.flickr.com/photos/41188800@N00/433218618/




Friday 24 September 2010

Más contenido relacionado

Opensource - Méthodes et outils

  • 1. Développements Décentralisés Méthodes et Outils sler ic Fe axis Er CTO Aud Friday 24 September 2010
  • 2. Challenges ?? Friday 24 September 2010
  • 3. 1 2 3 Vision globale du projet “Quel est le périmètre de la version 1.2 ?” “La fonctionnalité X doit-elle faire partie du core ou faut-il en faire un nouveau module ?” “Dans quelle branche du SVN se trouve la fonctionnalité Y ?” Friday 24 September 2010
  • 4. 1 2 3 Cohésion de l’équipe “Les modifications dans MaClasse sont incompatibles avec les miennes. Que faire ?” “Quand migre-t-on de la librairie Acme-2.0 à Acme-2.5 ?” “Ce point là a-t-il bien été corrigé dans le trunk ?” Friday 24 September 2010
  • 5. 1 2 3 Qualité du code “On a plusieurs classes qui font ‘presque’ la même chose ?” “La manière d’indenter le code est différente” “A-t-on vraiment besoin d’une dépendance vis à vis de la librairie X ?” Friday 24 September 2010
  • 8. Outils Méthodes Friday 24 September 2010
  • 9. Les Méthodes Friday 24 September 2010
  • 10. 1 2 3 L’Architecture du code Friday 24 September 2010
  • 11. 1 2 3 SOA L’Architecture du code Friday 24 September 2010
  • 12. 1 2 3 SOA Modularité L’Architecture du code Friday 24 September 2010
  • 13. 1 2 3 SOA Modularité L’Architecture du code Développement par contrats Friday 24 September 2010
  • 14. 1 2 3 SOA Modularité L’Architecture du code Développement par Indépendance contrats Friday 24 September 2010
  • 15. 1 2 3 Code ownership Friday 24 September 2010
  • 16. Qui est le gatekeeper ? Friday 24 September 2010
  • 17. Un responsable par module Module Manager Friday 24 September 2010
  • 18. 1 2 3 Gestion des versions Friday 24 September 2010
  • 19. 1 2 3 Gestion des versions Gestion des dépendances Friday 24 September 2010
  • 20. 1 2 3 Version spécifiques Gestion des versions Gestion des dépendances Friday 24 September 2010
  • 21. Les Outils Friday 24 September 2010
  • 22. 1 2 3 Communiquer “Qui fait quoi ?” “Pourquoi avoir choisi telle option ?” “Comment interagissent les différents modules” Friday 24 September 2010
  • 23. Communiquer dans l’instant Chat / IRC Friday 24 September 2010
  • 24. Partager l’information Mailing List Peu de structure Beaucoup (trop) d’informations Archives Friday 24 September 2010
  • 25. Organiser le travail Outil de suivi Suivi de demandes Pas uniquement les bugs Roadmap Friday 24 September 2010
  • 26. Documenter Wiki Gérer par la communauté Friday 24 September 2010
  • 27. Documenter Analystes Wiki Gérer par la communauté Friday 24 September 2010
  • 28. Documenter Analystes Développeurs Wiki Gérer par la communauté Friday 24 September 2010
  • 29. Documenter Analystes Développeurs Architectes Wiki Gérer par la communauté Friday 24 September 2010
  • 30. Documenter Analystes Développeurs Architectes Wiki Utilisateurs Gérer par la communauté Friday 24 September 2010
  • 31. Animer Annonces Partager les idées Blog du projet Fêter les releases Friday 24 September 2010
  • 32. 1 2 3 Partager les sources “Où se trouvent les sources de la version 1.x ?” “Avant le patch de mercredi, ça fonctionnait parfaitement” “Quelle est la différence entre la version installée à Paris et celle installée à Singapour ?” Friday 24 September 2010
  • 34. Gestion des versions avec Subversion Friday 24 September 2010
  • 35. Gestion des versions avec Subversion trunk Friday 24 September 2010
  • 36. Gestion des versions avec Subversion trunk Friday 24 September 2010
  • 37. Gestion des versions avec Subversion trunk freeze Friday 24 September 2010
  • 38. Gestion des versions avec Subversion 1.0-alpha Branch 1.0 trunk freeze Friday 24 September 2010
  • 39. Gestion des versions avec Subversion 1.0-beta 1.0-alpha 1.0 Branch 1.0 trunk freeze Friday 24 September 2010
  • 40. Gestion des versions avec Subversion 1.0-beta 1.0-alpha 1.0 Branch 1.0 merge trunk freeze Friday 24 September 2010
  • 41. Gestion des versions avec Subversion 1.0-beta 1.0-alpha 1.0 Branch 1.0 merge trunk freeze freeze Friday 24 September 2010
  • 42. Gestion des versions avec Subversion 1.0-beta 1.0-alpha 1.0 Branch 1.0 merge trunk 1.1-alpha freeze freeze Branch 1.1 Friday 24 September 2010
  • 43. Gestion des versions avec Subversion 1.0-beta 1.0-alpha 1.0 1.0.1 Branch 1.0 merge trunk 1.1-beta 1.1-alpha freeze freeze Branch 1.1 Friday 24 September 2010
  • 44. Il faut un gatekeeper par branche !! Friday 24 September 2010
  • 45. Développements Spécifiques Plugins Nouveau module - extension Nouvelle branche ... Friday 24 September 2010
  • 46. Développements Spécifiques 1.0-beta 1.0-alpha 1.0.1 1.0 Branch 1.0 trunk 1.1-beta 1.1-alpha Branch 1.1 Friday 24 September 2010
  • 47. Développements Spécifiques Spécifique HK 1.0-beta 1.0-alpha 1.0.1 1.0 Branch 1.0 trunk 1.1-beta 1.1-alpha Branch 1.1 Friday 24 September 2010
  • 48. Développements Spécifiques Spécifique HK 1.0-beta merge 1.0-alpha 1.0.1 1.0 Branch 1.0 trunk 1.1-beta 1.1-alpha Branch 1.1 Friday 24 September 2010
  • 49. OUI !! Friday 24 September 2010
  • 50. NON !! Friday 24 September 2010
  • 51. 1 2 3 Qualité Intégration Continue Friday 24 September 2010
  • 52. Intégration Continue = ... Friday 24 September 2010
  • 53. Une méthodologie de développement ... ... des contributions journalières des développeurs ... ... contrôlées par des processus de build automatisés Friday 24 September 2010
  • 54. Intégration Continue ≠ Compilation Continue Friday 24 September 2010
  • 55. Pourquoi ??? Friday 24 September 2010
  • 56. Mieux vaut détecter et solutionner les bugs pendant le développement Source: http://www.agitar.com/solutions/why_unit_testing.html Friday 24 September 2010
  • 57. Les étapes Compilation Exécution des tests Intégration avec les bases de données Vérification du code Déploiement automatique Génération de la documentation Friday 24 September 2010
  • 58. Pour Démarrer Friday 24 September 2010
  • 59. Pour Démarrer Partage des sources Friday 24 September 2010
  • 60. Pour Démarrer Partage des sources Outil de suivi de bugs/tâches Friday 24 September 2010
  • 61. En résumé Friday 24 September 2010
  • 62. En résumé Communication Friday 24 September 2010
  • 63. En résumé Communication Gestion Friday 24 September 2010
  • 64. En résumé Communication Contrôle Gestion Friday 24 September 2010
  • 65. Merci ! Friday 24 September 2010
  • 66. Crédits Photos • http://www.flickr.com/photos/mckaysavage/497617014/ • http://www.flickr.com/photos/bre/552152780/ • http://www.flickr.com/photos/aburt/2698122345/ • http://www.flickr.com/photos/ronsho/455488392/ • http://www.flickr.com/photos/41188800@N00/433218618/ Friday 24 September 2010