SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
Ce que les stratégies de versioning nous disent
des dynamiques d’équipe
Benoit Lafontaine & Hervé Lourdin
Benoît Lafontaine - CTO
@joel1di1
Hervé Lourdin - CTO
@HerveLourdin
Agenda
● Pourquoi cette session ?
● Qu’est-ce qu’une branche ?
● Modèles & impact sur la communication
● Conclusion
"organizations which design systems ... are
constrained to produce designs which are
copies of the communication structures of
these organizations"
— M. Conway
Qu’est-ce qu’une branche ?
Qu’est-ce qu’une branche ?
“ En gestion de configuration logicielle, une branche est une dérivation dans
l'histoire de l'évolution des éléments de configuration. Une branche est une
évolution d'un élément ayant pour origine une version précise, produisant une
«branche de version». Une branche de version correspond à un axe d'évolution de
versions. Elle est rattachée à une branche source et peut découler sur plusieurs
sous-branches. La gestion de l'ensemble des branches et des versions d'un
produit constitue le versionnage (versioning en anglais) et est l'objet de la gestion
de configuration.”
Source: Wikipedia
TL;DR
1.1 1.2 1.3 1.4 1.5
2.0 2.1 2.2
1.6
“Une branche est une
version alternative du
code source d’un logiciel”
Benoit & Hervé
Pourquoi on branche ?
● Pour paralleliser les dev sans se perturber
● Pour livrer les fonctionnalités au fur et à mesure de leur complétion (livrer A
sans livrer B qui n’est pas fini, ni C qui ne correspond pas aux attentes)
Qui dit branches, dit...
Modèles de versioning / branching et
impact sur la communication dans les
équipes
1.1 1.31.2
Trunk Base
Développeur A
Développeur B
master
1.1 1.31.2
Team Branch
Equipe A
Equipe B
master
1.1 1.3
Team Branch
Equipe A
Equipe B
Merge
de la mort1.2
Merge trop
compliqué
on passe
master
1.1 1.31.2
Feature Branch
master
Feature A
Feature B
Git Flow
In Progress Done UAT Expedite Live
Code review
Code review
1.1 1.31.2
Pull Request Flow
Pull
Request
Pull
Request
Feature Branching + Continuous Merge
+
Feature Toggle
Anti-patterns communs
La branche qui dérive
Le moine codeur
L’équipe d’intégration
Conclusion
Adapter sa stratégie à son contexte
● Les stratégies de versioning elles-aussi peuvent évoluer dans le temps
○ Une organisation qui croît ou change nécessite de revoir la validité de sa stratégie
○ Challengez vos choix initiaux pour voir si ils sont toujours valables !
● Inspirez-vous des modèles et adaptez les à votre contexte
Merger c’est discuter !
● la communication apparait au moment du merge
○ L’enjeu est de provoquer la conversation au bon moment
● Le merge et surtout la gestion de conflits sont les évenements clés
caractérisant les modes de communications
○ les merges difficiles sont caractéristiques d’un processus où la communication n’est pas assez
fréquente
● Plus vous mergez tard plus vous repoussez une conversation importante au
lendemain
○ … dont la résolution sera peut-être plus complexe
Questions ?
Benoît Lafontaine - CTO
@joel1di1
Hervé Lourdin - CTO
@HerveLourdin
Psst… Nous recrutons !
MERCI !

Contenu connexe

Similaire à Ce que les stratégies de versioning nous disent des dynamiques d’équipe

Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 
Présentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxPrésentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxZALIMAZA
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptxboulonvert
 
Présentation DEVOPS_DIR.pptx
Présentation DEVOPS_DIR.pptxPrésentation DEVOPS_DIR.pptx
Présentation DEVOPS_DIR.pptxZALIMAZA
 
Présentation DEVOPS_CONSOLE.pptx
Présentation DEVOPS_CONSOLE.pptxPrésentation DEVOPS_CONSOLE.pptx
Présentation DEVOPS_CONSOLE.pptxZALIMAZA
 
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent ClerouxLe journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent ClerouxAgile Montréal
 
Gestion de projet #2 : méthodes
Gestion de projet #2 : méthodesGestion de projet #2 : méthodes
Gestion de projet #2 : méthodesJean Michel
 
Présentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxPrésentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxZALIMAZA
 
AgileTour Toulouse 2012 : de la livraison continue dans mon organisation
AgileTour Toulouse 2012 : de la livraison continue dans mon organisationAgileTour Toulouse 2012 : de la livraison continue dans mon organisation
AgileTour Toulouse 2012 : de la livraison continue dans mon organisationAgile Toulouse
 
De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?Goood!
 
Présentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxPrésentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxZALIMAZA
 
Présentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxPrésentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxZALIMAZA
 
Présentation DEVOPS_.pptx
Présentation DEVOPS_.pptxPrésentation DEVOPS_.pptx
Présentation DEVOPS_.pptxZALIMAZA
 
Présentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxPrésentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxZALIMAZA
 
Présentation DEVOPSS.pptx
Présentation DEVOPSS.pptxPrésentation DEVOPSS.pptx
Présentation DEVOPSS.pptxZALIMAZA
 
Présentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxPrésentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxssuserf298861
 
devops.pdf
devops.pdfdevops.pdf
devops.pdfqsdqsd4
 
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? Christophe HERAL
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgile Toulouse
 

Similaire à Ce que les stratégies de versioning nous disent des dynamiques d’équipe (20)

Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 
Présentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxPrésentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptx
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptx
 
