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

Software Craftsmanship - De le théorie à la pratique

Software Craftsmanship - De le théorie à la pratique

Support de ma présentation lors du Printemps Agile 2018

Pascal Le Merrer

March 22, 2018
Tweet

More Decks by Pascal Le Merrer

Other Decks in Programming

Transcript

  1. 1
    Software
    Craftsmanship
    De la théorie
    à la pratique
    Photo by Avi Richards on Unsplash

    View Slide

  2. 2

    View Slide

  3. 3

    View Slide

  4. 4
    Qui suis-je ?
    Pascal Le Merrer
    Développeur @ Orange
    Agiliste et Software Craftsman

    View Slide

  5. 5
    Software Craftsmanship
    1. Définition et objectif
    2. Implications
    3. Principales pratiques
    4. Que peut-on en attendre ?
    5. Impact des mauvaises pratiques
    6. Retour sur investissement
    7. Freins
    8. Que faire ?

    View Slide

  6. 6
    Software Craftsmanship
    Définition et objectif

    View Slide

  7. 7
    Qu’est-ce que le SOFTWARE CRAFTSMANSHIP ?
    § qualité
    § le bon produit
    § un produit correct
    § efficacité
    Photo by woodcraft.com

    View Slide

  8. 8
    Un état d’esprit
    § professionnalisme
    § amélioration continue
    § partage
    Photo by Roya Ann Miller on Unsplash

    View Slide

  9. 9
    Manifeste
    Image de http://manifesto.softwarecraftsmanship.org

    View Slide

  10. 10
    Pourquoi ?
    § code = source de valeur
    § code = source d’innovation
    § préservation du code
    Photo by Ilya Pavlov on Unsplash

    View Slide

  11. 11
    Software Craftsmanship
    Implications

    View Slide

  12. 12
    Implications pour les développeurs
    § L'amour du travail bien fait
    § Fierté
    § Bonnes pratiques
    § Amélioration continue
    Photo by rawpixel.com on Unsplash

    View Slide

  13. 13
    Implications pour les développeurs
    § s’entrainer régulièrement
    § outils
    § s’amuser
    § étendre ses connaissances
    aux domaines
    connexes
    Photo by rawpixel.com on Unsplash

    View Slide

  14. 14
    Implications pour les non-développeurs
    § « choix de carrière »
    § maintenir l’expertise
    Photo by Michał Parzuchowski on Unsplash

    View Slide

  15. 15
    Implications pour les non-développeurs
    développeur ó artisan
    § non-interchangeables
    § qualité = expérience +
    compétences
    § temps pour apprendre et
    s’entraîner
    § besoin d’outils
    § outils préférés
    Photo by Michał Parzuchowski on Unsplash

    View Slide

  16. 16
    Software Craftsmanship
    Principales pratiques

    View Slide

  17. 17
    Les principales pratiques
    § TDD : Test Driven Development
    § BDD : Behavior Driven
    Development
    § CI : Intégration Continue
    Photo by Samuel Zeller on Unsplash

    View Slide

  18. 18
    Les principales pratiques
    § Règles de codage et de
    nommage
    § Mesurer la qualité du code
    § Automatisation
    Photo by Samuel Zeller on Unsplash

    View Slide

  19. 19
    Les principales pratiques
    § Programmation en binôme
    § Revue de code
    § Propriété collective du code
    Photo by Samuel Zeller on Unsplash

    View Slide

  20. 20
    Les principales pratiques
    § Refactoring permanent
    § …
    Photo by Samuel Zeller on Unsplash

    View Slide

  21. 21
    Software Craftsmanship
    Que peut-on en attendre ?

    View Slide

  22. 22
    Que pouvons nous en attendre ?
    § réduire les coûts de
    maintenance
    § Augmenter la productivité
    § qualité des produits
    § durée de vie des logiciels
    § fierté de notre production
    Photo by Hannes Lochner

    View Slide

  23. 23
    Que peut-on en attendre ?
    § participer à des conférences
    § attirer de nouveaux talents
    § motivation
    § employabilité
    Photo by Hannes Lochner

    View Slide

  24. 24
    Software Craftsmanship
    Impact des mauvaises pratiques

    View Slide

  25. 25
    Le code de mauvaise qualité coûte plus cher
    § bugs è coûts
    § faible évolutivité

    View Slide

  26. 26
    Conséquences de la mauvaise
    qualité
    § faibles motivation
    § perte d’expertise
    Photo by Yeshi Kangrang on Unsplash

    View Slide

  27. 27
    Software Craftsmanship
    Retour sur investissement

    View Slide

  28. 28
    Retour sur investissement
    § 1 heure de revue de code
    = 33 heures de maintenance
    en moins
    § Le TDD peut réduire le coût
    global d’un logiciel de 40%
    § plus d’infos:
    https://medium.com/javascript-scene/the-
    outrageous-cost-of-skipping-tdd-code-
    reviews-57887064c412
    Photo by Olu Eletu on Unsplash

    View Slide

  29. 29
    Software Craftsmanship
    Freins

    View Slide

  30. 30
    Pourquoi n’est-ce pas
    généralisé ?
    § mythe du temps
    § manque d’entraînement
    § timidité
    § manque de motivation
    Photo by rawpixel.com on Unsplash

    View Slide

  31. 31
    Pourquoi n’est-ce pas
    généralisé ?
    § culture d’entreprise
    § manque de soutien
    § manque de leadership
    Photo by rawpixel.com on Unsplash

    View Slide

  32. 32
    Software Craftsmanship
    Que faire ?

    View Slide

  33. 33
    Que faire en tant que
    manager ?
    § identifier les
    développeurs
    passionnés
    § allouer du temps
    § suivre une formation
    courte
    Photo by Brooke Lark on Unsplash

    View Slide

  34. 34
    Que faire en tant que développeur ?
    § être un facilitateur
    § suivre une formation
    SC si besoin
    § revues de code
    § être un exemple
    § lire des livres
    de référence
    Photo by Alex Kotliarskyi on Unsplash

    View Slide

  35. 35
    Merci
    [email protected]
    @pascallemerrer

    View Slide

  36. 36
    Quelques ouvrages de référence
    § Clean Code: A Handbook of Agile Software Craftsmanship,
    Robert C. Martin
    § Refactoring, Martin Fowler
    § The Pragmatic Programmer
    From Journeyman to Master
    de Andrew Hunt et David Thomas
    § The Software Craftsman: Professionalism, Pragmatism, Pride,
    Sandro Mancuso
    Photo by Alex Kotliarskyi on Unsplash

    View Slide