Software Craftsmanship                  en pratique      Jean-Laurent de Morlhon - 4 Octobre 2011
Jean-Laurent de Morlhon                   Directeur Technique                          Xebia                  +12 ans expé...
http://serpodile.com
Master PlanQuest ce que le Software Craftsmanship ?   Comment *je* le mets en pratique.
SoftwareCraftsmanship     ???
CRAFTMAN-CHIPS                 @elemerdy
http://www.artisanat.fr/
http://www.economicthought.net/2011/02/selective-attention/
Historique    Livre                                            1ère Conf Pragmatic                    1ère Conf          C...
Software Craftsmanship        est une approche de développement logiciel qui             met laccent sur les «coding skill...
Crafts.man  Un homme qui pratique son métier avec une grande habileté.
! ART    http://dannorth.net/2011/01/11/programming-is-not-a-craft/
13
En bref...  • Une définition commune  • Métaphores que lon peut interpréter    de façon très différentes (art, guilde    et...
La marque "Agile"oublie les pratiques    techniques.
• Scrum...• ... Sans itérations...• ... Sans pratiques techniques...• ... Sans rétrospectives...• ...                     ...
Coding         Process
Coding   Process
Respect ingénieur logiciel        !=     Respectingénieur structure
Savoir dire Non !
Apprentissage
© 2004 Warner Bros. Entertainment Inc. All Rights Reserved.
Musique                                                                                  Musicien                         ...
En résumé• Un mouvement.• Agile *avec* les pratiques techniques• Respect du rôle de lingénieur• Apprentissage / Mentoring
En pratique...
AGILE                        TDDSOLID           CRAFT     Entrainement  Déploiement                         YAGNI    Continu
Agile...XP   Scrum      Kanban
SOLID5 Principes Single Responsability Open Closed Liskov Substitution Interface Segregation Dependency Inversion         ...
http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/                    Je...
http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/                      ...
http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/  Une opération à coeu...
http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/                      ...
http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/             Où voulez...
http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/                      ...
YAGNIYou Arent Going to Need It !
ExerciceQ: Vous avez un jar exécutable qui exécute du  code que lon veut rendre exécutable  régulièrement. Laccès au logs ...
red                 switch !           TDDrefactor   flow   green
TDD      Cest difficile.On y arrive, ça sapprends.Ils nen reviennent jamais.
Déploiement Continu Build < 2-3 minutes. Dépendance binaire Test unitaire + intégration Déploiement de lapplication complè...
http://happyprog.com/pairhero
Sentrainer !Kata (seul)Coding Dojo (en groupe)Code Retreat (tout plein)
Typical CodeRetreat Planning10h00                                         14h00        Code Session 1     Code Session 4  ...
Global Day of Code Retreat   december 3rd 2011
Learn   NewLanguages
Et à lhorizon...• Domain Driven Design• Clean Code...• TDD ++ (practice, practice practice !)• 1 langage par an
raising the bar
?
Software Craftsmanship: En pratique
Software Craftsmanship: En pratique
Software Craftsmanship: En pratique
Software Craftsmanship: En pratique
Software Craftsmanship: En pratique
Software Craftsmanship: En pratique
Software Craftsmanship: En pratique
Prochain SlideShare
Chargement dans…5
×

Software Craftsmanship: En pratique

12 459 vues

Publié le

Publié dans : Technologie

Software Craftsmanship: En pratique

  1. Software Craftsmanship en pratique Jean-Laurent de Morlhon - 4 Octobre 2011
  2. Jean-Laurent de Morlhon Directeur Technique Xebia +12 ans expérience IT +6 ans pratiques agiles @morlhon http://blog.xebia.fr jlmorlhon @ xebia.fr
  3. http://serpodile.com
  4. Master PlanQuest ce que le Software Craftsmanship ? Comment *je* le mets en pratique.
  5. SoftwareCraftsmanship ???
  6. CRAFTMAN-CHIPS @elemerdy
  7. http://www.artisanat.fr/
  8. http://www.economicthought.net/2011/02/selective-attention/
  9. Historique Livre 1ère Conf Pragmatic 1ère Conf Craftsmanship USProgrammers Craftsmanship EU 2nde conf "Craftsmanship Manifeste Craftsmanship EU over crap" Craftsmanship 1999 2008 2009 2010 Livre Livre Clean Code Apprencticeship Patterns
  10. Software Craftsmanship est une approche de développement logiciel qui met laccent sur les «coding skills» des développeurs.
  11. Crafts.man Un homme qui pratique son métier avec une grande habileté.
  12. ! ART http://dannorth.net/2011/01/11/programming-is-not-a-craft/
  13. 13
  14. En bref... • Une définition commune • Métaphores que lon peut interpréter de façon très différentes (art, guilde etc...) • Manifeste au points flous, lié au manifeste agile
  15. La marque "Agile"oublie les pratiques techniques.
  16. • Scrum...• ... Sans itérations...• ... Sans pratiques techniques...• ... Sans rétrospectives...• ... http://www.martinfowler.com/bliki/FlaccidScrum.html
  17. Coding Process
  18. Coding Process
  19. Respect ingénieur logiciel != Respectingénieur structure
  20. Savoir dire Non !
  21. Apprentissage
  22. © 2004 Warner Bros. Entertainment Inc. All Rights Reserved.
  23. Musique Musicien Professeur de Musiciens d’élite professionnels musique 5 ans 2-3 h / Semaine 2-3 h / Semaine 2-3 h / Semaine 8 ans 6 h / Semaine 2-3 h / Semaine 2-3 h / Semaine 12 ans 8 h / Semaine 6 h / Semaine 4 h / Semaine 16 ans 22 h / Semaine 11 h / Semaine 7 h / Semaine 20 ans 30+ / Semaine 24 h / Semaine 12 h / Semaine Nb heures Accumulées : 10 000 heures 8 000 heures 4 000 heuresThe Role of Deliberate Practice in the Acquisition of Expert Performance K. Anders Ericsson, Ralf Th. Krampe, and Clemens Tesch-Romer; 1993
  24. En résumé• Un mouvement.• Agile *avec* les pratiques techniques• Respect du rôle de lingénieur• Apprentissage / Mentoring
  25. En pratique...
  26. AGILE TDDSOLID CRAFT Entrainement Déploiement YAGNI Continu
  27. Agile...XP Scrum Kanban
  28. SOLID5 Principes Single Responsability Open Closed Liskov Substitution Interface Segregation Dependency Inversion http://blog.xebia.fr/2011/07/18/les-principes-solid/
  29. http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ JengaEcrire du logiciel ce nest pas une partie de
  30. http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ faire. Ce nest pas parce quon peut le faire quil faut le
  31. http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ Une opération à coeur ouvert nest pas nécessaire lorsquon enfile un vêtement.
  32. http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ Ca cancane comme un canard, ressemble à un canard mais à besoin de pile. Vous avez surement la mauvaise abstraction.
  33. http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ Où voulez vous brancher cela ?
  34. http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ électrique dans le mur ? Est ce que vous souderiez directement un branchement
  35. YAGNIYou Arent Going to Need It !
  36. ExerciceQ: Vous avez un jar exécutable qui exécute du code que lon veut rendre exécutable régulièrement. Laccès au logs passés est important. Un novice doit pouvoir les visualiser.1: Cron Job2: Talend3: Quartz Scheduler4: Je code tout, Threads & Future FTW5: Jenkins
  37. red switch ! TDDrefactor flow green
  38. TDD Cest difficile.On y arrive, ça sapprends.Ils nen reviennent jamais.
  39. Déploiement Continu Build < 2-3 minutes. Dépendance binaire Test unitaire + intégration Déploiement de lapplication complète Dés la 1ère itération (sans surcout)
  40. http://happyprog.com/pairhero
  41. Sentrainer !Kata (seul)Coding Dojo (en groupe)Code Retreat (tout plein)
  42. Typical CodeRetreat Planning10h00 14h00 Code Session 1 Code Session 4 Retrospective 1 Retrospective 411h00 15h00 Code Session 2 Code Session 5 Retrospective 2 Retrospective 512h00 16h00 Code Session 3 Code Session 6 Retrospective 3 16h4013h00 Day Retrospective ... Lunch14h00
  43. Global Day of Code Retreat december 3rd 2011
  44. Learn NewLanguages
  45. Et à lhorizon...• Domain Driven Design• Clean Code...• TDD ++ (practice, practice practice !)• 1 langage par an
  46. raising the bar
  47. ?

×