#DevoxxFR#DevoxxFR
L’odyssée du Continuous
Delivery
Nicolas Bourgeois
David Caramelo @David_Caramelo
Diego Lemos @dlresend...
#DevoxxFR#DevoxxFR
Hello
2
Nicolas Bourgeois
IT Manager domaine finance
DSI de GBIS
David Caramelo
Tech Lead / Scrum Maste...
#DevoxxFR
Au départ...
3
Techno : Java, JEE, JSF 1.2, Rich
Faces, Oracle
Orga : 2 équipes mixtes Paris /
Bangalore (Inde) ...
#DevoxxFR 4
Pourquoi maintenant ?
Coté Métier :
● Un SI “Financement” vieillissant (2006 - 2008)
● Un business qui repart ...
#DevoxxFR 5
Mais aussi...
Coté DSI :
Évolution du niveau d’exigence des utilisateurs (iPad, iPhone, etc.)
Département IT e...
#DevoxxFR 6
Nos challenges
#DevoxxFR
Mais attention !
7
● Maintien du service
● Rupture technique
● Éviter l’effet big bang
● Se “fondre dans la mass...
#DevoxxFR 8
#DevoxxFR#DevoxxFR 9
Vers le
Continuous
Delivery et
au-delà...
#DevoxxFR
Les fondations
1
#DevoxxFR
Le fonctionnement
1
Demandes
PO
Sprint Demo
Product
Backlog
Sprint
Backlog
Poker
Planning
Retro
#DevoxxFR
Le whiteboard
1
#DevoxxFR
Avant : component team
Application A
BAs, TLs / Dev, PMs… BAs, TLs / Dev, PMs…
Application B
13
#DevoxxFR
Maintenant : feature team !
1
#DevoxxFR#DevoxxFR
Mais comment crée-
t-on des feature
teams ?
1
#DevoxxFR
L’équipe lab
1
TL PO UX QA DEV DEVDEVDEV
DEV DEV DEVQAUXPO
#DevoxxFR
Découpage en deux équipes
1
TL PO UX QA DEV DEVDEVDEV
DEV DEV DEVQAUXPOTL DEV
#DevoxxFR
Un produit unique
1
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?
2
mother of god!
#DevoxxFR 2
#DevoxxFR 2
#DevoxxFR 2
#DevoxxFR#DevoxxFR 2
La complexité accidentelle
#DevoxxFR#DevoxxFR
expectation reality
2
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
2
80 20
fonctionnel technique
#DevoxxFR 2
#DevoxxFR
Réduire la boucle de feedback
29
#DevoxxFR
42
branches
3
#DevoxxFR
62
branches
3
#DevoxxFR
62
branches
3
#DevoxxFR
26
branches
33
#DevoxxFR
>192 branches !
3
#DevoxxFR
Branching hell
3
#DevoxxFR
Trunk Based Development
3
DEV DEV
DEV
code freeze livraison
DEV
release
branch
trunk
#DevoxxFR 3
#DevoxxFR
Réduire la boucle de feedback
38
#DevoxxFR
Réduire la boucle de feedback
39
#DevoxxFR#DevoxxFR
Qui livre quand ?
4
#DevoxxFR#DevoxxFR
Release Train
4
#DevoxxFR
it n it n+2 it n+4it n+3it n+1
3 semaines
non reg uat certif
4
time to deliver :
12 semaines !
development devel...
#DevoxxFR
development
validation
development
validation
development
validation
development
validation
time to deliver: 3
s...
#DevoxxFR
it n it n+2 it n+4it n+3it n+1
3 semaines
legacy
nouvelle
plateforme
development
validation
development
validati...
#DevoxxFR 4
#DevoxxFR
Calendrier de livraisons
46
#DevoxxFR 47
#DevoxxFR
Fonctionnalités à livrer
4
#DevoxxFR 4
Applications à livrer
#DevoxxFR 50
Tâches pour chaque livraison
#DevoxxFR 5
#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
5
#DevoxxFR#DevoxxFR
A B
C
A B
C
B
56
team 1
team 2
B
C
C
#DevoxxFR
/* */
Toggle 1.0
5
#DevoxxFR
Toggle 2.0
5
#DevoxxFR
Toggle 3.0 (en cours)
5
#DevoxxFR
Réduire la boucle de feedback
60
#DevoxxFR 61
#DevoxxFR
Environment pipeline
6
intégration homologation UAT pré-production production
1 push = 1 deploy
nombreux
déploie...
#DevoxxFR#DevoxxFR
Après tout cela, la
question de la pérennité
se pose
6
#DevoxxFR 6
#DevoxxFR#DevoxxFR
Recrutement 2.0
6
4 principes :
● les développeurs recrutent leurs
pairs
● état d’esprit plus important...
#DevoxxFR 66
#DevoxxFR#DevoxxFR
Et les résultats ?
6
#DevoxxFR 6
Qu’est-ce que l’on a gagné ?
● Nouvelle culture
● Prise de conscience de la valeur
métier des demandes
● Améli...
#DevoxxFR 69
Où sommes-nous maintenant ?
construire
le bon
produit
construire
correctement
le produit
construire
rapidemen...
#DevoxxFR#DevoxxFR
C’est fini ?
7
#DevoxxFR 7
Nouveaux défis
● Rendre le TTM pérenne dans le temps
● Mieux mesurer la valeur métier
● Mieux anticiper les pr...
#DevoxxFR 7
Comment ?
● Infra as code, déploiement automatisé
● Blue/Green deployment
● Culture DevOps
● Monitoring
● Plus...
#DevoxxFR#DevoxxFR 7
Devops
#DevoxxFR#DevoxxFR
Merci / Thank you
7
#DevoxxFR#DevoxxFR
Questions ?
7
Prochain SlideShare
Chargement dans…5
×

