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

S’endetter pour se Développer : Stratégies d’In...

S’endetter pour se Développer : Stratégies d’Investissement en Dette Technique

Dans le monde du développement logiciel, la dette technique est souvent perçue comme un fardeau à éviter à tout prix. Pourtant, à l’image d’un prêt bancaire bien maîtrisé, elle peut être un levier puissant pour accélérer l’innovation et répondre rapidement aux défis du marché. Cette conférence propose d’explorer la dette technique sous un angle inédit : celui de l’investissement stratégique.

En comparant la dette technique à la dette bancaire, nous verrons comment, pourquoi et à quel moment il peut être bénéfique d’en contracter, notamment en phase de Product-Market Fit (PMF). Nous aborderons les différents types de dette technique, leurs avantages et leurs risques, tout en expliquant comment les gérer de manière optimale pour maximiser le retour sur investissement (ROI).

Public visé : Développeurs, lead devs, CTO, Product Owners, et toute personne impliquée dans la gestion de projets logiciels.

Objectifs :
- Démythifier la dette technique et la considérer comme un investissement stratégique.
- Identifier les moments clés où contracter de la dette technique peut accélérer le développement produit.
- Fournir des outils et des méthodes pour gérer efficacement la dette technique et en tirer le meilleur parti.

Avatar for Ludovic Lefebvre

Ludovic Lefebvre

March 10, 2025
Tweet

More Decks by Ludovic Lefebvre

Other Decks in Programming

