39
Ce que les stratégies de versioning nous disent des dynamiques d’équipe Benoit Lafontaine & Hervé Lourdin

Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Embed Size (px)

Citation preview

Page 1: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

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

Benoit Lafontaine & Hervé Lourdin

Page 2: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Benoît Lafontaine - CTO@joel1di1

Hervé Lourdin - CTO@HerveLourdin

Page 3: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

AgendaPourquoi cette session ?

Qu’est-ce qu’une branche ?

Modèles & impact sur la communication

Conclusion

Page 4: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 5: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

"organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations"

— M. Conway

Page 6: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 7: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Qu’est-ce qu’une branche ?

Page 8: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

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

Page 9: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

TL;DR

1.1 1.2 1.3 1.4 1.5

2.0 2.1 2.2

1.6

Page 10: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

“Une branche est une version alternative du code source d’un logiciel”

Benoit & Hervé

Page 11: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

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)

Page 12: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Qui dit branches, dit...

Page 13: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Modèles de versioning / branching et impact sur la communication dans les équipes

Page 14: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 15: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

1.1 1.31.2

Trunk Base

Développeur A

Développeur B

master

Page 16: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 17: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

1.1 1.31.2

Team Branch

Equipe A

Equipe B

master

Page 18: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

1.1 1.3

Team Branch

Equipe A

Equipe B

Mergede la mort1.2

Merge trop compliquéon passe

master

Page 19: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

1.1 1.31.2

Feature Branch

master

Feature A

Feature B

Page 20: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Git Flow

Page 21: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

In Progress Done UAT Expedite Live

Page 22: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 23: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 24: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 25: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Code review

Code review

1.1 1.31.2

Pull Request Flow

Pull Request

Pull Request

Page 26: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 27: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 28: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Feature Branching + Continuous Merge

+

Page 29: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Feature Toggle

Page 30: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe
Page 31: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Anti-patterns communs

Page 32: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

La branche qui dérive

Page 33: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Le moine codeur

Page 34: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

L’équipe d’intégration

Page 35: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Conclusion

Page 36: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Adapter sa stratégie à son contexteLes stratégies de versioning elles-aussi peuvent évoluer dans le

tempsUne 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

Page 37: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

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

Page 38: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Questions ?

Page 39: Lean Kanban France 2015 : Ce que les strategies de versioning nous disent des dynamiques d equipe

Benoît Lafontaine - CTO@joel1di1

Hervé Lourdin - CTO@HerveLourdin

Psst… Nous recrutons !

MERCI !