Software Craftsmanship                  en pratique      Jean-Laurent de Morlhon - 20 Octobre 2011
Jean-Laurent de Morlhon            Directeur Technique                   Xebia             +12 ans expérience IT          ...
Jean-Laurent de Morlhon              http://serpodile.com
Jean-Laurent de Morlhon             Développeur
Master Plan1) Quest ce que le Software Craftsmanship ?   2) Comment *je* le mets en pratique.
1
SoftwareCraftsmanship     ???
CRAFTMAN-CHIPS                 @elemerdy
craftsmanship
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/
16
En bref...• Une définition commune• Métaphores que lon peut interpréter de  façon très différentes (art, guilde ...)• Manif...
La marque "Agile"oublie les pratiques    techniques.
Scrum en 2011...• Avec des post-its et des stand-  ups• ... Sans itérations...• ... Sans rétrospectives...• ... Sans prati...
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
2
En pratique...
AGILE                        TDDSOLID           CRAFT     Entrainement  Déploiement                         YAGNI    Continu
Agile...XP   Scrum      Kanban
SOLID     5 PrincipesSingle ResponsabilityOpen ClosedLiskov SubstitutionInterface SegregationDependency 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 démarre  du code que lon veut lancer  régulièrement.  Laccès au logs passés est...
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)
Planning de CodeRetreat usuel 10h00                                         14h00         Code Session 1     Code Session ...
Global Day of Code Retreat    3 décembre 2011
Pratiquezde nouveaux  langages
Et à lhorizon...• Domain Driven Design• Clean Code...• TDD ++ (practice, practice, practice !)• 1 langage par an
raising the bar
?
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
Prochain SlideShare
Chargement dans…5
×

Software Craftsmanship : en Pratique - AgileTour

1 786 vues

Publié le

Talk I gave during Agile Tour 2011, on Software Craftsmanship.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 786
Sur SlideShare
0
Issues des intégrations
0
Intégrations
69
Actions
Partages
0
Téléchargements
20
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Software Craftsmanship : en Pratique - AgileTour

  1. 1. Software Craftsmanship en pratique Jean-Laurent de Morlhon - 20 Octobre 2011
  2. 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. 3. Jean-Laurent de Morlhon http://serpodile.com
  4. 4. Jean-Laurent de Morlhon Développeur
  5. 5. Master Plan1) Quest ce que le Software Craftsmanship ? 2) Comment *je* le mets en pratique.
  6. 6. 1
  7. 7. SoftwareCraftsmanship ???
  8. 8. CRAFTMAN-CHIPS @elemerdy
  9. 9. craftsmanship
  10. 10. http://www.artisanat.fr/
  11. 11. http://www.economicthought.net/2011/02/selective-attention/
  12. 12. Historique Livre 1ère Conf Pragmatic 1ère Conf Craftsmanship US ParisProgrammers Craftsmanship EU Software Craftsmanship Community "Craftsmanship Manifeste over crap" Craftsmanship 1999 2008 2009 2010 2011 Livre London Livre Apprencticeship Software Clean Code Craftsmanship Patterns Comunity
  13. 13. Software Craftsmanship est une approche de développement logiciel qui met laccent sur les «coding skills» des développeurs.
  14. 14. Crafts.man Un homme qui pratique son métier avec une grande habileté.
  15. 15. ! ART http://dannorth.net/2011/01/11/programming-is-not-a-craft/
  16. 16. 16
  17. 17. En bref...• Une définition commune• Métaphores que lon peut interpréter de façon très différentes (art, guilde ...)• Manifeste au points flous, lié au manifeste agile
  18. 18. La marque "Agile"oublie les pratiques techniques.
  19. 19. Scrum en 2011...• Avec des post-its et des stand- ups• ... Sans itérations...• ... Sans rétrospectives...• ... Sans pratiques techniques...• ... http://www.martinfowler.com/bliki/FlaccidScrum.html
  20. 20. Coding Process
  21. 21. Coding Process
  22. 22. Respect ingénieur logiciel != Respectingénieur structure
  23. 23. Savoir dire Non !
  24. 24. Apprentissage
  25. 25. © 2004 Warner Bros. Entertainment Inc. All Rights Reserved.
  26. 26. 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
  27. 27. En résumé• Un mouvement.• Agile *avec* les pratiques techniques• Respect du rôle de lingénieur• Apprentissage / Mentoring
  28. 28. 2
  29. 29. En pratique...
  30. 30. AGILE TDDSOLID CRAFT Entrainement Déploiement YAGNI Continu
  31. 31. Agile...XP Scrum Kanban
  32. 32. SOLID 5 PrincipesSingle ResponsabilityOpen ClosedLiskov SubstitutionInterface SegregationDependency Inversion http://blog.xebia.fr/2011/07/18/les-principes-solid/
  33. 33. http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ JengaEcrire du logiciel ce nest pas une partie de
  34. 34. 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
  35. 35. 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.
  36. 36. 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.
  37. 37. http://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-pictures/ Où voulez vous brancher cela ?
  38. 38. 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
  39. 39. YAGNIYou Arent Going to Need It !
  40. 40. ExerciceQ: Vous avez un jar exécutable qui démarre du code que lon veut lancer régulièrement. Laccès au logs passés est important. Un novice doit pouvoir les visualiser.1: Cron Job2: Talend3: Quartz Scheduler4: Jenkins5: Je code tout, Threads & Future FTW !
  41. 41. red switch ! TDDrefactor flow green
  42. 42. TDD Cest difficile.On y arrive, ça sapprends.Ils nen reviennent jamais.
  43. 43. 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)
  44. 44. http://happyprog.com/pairhero
  45. 45. Sentrainer !Kata (seul)Coding Dojo (en groupe)Code Retreat (tout plein)
  46. 46. Planning de CodeRetreat usuel 10h00 14h00 Code Session 1 Code Session 4 Retrospective 1 Retrospective 4 11h00 15h00 Code Session 2 Code Session 5 Retrospective 2 Retrospective 5 12h00 16h00 Code Session 3 Code Session 6 Retrospective 3 16h40 13h00 Day Retrospective ... Lunch 14h00
  47. 47. Global Day of Code Retreat 3 décembre 2011
  48. 48. Pratiquezde nouveaux langages
  49. 49. Et à lhorizon...• Domain Driven Design• Clean Code...• TDD ++ (practice, practice, practice !)• 1 langage par an
  50. 50. raising the bar
  51. 51. ?

×