Devoxx 2016 - L'odyssée du continuous delivery

434 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
  • Soyez le premier à commenter

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

×