![Page 1: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/1.jpg)
#DevoxxFR#DevoxxFR
L’odyssée du Continuous Delivery
Nicolas BourgeoisDavid Caramelo @David_CarameloDiego Lemos @dlresende
1
![Page 2: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/2.jpg)
#DevoxxFR#DevoxxFR
Hello
2
Nicolas BourgeoisIT Manager domaine finance
DSI de GBIS
David CarameloTech Lead / Scrum Master
Diego LemosTech coach
![Page 3: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/3.jpg)
#DevoxxFR
Au départ...
3
Techno : Java, JEE, JSF 1.2, Rich Faces, Oracle
Orga : 2 équipes mixtes Paris / Bangalore (Inde) orientées composant
Mise en production : 1 fois par trimestre
Et quelques applications datant d’il y a 10 ans...
![Page 4: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/4.jpg)
#DevoxxFR 4
Pourquoi maintenant ?
Coté Métier :
● Un SI “Financement” vieillissant (2006 - 2008)
● Un business qui repart mais l’incertitude demeure
● Beaucoup de processus réglementaires non informatisés
![Page 5: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/5.jpg)
#DevoxxFR 5
Mais aussi...
Coté DSI :
Évolution du niveau d’exigence des utilisateurs (iPad, iPhone, etc.)
Département IT en pleine transformation agile / continuous delivery
Volonté de s’inspirer des géants du web & Fintech
![Page 6: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/6.jpg)
#DevoxxFR 6
Nos challenges
![Page 7: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/7.jpg)
#DevoxxFR
Mais attention !
7
● Maintien du service● Rupture technique● Éviter l’effet big bang● Se “fondre dans la masse”● Répondre aux besoins des utilisateurs
![Page 8: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/8.jpg)
#DevoxxFR 8
![Page 9: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/9.jpg)
#DevoxxFR#DevoxxFR 9
Vers le Continuous Delivery et au-delà...
![Page 10: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/10.jpg)
#DevoxxFR
Les fondations
10
TDDBDD
![Page 11: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/11.jpg)
#DevoxxFR
Le fonctionnement
11
Demandes
PO
Sprint Demo
Product Backlog
Sprint Backlog
Poker Planning Retro
![Page 12: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/12.jpg)
#DevoxxFR
Le whiteboard
12
![Page 13: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/13.jpg)
#DevoxxFR
Avant : component team
Application A
BAs, TLs / Dev, PMs… BAs, TLs / Dev, PMs…
Application B
13
![Page 14: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/14.jpg)
#DevoxxFR
Maintenant : feature team !
14
![Page 15: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/15.jpg)
#DevoxxFR#DevoxxFR
Mais comment crée-t-on des feature
teams ?
15
![Page 16: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/16.jpg)
#DevoxxFR
L’équipe lab
16
TL PO UX QA DEV DEVDEVDEV
DEV DEV DEVQAUXPO
![Page 17: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/17.jpg)
#DevoxxFR
Découpage en deux équipes
17
TL PO UX QA DEV DEVDEVDEV
DEV DEV DEVQAUXPOTL DEV
![Page 18: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/18.jpg)
#DevoxxFR
Un produit unique
18
TL PO UX QA DEV DEVDEVDEV
TL PO UX QA DEV DEVDEVDEV
![Page 19: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/19.jpg)
#DevoxxFR
Réduire la boucle de feedback
19
![Page 20: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/20.jpg)
#DevoxxFR
could you help me with my application?
20
mother of god!
![Page 21: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/21.jpg)
#DevoxxFR 2
1
![Page 22: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/22.jpg)
#DevoxxFR 2
2
![Page 23: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/23.jpg)
#DevoxxFR 2
3
![Page 24: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/24.jpg)
#DevoxxFR#DevoxxFR 2
4
La complexité accidentelle
![Page 25: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/25.jpg)
#DevoxxFR#DevoxxFR
expectation reality
25
Il fallait revoir nos attentes
![Page 26: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/26.jpg)
#DevoxxFR#DevoxxFR
Stratégie de tests
unitaire
intégration
e2e
26
e2e
intégration
unit
e2e
intégration
unit
![Page 27: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/27.jpg)
#DevoxxFR
On paie la dette technique
27
80 20fonctionnel technique
![Page 28: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/28.jpg)
#DevoxxFR 2
8
![Page 29: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/29.jpg)
#DevoxxFR
Réduire la boucle de feedback
29
![Page 30: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/30.jpg)
#DevoxxFR
42 branches
30
![Page 31: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/31.jpg)
#DevoxxFR
62 branches
31
![Page 32: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/32.jpg)
#DevoxxFR
62 branches
32
![Page 33: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/33.jpg)
#DevoxxFR
26 branches
33
![Page 34: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/34.jpg)
#DevoxxFR
>192 branches !
34
![Page 35: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/35.jpg)
#DevoxxFR
Branching hell
35
![Page 36: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/36.jpg)
#DevoxxFR
Trunk Based Development
36
DEV DEV
DEV
code freeze livraison
DEV
release branch
trunk
![Page 37: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/37.jpg)
#DevoxxFR 3
7
![Page 38: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/38.jpg)
#DevoxxFR
Réduire la boucle de feedback
38
![Page 39: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/39.jpg)
#DevoxxFR
Réduire la boucle de feedback
39
![Page 40: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/40.jpg)
#DevoxxFR#DevoxxFR
Qui livre quand ?
40
![Page 41: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/41.jpg)
#DevoxxFR#DevoxxFR
Release Train
41
![Page 42: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/42.jpg)
#DevoxxFR
it n it n+2 it n+4it n+3it n+1
3 semaines
non reg uat certif
42
time to deliver : 12 semaines !
development development
Les applications legacy
![Page 43: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/43.jpg)
#DevoxxFR
developmentvalidatio
n
developmentvalidatio
n
developmentvalidatio
n
developmentvalidatio
n
time to deliver: 3 semaines
Nouvelle plateforme
43
it n it n+2 it n+4it n+3it n+13 semaines
![Page 44: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/44.jpg)
#DevoxxFR
it n it n+2 it n+4it n+3it n+1
3 semaines
legacy
nouvelle plateforme
developmentvalidatio
n
developmentvalidatio
n
developmentvalidatio
n
developmentvalidatio
ndevelopment non reg uat certifdevelopment
Nouvelle plateforme + legacy
44
![Page 45: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/45.jpg)
#DevoxxFR 4
5
![Page 46: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/46.jpg)
#DevoxxFR
Calendrier de livraisons
46
![Page 47: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/47.jpg)
#DevoxxFR 47
![Page 48: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/48.jpg)
#DevoxxFR
Fonctionnalités à livrer
48
![Page 49: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/49.jpg)
#DevoxxFR 4
9
Applications à livrer
![Page 50: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/50.jpg)
#DevoxxFR 50
Tâches pour chaque livraison
![Page 51: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/51.jpg)
#DevoxxFR 5
1
![Page 52: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/52.jpg)
#DevoxxFR 52
Code freeze ?! MAIS NOUS N’AVONS PAS
ENCORE FINI !!!
![Page 53: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/53.jpg)
#DevoxxFR
Réduire la boucle de feedback
53
![Page 54: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/54.jpg)
#DevoxxFR
Pas le droit à l’erreur
54
![Page 55: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/55.jpg)
#DevoxxFR
Feature Toggle
55
![Page 56: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/56.jpg)
#DevoxxFR#DevoxxFR
A B
C
A B
C
B
56
team 1
team 2
BC
C
![Page 57: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/57.jpg)
#DevoxxFR
/* */
Toggle 1.0
57
![Page 58: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/58.jpg)
#DevoxxFR
Toggle 2.0
58
![Page 59: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/59.jpg)
#DevoxxFR
Toggle 3.0 (en cours)
59
![Page 60: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/60.jpg)
#DevoxxFR
Réduire la boucle de feedback
60
![Page 61: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/61.jpg)
#DevoxxFR 61
![Page 62: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/62.jpg)
#DevoxxFR
Environment pipeline
62
intégration homologation UAT pré-production production
1 push = 1 deploynombreux
déploiements/jourteste le déploiementfeedback très rapide
1 deploy/jourplus stabledernières
fonctionnalités disponibles
1 deploy/sprintbranche de release
validation de la part de l’utilisateur
validation de l’équipe Ops
validation de l’équipe Support
c’est là ça se pa$$eze place to be, quoi
![Page 63: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/63.jpg)
#DevoxxFR#DevoxxFR
Après tout cela, la question de la pérennité
se pose
63
![Page 64: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/64.jpg)
#DevoxxFR 6
4
![Page 65: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/65.jpg)
#DevoxxFR#DevoxxFR
Recrutement 2.0
65
4 principes :● les développeurs recrutent leurs
pairs● état d’esprit plus important que
telle ou telle techno● créer une nouvelle culture basée
sur un cercle vertueux● tu sais coder, prouve-le !
![Page 66: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/66.jpg)
#DevoxxFR 66
![Page 67: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/67.jpg)
#DevoxxFR#DevoxxFR
Et les résultats ?
67
![Page 68: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/68.jpg)
#DevoxxFR 6
8
Qu’est-ce que l’on a gagné ?
● Nouvelle culture● Prise de conscience de la valeur
métier des demandes● Amélioration de la qualité globale● Amélioration du TTM
![Page 69: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/69.jpg)
#DevoxxFR 69
Où sommes-nous maintenant ?construire
le bon produit
construire correctemen
t le produit
construire rapideme
nt le produit
endroit idéal
aujourd’hui nous
sommes ici
![Page 70: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/70.jpg)
#DevoxxFR#DevoxxFR
C’est fini ?
70
![Page 71: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/71.jpg)
#DevoxxFR 7
1
Nouveaux défis● Rendre le TTM pérenne dans le temps● Mieux mesurer la valeur métier● Mieux anticiper les problèmes● Explorer le comportement utilisateur● Reproduire le même modèle à
l’étranger● Renforcer la culture
![Page 72: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/72.jpg)
#DevoxxFR 7
2
Comment ?
● Infra as code, déploiement automatisé● Blue/Green deployment● Culture DevOps● Monitoring● Plus d’automatisation des tests (tests
de chaîne/distribués)
![Page 73: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/73.jpg)
#DevoxxFR#DevoxxFR 7
3
Devops
![Page 74: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/74.jpg)
#DevoxxFR#DevoxxFR
Merci / Thank you
74
![Page 75: Devoxx 2016 - L'odyssée du Continuous Delivery](https://reader035.vdocument.in/reader035/viewer/2022070513/588915691a28ab4a5c8b64c9/html5/thumbnails/75.jpg)
#DevoxxFR#DevoxxFR
Questions ?
75