Transcript

  1. S’endetter pour se Développer Stratégies d’Investissement en Dette Technique SnowCamp

    2025 24/01/2025 01 - À la mesure des défis digitaux 1 Ludovic Lefebvre Product Owner
  2. Peaksys, filiale Tech de Cnova Nous sommes des constructeurs de

    plateforme, à l’échelle 17 millions de visiteurs uniques/mois 1 milliard de recherches moteur/an Jusqu’à 1200 commandes/minute lors du Black Friday 14 000 vendeurs 50 millions de produits 9700 mouvements d’offre / seconde 14 millions De colis expédiés /an 700 ms Temps de descente d’une commande aux entrepôts + de 6000 Marques et vendeurs 93 millions d’impressions/jour 1 milliard requêtes filtrées/jour 30% d’économie de trafic via le blocage des robots Leader Français du E-commerce Filiale dédiée aux Solutions marketplace Filiale dédiée à la logistique Marque dédiée au marketing digital Marque dédiée à la cybersécurité ACTIVITÉ B2B ACTIVITÉ B2C 650 passionné(e)s de tech 1 changement en production toutes les 3 minutes
  3. S’endetter pour se DEVelopper Monnaie stable code stable Gestion proactive

    politique monétaire Contrôle de l’inflation Porteur de confiance Gouvernance SLA / SLO / Contrat d’interface <code/>
  4. S’endetter pour se DEVelopper 5 Définition de la dette technique

    "Technical Debt" is a term to describe the obligations incurred by a software organization when it chooses an expedient design or construction approach that increases complexity and is more costly in the long term. Ward Cunningham @ESO/Wikimedia Commons Ward Cunningham at Wikimania 2006 CC BY-SA 3.0
  5. Définition de la dette technique S’endetter pour se DEVelopper Principal

    : Intérêt : Client PO CP Dev Dev Maison Mensualité Voiture Mensualité Dépendance obsolète CVE, Bugs, Coût de remplacement Short code Tests, Nomenclature Documentation minimale Passage de connaissance difficile Architecture Coût plus élevé pour plus d’évolution Principal : Intérêt : BANK
  6. S’endetter pour se DEVelopper © Keystone-France—Gamma-Rapho/Getty Images Berlin, Reichsbank, Geldauflieferungsstelle,

    Source : Bundesarchiv Identifiant : Bild 183-R1215- 506 Licence : Creative Commons Attribution-Share Alike 3.0 Germany (CC BY-SA 3.0 DE) https://www.cgb.fr/100-millionen-mark-allemagne-dresden-1923-ps-0965-ttb,b92_5276,a.html
  7. 8 Cas du Knight Capital 2012 S’endetter pour se DEVelopper

    def startNewTrading(): buy_level, sell_level = trade(POWER_PEG) @tradingview.com https://www.statsig.com/blog/lose-half-a-billion-dollars-with-bad-feature-flags-knight- capital https://giphy.com/
  8. Le cercle vicieux Sprint planning Résolution de la dette technique

    Difficultés à traiter les users stories Ajout de dette technique Fin de sprint S’endetter pour se DEVelopper https://gifer.com/
  9. Les métriques S’endetter pour se DEVelopper Deployment frequency Mean time

    to restaure Lead time for change Change failure rate ACCELERATE CODE ANALYSIS PRODUCT MANAGEMENT Fan in / Fan out Length of code Cyclomatic complexity Length of indentifiers Fog index Depth of conditional nesting Time to market Defect density Team velocity Code churn Dette technique Chaque nouvelle ligne de code semble casser quelque chose d'autre J'ai l'impression de bricoler en permanence J’en ai marre de corriger des bugs La solution est bancale, mais on n'a jamais le temps de la refactorer
  10. Reconnaitre la dette User stories Bugs Technical stories Technical Debts

    Valeur ajoutée Visible Invisible ▪ Est-ce que le sujet est visible ? ▪ Est-ce que le sujet est actif ou passif ? Valeur due S’endetter pour se DEVelopper
  11. Reconnaitre la dette 3% 21% 31% 45% Bugs Dettes UserStory

    Us Tech 25% 29% 17% 29% Bugs Dettes UserStory Us Tech S’endetter pour se DEVelopper
  12. Reconnaitre la dette 0 10 20 30 40 50 60

    70 80 90 100 Sprint 24-10 Sprint 24-11 Sprint 24-12 Sprint 24-13 Sprint 24-14 Sprint 24-15 Sprint 24-16 Sprint 24-17 Sprint 24-18 Sprint 24-19 Sprint 24-20 Dettes Bugs UserStory Us Tech S’endetter pour se DEVelopper
  13. Reconnaitre la dette 14 0 10 20 30 40 50

    60 70 80 90 100 Sprint 24-10 Sprint 24-11 Sprint 24-12 Sprint 24-13 Sprint 24-14 Sprint 24-15 Sprint 24-16 Sprint 24-17 Sprint 24-18 Sprint 24-19 Sprint 24-20 Dettes Bugs UserStory Us Tech S’endetter pour se DEVelopper 20 % 33 %
  14. Titre de la présentation - Date 15 ▪ Feature flipping

    ▪ Mise à jour ▪ librairie ▪ design système obsolète 6% 26% 39% 29% Bugs Dettes UserStory Us Tech
  15. 16 S’endetter pour se DEVelopper Sources : Progress of Their

    Road. New York: Brown & Hewitt, Printer: 1867. Rare Book and Special Collections Division (155), Library of Congress, Washington DC Jkan997, "Transcontinental railroad route2 », Domaine public https://youtube.com/shorts/I7FbZLvgF2Y?si=SrWKgHst8Rz0h25F
  16. Catégorisation de la dette • Etat de l’art obsolètes •

    Incohérence mineure dans la structure de la base de données • Code redondant • Anciennes configurations • script obsolète • Feature Flipping • Refactoring de code pour améliorer la lisibilité • Standardisation • Nommage • Ajout de tests unitaires non critiques • Obsolescence de librairie • Découverte d'un CVE • Dérive de l’architecture • Changement du contexte • Shadow it • Déploiement de plateforme / structure • Implémentation rapide d’une fonctionnalité • Déploiement sans tests automatisés • Proof Of Concept Identification S’endetter pour se DEVelopper Impact fort Impact faible Intentionnel Involontaire Dette d’Optimisation Planifiée BIN Dette stratégique Dette de Découverte € Dette risquée ou technique
  17. Elevé Moyennement élevé Moyenne Faible Catégorisation de la dette Trouver

    la bonne priorité S’endetter pour se DEVelopper Dette risquée ou technique Dette stratégique Dette de Découverte € Dette d’Optimisation Planifiée BIN
  18. Les conditions d’un prêt L'utilité d'avoir une Quality Gate TEST

    DEVELOPPEMENT • Dev 1 • Dev 2 • Dev 3 PRODUCTION • PROD • UAT Analyse de code Analyse de dépendance Analyse de sécurité S’endetter pour se DEVelopper
  19. Les conditions d’un prêt 21 Suivre la complexité Evolution du

    système Complexité du système Raptor 1 Raptor 2 Raptor 3 Premier test au sol : 2016 Première en vol : 2019 2019 2023 2024 - https://www.reddit.com/r/SpaceXMasterrace/comments/1ej7ulv/official_comparison_image_of_raptor_ versions/?tl=fr&utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_c ontent=share_button S’endetter pour se DEVelopper
  20. Voiture Véhicule Se déplacer en autonomie sur une longue distance

    Faciliter le déplacement Support du produit Permettre la direction Faciliter le déplacement S’endetter pour se DEVelopper
  21. Racine carrée inverse rapide 26 Ne pas « bien faire

    », mais faire efficace S’endetter pour se DEVelopper Faire correctement ne veut pas dire faire forcément conventionnellement bien @Forest "LordHavoc" Hale Nexuiz (screenshot 04) GNU General Public License version 2.0 (GPL-2.0)
  22. Cycle de développement logiciel A quel moment investir ? Introduction

    Croissance Maturité Déclin - + +++ - - ++ - S’endetter pour se DEVelopper
  23. Bien investir Avantages stratégiques S’endetter pour se DEVelopper Avantage concurrentiel

    Opportunités D’apprentissage Allocation des ressources Flexibilité dans le développement Respect des délais Validation des idées Mise sur le marché plus rapide
  24. Construction d’un service Baleen Core code Sampling Apprentissages 0 test

    Infra. POC PlugIn 10% en béta Couverture test Socle 50% live AB business Couverture test CI/CD Validation 100% live Pilotable Mise à l’échelle S’endetter pour se DEVelopper API JS </>
  25. Conclusions S’endetter pour se DEVelopper TL;TR Gérer la dette logicielle

    Définition Matrice : Visibilité / Valeur Matrice : Impact / Intentionnel Risques Qualité Vélocité TTM Survie Avantages TTM Gagner du temps MVP Apprentissage Gestion Relevé comptable 20% < … <33% Quality Gate Evaluations Complexité Découplage Timing