Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Arkup Meetup Nantes 2023 - Gestion de la dette ...

Arkup Meetup Nantes 2023 - Gestion de la dette d'architecture dans un contexte d'hypercroissance

Avatar for Cyril Beslay

Cyril Beslay

June 12, 2023
Tweet

More Decks by Cyril Beslay

Other Decks in Technology

Transcript

  1. 1

  2. 2

  3. 4

  4. 1 - DETTE TECHNIQUE ET DETTE D'ARCHITECTURE 2 - COMMENT

    LA MANAGER ? 3 - MANOMANO ET LA DETTE 5
  5. Concept de développement logiciel inventé par Ward Cunningham en 1992

    Créateur du wiki, co-créateur de l'eXtreme Programming, co-auteur du Manifesto Agile !!! 7
  6. "implied cost of additional rework caused by choosing an easy

    (limited) solution now instead of using a better approach that would take longer" 8
  7. Je code en dur les jours fériés dans mon application

    de gestion de congés solution facile ✅ nécessite du travail supplémentaire dans le futur 🫣 une autre solution plus pérenne mais plus coûteuse existe (BDD) 🤔 9
  8. 10

  9. Les développeurs, ingénieurs, product managers, ... sont-ils de bons payeurs

    ? - Comment gérer cette dette sans autorité de contrôle (banque) ? - Un choix ? Un choix libre ? - Quand contracter une dette ? 12
  10. De multiples types de dette : Technique (code, tests, infra,

    ...) Fonctionnelle (bugs) Sécurité Légale Architecture ... 14
  11. "Dans un composant ou tout process fonctionnel, écart entre le

    système actuel et les principes d'architecture / standards de l'entreprise." 15
  12. Pattern Circuit Breaker Tout appel API vers un service externe

    doit implémenter le pattern Circuit Breaker 16
  13. Pattern Circuit Breaker Tout appel API vers un service externe

    doit implémenter le pattern Circuit Breaker L'équipe A développe un Micro Service qui fait des appels à l'API La Poste sans Circuit Breaker 17
  14. Le POC qui devient la norme Une équipe a fait

    un POC avec une nouvelle technologie et l'a poussé en PROD pour vérifier l'attrait client 18
  15. Le POC qui devient la norme Une équipe a fait

    un POC avec une nouvelle technologie et l'a poussé en PROD pour vérifier l'attrait client 6 mois plus tard, le POC est toujours là et l'équipe a changé 19
  16. DETTE D'ARCHITECTURE - TYPOLOGIES choix facile (limité) d’une solution aujourd'hui

    par rapport à une meilleure approche mauvais choix de framework/outil produit qui stagne dans un contexte évolutif projet de migration non terminé création/changement de standards ... 20
  17. Dette d'architecture = analyse statique impossible Outils immatures et "inutiles"

    Difficile de quantifier l'impact, de prioriser Par où commencer ? 22
  18. CAUSES PRINCIPALES EXTERNES Business Pression et délais raccourcis Non compréhension

    du concept de dette Domaine métier volatile Peu de vision long terme 25
  19. 28

  20. 30

  21. "Il n'y a que John qui sait gérer ça" 2

    micro services sont toujours livrés en même temps Temps pour analyser/résoudre un bug Complexité excessive (3 systèmes en parallèle) 31
  22. Augmentation des coûts pour les nouvelles fonctionnalités Augmentation des bugs

    Augmentation des risques de régressions/crashs Augmentation du niveau de compétence requis Diminution de la qualité du produit 32
  23. 33

  24. Pour un crédit (dette), il y a toujours quelqu’un pour

    vous rappeler qu’il faut payer tous les mois (banque) 35
  25. ⚠️ Accumuler des dettes Banqueroute = tout jeter / non

    maintenable / plus de temps à fixer qu’à ajouter de la valeur 36
  26. 🎯 Ne pas créer de dette = 🐌 Ne pas

    saisir les opportunités d'accélération/d'innovation 39.1
  27. BONNES PRATIQUES Penser l'architecture / Faire de la conception Anticiper

    les besoins fonctionnels Noter les décisions et leurs impacts via ADR 42
  28. BONNES PRATIQUES Penser l'architecture / Faire de la conception Anticiper

    les besoins fonctionnels Noter les décisions et leurs impacts via ADR Créer des tickets de dette 43
  29. STRATÉGIE ACTIVE DE MANAGEMENT Scout Rule 20% temps par Sprint

    Investir plus de temps dans les plans de refactor/architecture 48
  30. STRATÉGIE RÉACTIVE DE MANAGEMENT Correction opportuniste (nouveau gros projet) Gel

    des nouvelles fonctionnalités Réecrire en entier un composant/process 52
  31. 57

  32. Chez ManoMano Projet X ne suit pas les standards Ça

    marche, on fait + de ventes 🚀 On corrige la dette Chez Airbus Projet X ne suit pas les standards Avion qui ne décolle pas 🛬 67
  33. SECONDE APPROCHE Récolte de données par méthode qualitative Entretiens en

    2 parties avec équipes Techniques (Managers et Tech Lead) 72
  34. QUELQUES QUESTIONS "Si vous aviez carte blanche, quelle partie de

    votre périmètre vous voudriez refactorer ? Pour quelles raisons ?" "Quels échanges avec d'autres équipes ou systèmes vous paraissent complexes ou fragiles ?" "Avez-vous pris de gros raccourcis par rapports aux standards de <theme> ?" "Êtes-vous en retard dans la maintenance de vos librairies open-source ?" 73
  35. 74

  36. POUR CHAQUE ARCHITECTURE BUILDING BLOCK Risque Quel est le risque

    que cela crée des problèmes dans le futur ? Temps Quand cela risque-t-il d'arriver ? Impact Quel impact sur l'utilisateur final ? Efficacité Quel impact sur l'efficacité de l'équipe ? Déviation Quel est l'écart vis-à-vis de nos standards ? 76
  37. 77

  38. 78

  39. QUELQUES CHIFFRES 36 équipes interviewées 36 heures + un peu

    de travail asynchrone une centaine d'ABB notés 79
  40. QUELQUES CHIFFRES 36 équipes interviewées 36 heures + un peu

    de travail asynchrone une centaine d'ABB notés Moyenne à 2,98/10 🎉 79.1
  41. QUELQUES RETOURS "Bonne (ré)introduction à la notion de dette technique"

    "Enfin un moyen de communiquer notre ressenti" "Les critères sont complexes la première fois" "Difficile de penser aux process non tech" "Peut-on inclure toute l'équipe dans la prochaine itération ?" 80
  42. CHALLENGER LES SCORES Incohérences de notations entre les équipes Certains

    composants sont masqués par la note moyenne 81.2
  43. CHALLENGER LES SCORES Etapes ajoutées : challenger les ABB les

    plus endettés avec les Managers possibilité de mettre en avant 1 ou 2 composants endettés par ABB 82
  44. 83

  45. 84

  46. ENRICHIR Mettre en corrélation les résultats des interviews avec :

    la fréquence des incidents/bugs par composant 86.1
  47. ENRICHIR Mettre en corrélation les résultats des interviews avec :

    la fréquence des incidents/bugs par composant la vélocité des équipes (Epic Cycle Time) depuis JIRA 86.2
  48. ENRICHIR Mettre en corrélation les résultats des interviews avec :

    la fréquence des incidents/bugs par composant la vélocité des équipes (Epic Cycle Time) depuis JIRA le suivi des Programmes / migrations et leurs impacts 86.3
  49. ENRICHIR Mettre en corrélation les résultats des interviews avec :

    la fréquence des incidents/bugs par composant la vélocité des équipes (Epic Cycle Time) depuis JIRA le suivi des Programmes / migrations et leurs impacts la mesure de la dette technique brute depuis Sonar 86.4
  50. PRIORISER Présentation des cartes, des alertes aux CTO + Directeurs

    Techniques Sensibilisation du business sur les notions de dette technique Choix de 3 sujets transverses par Trimestre Prochain trimestre : Un outil BI déprécié, migration vers Kafka TLS, réduction PHP 88
  51. SUIVI DES ACTIONS AVANT : Excels avec mises à jour

    manuelles et pas de vision globale 89
  52. SUIVI DES ACTIONS AVANT : Excels avec mises à jour

    manuelles et pas de vision globale MAINTENANT: Tickets JIRA avec Initiatives (par thème) et tableaux de bord 89.1
  53. 90

  54. CE QUI NE MARCHE PAS :( Difficile de trouver un

    rythme efficace pour les interviews Toujours quelques parties inconnues/cachées Encore beaucoup d'actions manuelles Pas d'outil pour stocker l'état et l'évolution (Excel) 92
  55. "La dette est trop importante dans cette partie du système,

    il faut la nettoyer avant de faire de nouvelles fonctionnalités." 93
  56. QUELQUES RETOURS SUR L'APPROCHE Reconnaître que la dette technique n'est

    pas toujours mauvaise Combattre les idées reçues dans toute l'entreprise Arrêter de tout mettre sous le tapis dette technique Identifier et prioriser les actions/plans à mener 94
  57. PROCHAINES ÉTAPES Revoir les critères de score / ajouter une

    note Métier Itérer et améliorer les interviews 95.2
  58. PROCHAINES ÉTAPES Revoir les critères de score / ajouter une

    note Métier Itérer et améliorer les interviews Trouver/Construire un outil de suivi de l'état 95.3
  59. TAKEWAYS Définir ses standards/principes d'architecture Démystifier la dette dans toute

    l'entreprise Identifier et caractériser régulièrement 96.3
  60. TAKEWAYS Définir ses standards/principes d'architecture Démystifier la dette dans toute

    l'entreprise Identifier et caractériser régulièrement Adopter différentes stratégies de management 96.4
  61. TAKEWAYS Définir ses standards/principes d'architecture Démystifier la dette dans toute

    l'entreprise Identifier et caractériser régulièrement Adopter différentes stratégies de management Construire ses propres outils 96.5