Présentation DEVOPS_DIR.pptx
Présentation DEVOPS_DIR.pptxPrésentation DEVOPS_DIR.pptx
Présentation DEVOPS_DIR.pptx
 
Présentation DEVOPS_CONSOLE.pptx
Présentation DEVOPS_CONSOLE.pptxPrésentation DEVOPS_CONSOLE.pptx
Présentation DEVOPS_CONSOLE.pptx
 
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent ClerouxLe journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
Le journal d'une tortue qui sprinte autour du monde - Vincent Cleroux
 
Gestion de projet #2 : méthodes
Gestion de projet #2 : méthodesGestion de projet #2 : méthodes
Gestion de projet #2 : méthodes
 
Feature team primer_fr
Feature team primer_frFeature team primer_fr
Feature team primer_fr
 
Présentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptxPrésentation DEVOPS_hyper.pptx
Présentation DEVOPS_hyper.pptx
 
AgileTour Toulouse 2012 : de la livraison continue dans mon organisation
AgileTour Toulouse 2012 : de la livraison continue dans mon organisationAgileTour Toulouse 2012 : de la livraison continue dans mon organisation
AgileTour Toulouse 2012 : de la livraison continue dans mon organisation
 
De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?De la livraison continue dans mon organisation?
De la livraison continue dans mon organisation?
 
Présentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptxPrésentation DEVOPS_Mauritanie.pptx
Présentation DEVOPS_Mauritanie.pptx
 
Présentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptxPrésentation DEVOPS_Black.pptx
Présentation DEVOPS_Black.pptx
 
Présentation DEVOPS_.pptx
Présentation DEVOPS_.pptxPrésentation DEVOPS_.pptx
Présentation DEVOPS_.pptx
 
Présentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptxPrésentation DEVOPS-Majeur.pptx
Présentation DEVOPS-Majeur.pptx
 
Présentation DEVOPSS.pptx
Présentation DEVOPSS.pptxPrésentation DEVOPSS.pptx
Présentation DEVOPSS.pptx
 
Présentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptxPrésentation DEVOPS_Kola.pptx
Présentation DEVOPS_Kola.pptx
 
devops.pdf
devops.pdfdevops.pdf
devops.pdf
 
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFS
 

Ce que les stratégies de versioning nous disent des dynamiques d’équipe

  • 1. Ce que les stratégies de versioning nous disent des dynamiques d’équipe Benoit Lafontaine & Hervé Lourdin
  • 2. Benoît Lafontaine - CTO @joel1di1 Hervé Lourdin - CTO @HerveLourdin
  • 3. Agenda ● Pourquoi cette session ? ● Qu’est-ce qu’une branche ? ● Modèles & impact sur la communication ● Conclusion
  • 4.
  • 5. "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations" — M. Conway
  • 6.
  • 8. Qu’est-ce qu’une branche ? “ En gestion de configuration logicielle, une branche est une dérivation dans l'histoire de l'évolution des éléments de configuration. Une branche est une évolution d'un élément ayant pour origine une version précise, produisant une «branche de version». Une branche de version correspond à un axe d'évolution de versions. Elle est rattachée à une branche source et peut découler sur plusieurs sous-branches. La gestion de l'ensemble des branches et des versions d'un produit constitue le versionnage (versioning en anglais) et est l'objet de la gestion de configuration.” Source: Wikipedia
  • 9. TL;DR 1.1 1.2 1.3 1.4 1.5 2.0 2.1 2.2 1.6
  • 10. “Une branche est une version alternative du code source d’un logiciel” Benoit & Hervé
  • 11. Pourquoi on branche ? ● Pour paralleliser les dev sans se perturber ● Pour livrer les fonctionnalités au fur et à mesure de leur complétion (livrer A sans livrer B qui n’est pas fini, ni C qui ne correspond pas aux attentes)
  • 13. Modèles de versioning / branching et impact sur la communication dans les équipes
  • 14.
  • 15. 1.1 1.31.2 Trunk Base Développeur A Développeur B master
  • 16.
  • 17. 1.1 1.31.2 Team Branch Equipe A Equipe B master
  • 18. 1.1 1.3 Team Branch Equipe A Equipe B Merge de la mort1.2 Merge trop compliqué on passe master
  • 21. In Progress Done UAT Expedite Live
  • 22.
  • 23.
  • 24.
  • 25. Code review Code review 1.1 1.31.2 Pull Request Flow Pull Request Pull Request
  • 26.
  • 27.
  • 28. Feature Branching + Continuous Merge +
  • 30.
  • 32. La branche qui dérive
  • 36. Adapter sa stratégie à son contexte ● Les stratégies de versioning elles-aussi peuvent évoluer dans le temps ○ Une organisation qui croît ou change nécessite de revoir la validité de sa stratégie ○ Challengez vos choix initiaux pour voir si ils sont toujours valables ! ● Inspirez-vous des modèles et adaptez les à votre contexte
  • 37. Merger c’est discuter ! ● la communication apparait au moment du merge ○ L’enjeu est de provoquer la conversation au bon moment ● Le merge et surtout la gestion de conflits sont les évenements clés caractérisant les modes de communications ○ les merges difficiles sont caractéristiques d’un processus où la communication n’est pas assez fréquente ● Plus vous mergez tard plus vous repoussez une conversation importante au lendemain ○ … dont la résolution sera peut-être plus complexe
  • 39. Benoît Lafontaine - CTO @joel1di1 Hervé Lourdin - CTO @HerveLourdin Psst… Nous recrutons ! MERCI !