devoxx 2016 - l'odyssée du continuous delivery
Post on 26-Jan-2017
571 Views
Preview:
TRANSCRIPT
#DevoxxFR#DevoxxFR
L’odyssée du Continuous Delivery
Nicolas BourgeoisDavid Caramelo @David_CarameloDiego Lemos @dlresende
1
#DevoxxFR#DevoxxFR
Hello
2
Nicolas BourgeoisIT Manager domaine finance
DSI de GBIS
David CarameloTech Lead / Scrum Master
Diego LemosTech coach
#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...
#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
#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
#DevoxxFR 6
Nos challenges
#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
#DevoxxFR 8
#DevoxxFR#DevoxxFR 9
Vers le Continuous Delivery et au-delà...
#DevoxxFR
Les fondations
10
TDDBDD
#DevoxxFR
Le fonctionnement
11
Demandes
PO
Sprint Demo
Product Backlog
Sprint Backlog
Poker Planning Retro
#DevoxxFR
Le whiteboard
12
#DevoxxFR
Avant : component team
Application A
BAs, TLs / Dev, PMs… BAs, TLs / Dev, PMs…
Application B
13
#DevoxxFR
Maintenant : feature team !
14
#DevoxxFR#DevoxxFR
Mais comment crée-t-on des feature
teams ?
15
#DevoxxFR
L’équipe lab
16
TL PO UX QA DEV DEVDEVDEV
DEV DEV DEVQAUXPO
#DevoxxFR
Découpage en deux équipes
17
TL PO UX QA DEV DEVDEVDEV
DEV DEV DEVQAUXPOTL DEV
#DevoxxFR
Un produit unique
18
TL PO UX QA DEV DEVDEVDEV
TL PO UX QA DEV DEVDEVDEV
#DevoxxFR
Réduire la boucle de feedback
19
#DevoxxFR
could you help me with my application?
20
mother of god!
#DevoxxFR 2
1
#DevoxxFR 2
2
#DevoxxFR 2
3
#DevoxxFR#DevoxxFR 2
4
La complexité accidentelle
#DevoxxFR#DevoxxFR
expectation reality
25
Il fallait revoir nos attentes
#DevoxxFR#DevoxxFR
Stratégie de tests
unitaire
intégration
e2e
26
e2e
intégration
unit
e2e
intégration
unit
#DevoxxFR
On paie la dette technique
27
80 20fonctionnel technique
#DevoxxFR 2
8
#DevoxxFR
Réduire la boucle de feedback
29
#DevoxxFR
42 branches
30
#DevoxxFR
62 branches
31
#DevoxxFR
62 branches
32
#DevoxxFR
26 branches
33
#DevoxxFR
>192 branches !
34
#DevoxxFR
Branching hell
35
#DevoxxFR
Trunk Based Development
36
DEV DEV
DEV
code freeze livraison
DEV
release branch
trunk
#DevoxxFR 3
7
#DevoxxFR
Réduire la boucle de feedback
38
#DevoxxFR
Réduire la boucle de feedback
39
#DevoxxFR#DevoxxFR
Qui livre quand ?
40
#DevoxxFR#DevoxxFR
Release Train
41
#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
#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
#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
#DevoxxFR 4
5
#DevoxxFR
Calendrier de livraisons
46
#DevoxxFR 47
#DevoxxFR
Fonctionnalités à livrer
48
#DevoxxFR 4
9
Applications à livrer
#DevoxxFR 50
Tâches pour chaque livraison
#DevoxxFR 5
1
#DevoxxFR 52
Code freeze ?! MAIS NOUS N’AVONS PAS
ENCORE FINI !!!
#DevoxxFR
Réduire la boucle de feedback
53
#DevoxxFR
Pas le droit à l’erreur
54
#DevoxxFR
Feature Toggle
55
#DevoxxFR#DevoxxFR
A B
C
A B
C
B
56
team 1
team 2
BC
C
#DevoxxFR
/* */
Toggle 1.0
57
#DevoxxFR
Toggle 2.0
58
#DevoxxFR
Toggle 3.0 (en cours)
59
#DevoxxFR
Réduire la boucle de feedback
60
#DevoxxFR 61
#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
#DevoxxFR#DevoxxFR
Après tout cela, la question de la pérennité
se pose
63
#DevoxxFR 6
4
#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 !
#DevoxxFR 66
#DevoxxFR#DevoxxFR
Et les résultats ?
67
#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
#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
#DevoxxFR#DevoxxFR
C’est fini ?
70
#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
#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)
#DevoxxFR#DevoxxFR 7
3
Devops
#DevoxxFR#DevoxxFR
Merci / Thank you
74
#DevoxxFR#DevoxxFR
Questions ?
75
top related