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

Software craftsmanship par la pratique

Software craftsmanship par la pratique

Introduction à Software Craftmanship à travers quelques exercices utilisant des Lego

Cyrille DUPUYDAUBY

May 11, 2017
Tweet

More Decks by Cyrille DUPUYDAUBY

Other Decks in Programming

Transcript

  1. B I E N V E N U E ,

    Q U E L Q U E S M E S S A G E S • Organisez-vous par groupes de 2 personnes, éventuellement 3 • Chaque groupe prend un lot de Lego, il y assez pour 9 groupes • Les lots sont équivalents, mais pas identiques • Merci de penser à les ranger en fin de session • Et surtout, amusez-vous • Pour me suivre: @cyrdup sur Twitter, many-cores.com pour le blog
  2. S O F T WA R E C R A

    F T S M A N S H I P PA R L A P R AT I Q U E V1.4
  3. A N I M AT E U R C Y

    R I L L E D U P U Y D A U B Y ( @ C Y R D U P ) • Animateurs de BBL • Contributeur à NFluent (http://n- fluent.net/) • Créateur de Michonne et Rafting • Speaker à Devoxx • Blog: many-cores.com • Responsable architecture technique chez GBIS (SG) • Codeur depuis plus de 30 ans • Et signataire du manifeste…
  4. S O F T WA R E C R A

    F T S M A N S H I P • Objectif: professionnalisation de la carrière du développeur • Mise en avant de • La qualité du logiciel produit • La création de valeur systématique • L’animation d’une communauté de professionnels • Un partenariat avec le client
  5. S O U R C E S • Les exercices

    ont été conçus par Mike Bowler (@mike_bowler) et Bryan Beecham (@BillyGarnet) • http://www.gargoylesoftware.com
  6. 3 A S P E C T S • La

    simplicité • Test Driven xxx • Dette technique
  7. E X I G E N C E S •

    Fournir • Une personne • Une maison • Budget : 3 minutes
  8. R É S U LTAT • Une maison ET une

    personne? • Combien de briques utilisées ? toutes? peu? • Et si une brique coute 1000€ ?
  9. S I M P L I C I T É

    A L L E R À L’ E S S E N T I E L
  10. O N R E F A I T L E

    M AT C H • Fournir • Une personne • Une maison • Budget : 1 minute
  11. PA I R L E G O • Approche Ping

    Pong • A tour de rôle • L'autre jouera le rôle du client • Un membre du groupe joue le rôle du constructeur • Le dernier jouera le rôle de QA (si 3 membres) • Ensuite permutez les rôles • Soit client<->constructeur • soit client->constructeur->QA- >client
  12. T E S T D R I V E N

    D E V E L O P M E N T
  13. T E S T D R I V E N

    D E V E L O P M E N T • Un membre du binôme écrit un TEST. Le test doit échouer au départ. Exemples: • L’animal a-t-il 4 pattes? • Le bâtiment a-t-il une porte? • La personne est elle plus grande que l’animal? • L'autre construit • La QA confirme la conformité aux tests.
  14. E X I G E N C E S D

    U M É T I E R S • Fournir • Une personne • Un animal • Une plante • Un véhicule • Un bâtiment
  15. E X I G E N C E S •

    Fournir une personne, un animal, une plante, un véhicule, un bâtiment • Pour ajouter des legos, il faut un test qui rate • A chaque test passé, on inverse les rôles • Budget : 7 minutes
  16. B I L A N • Observations & impressions •

    Avez-vous couverts les 5 besoins? • Est-ce que tous les tests passent? • Démo
  17. M É T H O D E • Le besoin

    métier est d’avoir une maison avec certaines caractéristiques • A chaque itération, 1 nouvelle exigence • Une fois assemblées, les briques ne peuvent pas être séparées • Les itérations font 30 secondes!
  18. L A M A I S O N D O

    I T AVO I R 2 M U R S R E L I É S
  19. L A M A I S O N D O

    I T AVO I R U N E F E N Ê T R E D A N S U N M U R
  20. L A M A I S O N D O

    I T Ê T R E E N T O U R É E D E M U R S
  21. L A M A I S O N D O

    I T AVO I R U N T O I T E N P E N T E
  22. L A M A I S O N D O

    I T AVO I R U N E C H E M I N É E
  23. L A M A I S O N D O

    I T AVO I R U N E P O RT E A U R E Z D E C H A U S S É E
  24. L A M A I S O N D O

    I T AVO I R U N E A U T R E F E N Ê T R E S U R U N S E C O N D M U R
  25. L A M A I S O N D O

    I T AVO I R U N T O I T P L AT
  26. F I N D U C H A N T

    I E R • prenez votre maison en photo • discussions
  27. R A P P E L S D E S

    E X I G E N C E S A. Deux murs reliés B. Une fenêtre dans un des murs C. Entourée de murs D. Toit en pente E. Une cheminée F. Une entrée au rez-de-chaussée G. Une autre fenêtre sur un deuxième mur H. Avoir un toit plat (changement d’avis)
  28. M É T H O D E • Le besoin

    métier est d’avoir une maison avec certaines caractéristiques • A chaque itération, 1 nouvelle exigence • Les briques peuvent être librement réassemblées • Les itérations font 30 secondes!
  29. L A M A I S O N D O

    I T AVO I R 2 M U R S R E L I É S
  30. L A M A I S O N D O

    I T AVO I R U N E F E N Ê T R E D A N S U N M U R
  31. L A M A I S O N D O

    I T Ê T R E E N T O U R É E D E M U R S
  32. L A M A I S O N D O

    I T AVO I R U N T O I T P L AT
  33. L A M A I S O N D O

    I T AVO I R U N B A L C O N
  34. L A M A I S O N D O

    I T AVO I R U N E E N T R É E A U R E Z D E C H A U S S É E
  35. L A M A I S O N D O

    I T AVO I R U N E B A I E V I T R É E / G R A N D E F E N Ê T R E S U R U N S E C O N D M U R
  36. L A M A I S O N D O

    I T AVO I R U N T O I T E N P E N T E
  37. R A P P E L S D E S

    E X I G E N C E S A. Deux murs reliés B. Une fenêtre dans un des murs C. Entourée de murs D. Toit plat E. Un balcon F. Une entrée au rez-de-chaussée G. Une baie vitrée/grande fenêtre H. Avoir un toit en pente (changement d’avis)
  38. B I L A N • Qu’avez vous ressenti durant

    le premier exercice ? le second ?
  39. VO U S AV E Z E X P É

    R I M E N T É • Simplicité • TDD • Dette technique
  40. R É F É R E N C E S

    • Clean Coder (Rober C.Martin) • The Software Craftsman: Professionalism, Pragmatism, Pride (Sandro Mancuso) • Cyrille Dupuydauby: @Cyrdup, http://many-cores.com, http:// www.n-fluent.net/