lean kanban france 2015 : ce que les strategies de versioning nous disent des dynamiques d equipe
Post on 12-Feb-2017
1.278 Views
Preview:
TRANSCRIPT
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
AgendaPourquoi 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
Mergede 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 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
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 !
top related