Devoxx 2016 - L'odyssée du Continuous Delivery

556 vues

Publié le

Retour d'expérience sur un an de transformation Continuous Delivery à la SGCIB.

Publié dans : Logiciels
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
556
Sur SlideShare
0
Issues des intégrations
0
Intégrations
36
Actions
Partages
0
Téléchargements
30
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Devoxx 2016 - L'odyssée du Continuous Delivery

  1. 1. #DevoxxFR#DevoxxFR L’odyssée du Continuous Delivery Nicolas Bourgeois David Caramelo @David_Caramelo Diego Lemos @dlresende 1
  2. 2. #DevoxxFR#DevoxxFR Hello 2 Nicolas Bourgeois IT Manager domaine finance DSI de GBIS David Caramelo Tech Lead / Scrum Master Diego Lemos Tech coach
  3. 3. #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...
  4. 4. #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
  5. 5. #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
  6. 6. #DevoxxFR 6 Nos challenges
  7. 7. #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
  8. 8. #DevoxxFR 8
  9. 9. #DevoxxFR#DevoxxFR 9 Vers le Continuous Delivery et au-delà...
  10. 10. #DevoxxFR Les fondations 1
  11. 11. #DevoxxFR Le fonctionnement 1 Demandes PO Sprint Demo Product Backlog Sprint Backlog Poker Planning Retro
  12. 12. #DevoxxFR Le whiteboard 1
  13. 13. #DevoxxFR Avant : component team Application A BAs, TLs / Dev, PMs… BAs, TLs / Dev, PMs… Application B 13
  14. 14. #DevoxxFR Maintenant : feature team ! 1
  15. 15. #DevoxxFR#DevoxxFR Mais comment crée- t-on des feature teams ? 1
  16. 16. #DevoxxFR L’équipe lab 1 TL PO UX QA DEV DEVDEVDEV DEV DEV DEVQAUXPO
  17. 17. #DevoxxFR Découpage en deux équipes 1 TL PO UX QA DEV DEVDEVDEV DEV DEV DEVQAUXPOTL DEV
  18. 18. #DevoxxFR Un produit unique 1 TL PO UX QA DEV DEVDEVDEV TL PO UX QA DEV DEVDEVDEV
  19. 19. #DevoxxFR Réduire la boucle de feedback 19
  20. 20. #DevoxxFR could you help me with my application? 2 mother of god!
  21. 21. #DevoxxFR 2
  22. 22. #DevoxxFR 2
  23. 23. #DevoxxFR 2
  24. 24. #DevoxxFR#DevoxxFR 2 La complexité accidentelle
  25. 25. #DevoxxFR#DevoxxFR expectation reality 2 Il fallait revoir nos attentes
  26. 26. #DevoxxFR#DevoxxFR Stratégie de tests unitaire intégration e2e 26 e2e intégration unit e2e intégration unit
  27. 27. #DevoxxFR On paie la dette technique 2 80 20 fonctionnel technique
  28. 28. #DevoxxFR 2
  29. 29. #DevoxxFR Réduire la boucle de feedback 29
  30. 30. #DevoxxFR 42 branches 3
  31. 31. #DevoxxFR 62 branches 3
  32. 32. #DevoxxFR 62 branches 3
  33. 33. #DevoxxFR 26 branches 33
  34. 34. #DevoxxFR >192 branches ! 3
  35. 35. #DevoxxFR Branching hell 3
  36. 36. #DevoxxFR Trunk Based Development 3 DEV DEV DEV code freeze livraison DEV release branch trunk
  37. 37. #DevoxxFR 3
  38. 38. #DevoxxFR Réduire la boucle de feedback 38
  39. 39. #DevoxxFR Réduire la boucle de feedback 39
  40. 40. #DevoxxFR#DevoxxFR Qui livre quand ? 4
  41. 41. #DevoxxFR#DevoxxFR Release Train 4
  42. 42. #DevoxxFR it n it n+2 it n+4it n+3it n+1 3 semaines non reg uat certif 4 time to deliver : 12 semaines ! development development Les applications legacy
  43. 43. #DevoxxFR development validation development validation development validation development validation time to deliver: 3 semaines Nouvelle plateforme 4 it n it n+2 it n+4it n+3it n+1 3 semaines
  44. 44. #DevoxxFR it n it n+2 it n+4it n+3it n+1 3 semaines legacy nouvelle plateforme development validation development validation development validation development validation development non reg uat certifdevelopment Nouvelle plateforme + legacy 4
  45. 45. #DevoxxFR 4
  46. 46. #DevoxxFR Calendrier de livraisons 46
  47. 47. #DevoxxFR 47
  48. 48. #DevoxxFR Fonctionnalités à livrer 4
  49. 49. #DevoxxFR 4 Applications à livrer
  50. 50. #DevoxxFR 50 Tâches pour chaque livraison
  51. 51. #DevoxxFR 5
  52. 52. #DevoxxFR 52 Code freeze ?! MAIS NOUS N’AVONS PAS ENCORE FINI !!!
  53. 53. #DevoxxFR Réduire la boucle de feedback 53
  54. 54. #DevoxxFR Pas le droit à l’erreur 54
  55. 55. #DevoxxFR Feature Toggle 5
  56. 56. #DevoxxFR#DevoxxFR A B C A B C B 56 team 1 team 2 B C C
  57. 57. #DevoxxFR /* */ Toggle 1.0 5
  58. 58. #DevoxxFR Toggle 2.0 5
  59. 59. #DevoxxFR Toggle 3.0 (en cours) 5
  60. 60. #DevoxxFR Réduire la boucle de feedback 60
  61. 61. #DevoxxFR 61
  62. 62. #DevoxxFR Environment pipeline 6 intégration homologation UAT pré-production production 1 push = 1 deploy nombreux déploiements/jour teste le déploiement feedback très rapide 1 deploy/jour plus stable dernières fonctionnalités disponibles 1 deploy/sprint branche 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$$e ze place to be, quoi
  63. 63. #DevoxxFR#DevoxxFR Après tout cela, la question de la pérennité se pose 6
  64. 64. #DevoxxFR 6
  65. 65. #DevoxxFR#DevoxxFR Recrutement 2.0 6 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 !
  66. 66. #DevoxxFR 66
  67. 67. #DevoxxFR#DevoxxFR Et les résultats ? 6
  68. 68. #DevoxxFR 6 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
  69. 69. #DevoxxFR 69 Où sommes-nous maintenant ? construire le bon produit construire correctement le produit construire rapidement le produit endroit idéal aujourd’hui nous sommes ici
  70. 70. #DevoxxFR#DevoxxFR C’est fini ? 7
  71. 71. #DevoxxFR 7 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
  72. 72. #DevoxxFR 7 Comment ? ● Infra as code, déploiement automatisé ● Blue/Green deployment ● Culture DevOps ● Monitoring ● Plus d’automatisation des tests (tests de chaîne/distribués)
  73. 73. #DevoxxFR#DevoxxFR 7 Devops
  74. 74. #DevoxxFR#DevoxxFR Merci / Thank you 7
  75. 75. #DevoxxFR#DevoxxFR Questions ? 7

×