Devoxx 2016 - L'odyssée du Continuous Delivery

75
#DevoxxFR #DevoxxFR L’odyssée du Continuous Delivery Nicolas Bourgeois David Caramelo @David_Caramelo Diego Lemos @dlresende 1

Transcript of Devoxx 2016 - L'odyssée du Continuous Delivery

Page 1: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#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

#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

#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

#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

#DevoxxFR 6

Nos challenges

Page 7: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#DevoxxFR 8

Page 9: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR 9

Vers le Continuous Delivery et au-delà...

Page 10: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Les fondations

10

TDDBDD

Page 11: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#DevoxxFR

Le whiteboard

12

Page 13: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#DevoxxFR

Maintenant : feature team !

14

Page 15: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR

Mais comment crée-t-on des feature

teams ?

15

Page 16: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

L’équipe lab

16

TL PO UX QA DEV DEVDEVDEV

DEV DEV DEVQAUXPO

Page 17: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#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

#DevoxxFR

Réduire la boucle de feedback

19

Page 20: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

could you help me with my application?

20

mother of god!

Page 21: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 2

1

Page 22: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 2

2

Page 23: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 2

3

Page 24: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR 2

4

La complexité accidentelle

Page 25: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR

expectation reality

25

Il fallait revoir nos attentes

Page 26: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#DevoxxFR

On paie la dette technique

27

80 20fonctionnel technique

Page 28: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 2

8

Page 29: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Réduire la boucle de feedback

29

Page 30: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

42 branches

30

Page 31: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

62 branches

31

Page 32: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

62 branches

32

Page 33: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

26 branches

33

Page 34: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

>192 branches !

34

Page 35: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Branching hell

35

Page 36: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#DevoxxFR 3

7

Page 38: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Réduire la boucle de feedback

38

Page 39: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Réduire la boucle de feedback

39

Page 40: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR

Qui livre quand ?

40

Page 41: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR

Release Train

41

Page 42: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#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

#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

#DevoxxFR 4

5

Page 46: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Calendrier de livraisons

46

Page 47: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 47

Page 48: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Fonctionnalités à livrer

48

Page 49: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 4

9

Applications à livrer

Page 50: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 50

Tâches pour chaque livraison

Page 51: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 5

1

Page 52: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 52

Code freeze ?! MAIS NOUS N’AVONS PAS

ENCORE FINI !!!

Page 53: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Réduire la boucle de feedback

53

Page 54: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Pas le droit à l’erreur

54

Page 55: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Feature Toggle

55

Page 56: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#DevoxxFR

/* */

Toggle 1.0

57

Page 58: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Toggle 2.0

58

Page 59: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Toggle 3.0 (en cours)

59

Page 60: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR

Réduire la boucle de feedback

60

Page 61: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR 61

Page 62: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#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

#DevoxxFR 6

4

Page 65: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#DevoxxFR 66

Page 67: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR

Et les résultats ?

67

Page 68: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#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

#DevoxxFR#DevoxxFR

C’est fini ?

70

Page 71: Devoxx 2016 - L'odyssée du Continuous Delivery

#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

#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

#DevoxxFR#DevoxxFR 7

3

Devops

Page 74: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR

Merci / Thank you

74

Page 75: Devoxx 2016 - L'odyssée du Continuous Delivery

#DevoxxFR#DevoxxFR

Questions ?

75