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