SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Empfohlen

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

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