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 structure...
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'é...
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 d...
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 organis...
Merger c’est discuter !
● la communication apparait au moment du merge
○ L’enjeu est de provoquer la conversation au bon m...
Questions ?
Benoît Lafontaine - CTO
@joel1di1
Hervé Lourdin - CTO
@HerveLourdin
Psst… Nous recrutons !
MERCI !
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Ce que les stratégies de versioning nous disent des dynamiques d’équipe
Prochain SlideShare
Chargement dans…5
×

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

383 vues

Publié le

Présentation réalisée à Lean Kanban France 2015. Speakers :
Hervé Lourdin, CTO at Vide Dressing
Benoit Lafontaine, CTO at OCTO Technology

Publié dans : Internet
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
383
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 1. Ce que les stratégies de versioning nous disent des dynamiques d’équipe Benoit Lafontaine & Hervé Lourdin
  2. 2. Benoît Lafontaine - CTO @joel1di1 Hervé Lourdin - CTO @HerveLourdin
  3. 3. Agenda ● Pourquoi cette session ? ● Qu’est-ce qu’une branche ? ● Modèles & impact sur la communication ● Conclusion
  4. 4. "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations" — M. Conway
  5. 5. Qu’est-ce qu’une branche ?
  6. 6. 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
  7. 7. TL;DR 1.1 1.2 1.3 1.4 1.5 2.0 2.1 2.2 1.6
  8. 8. “Une branche est une version alternative du code source d’un logiciel” Benoit & Hervé
  9. 9. 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)
  10. 10. Qui dit branches, dit...
  11. 11. Modèles de versioning / branching et impact sur la communication dans les équipes
  12. 12. 1.1 1.31.2 Trunk Base Développeur A Développeur B master
  13. 13. 1.1 1.31.2 Team Branch Equipe A Equipe B master
  14. 14. 1.1 1.3 Team Branch Equipe A Equipe B Merge de la mort1.2 Merge trop compliqué on passe master
  15. 15. 1.1 1.31.2 Feature Branch master Feature A Feature B
  16. 16. Git Flow
  17. 17. In Progress Done UAT Expedite Live
  18. 18. Code review Code review 1.1 1.31.2 Pull Request Flow Pull Request Pull Request
  19. 19. Feature Branching + Continuous Merge +
  20. 20. Feature Toggle
  21. 21. Anti-patterns communs
  22. 22. La branche qui dérive
  23. 23. Le moine codeur
  24. 24. L’équipe d’intégration
  25. 25. Conclusion
  26. 26. 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
  27. 27. 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
  28. 28. Questions ?
  29. 29. Benoît Lafontaine - CTO @joel1di1 Hervé Lourdin - CTO @HerveLourdin Psst… Nous recrutons ! MERCI !

×