#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
team ?
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érénnité
se pose
6
#DevoxxFR 6
#DevoxxFR#DevoxxFR
Recrutement 2.0
6
4 principes :
● les développeurs recrutent leurs
paires
● état d’esprit plus importan...
#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

339 vues

Publié le

L'année 2015 a été une année avec de profonds changements et de défis pour la DSI de GBIS et pour le domaine des financements plus particulièrement. Nous avons pris un grand virage vers le Continuous Delivery et nous nous sommes "refactorés" de fond en comble. Au menu : passage en Feature Teams, mise en place du Trunk Based Development, livraisons gérées grâce à des Release Trains, Toggle Feature, adoption en masse du TDD, BDD. Nous avons connu un grand succès avec notre virage Agile. Voulez-vous connaître nos difficultés, victoires, ce qui a bien marché ou non ?

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

Aucun téléchargement
Vues
Nombre de vues
339
Sur SlideShare
0
Issues des intégrations
0
Intégrations
18
Actions
Partages
0
Téléchargements
8
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 team ? 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érénnité se pose 6
  64. 64. #DevoxxFR 6
  65. 65. #DevoxxFR#DevoxxFR Recrutement 2.0 6 4 principes : ● les développeurs recrutent leurs paires ● é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

×