SlideShare une entreprise Scribd logo
1  sur  119
Télécharger pour lire hors ligne
SENSIBILISATION AU
SOFTWARE CRAFTSMANSHIP
Séance de rattrapage/décryptage/démystification
Agile Grenoble 2017 @saby_nastasia
Nastasia Saby
Zenika
Je suis Nastasia, développeur fan de software craftsmanship et de Big Data.
Je travaille pour Zenika, une SSII avec 7 agences en France, 1 à Singapour et 1 en cours de construction à Montréal. Nous nous intéressons à plein
de choses : Agilité, Web, ...
Je vous propose une présentation sur le software craftsmanship pour comprendre ce qui se cache et découle de ce terme parfois vu de manière si
énigmatique.
Speaker notes
Merci aux sponsors d'Agile Grenoble ainsi qu'aux organisateurs, speakers et auditeurs.
Speaker notes
Comme l'informatique, c'est nouveau, on est en droit de se demander de quoi il s'agit.
Est-ce de l'ingénierie ?
On voit très souvent ce parallèle-là.
Après tout, originellement, les ingénieurs construisent des choses.
On fait des logiciels. La différence est peut-être juste dans l’immatérialité.
Speaker notes
Est-ce que c'est de la science ?
On parle de sciences de l'informatique.
Speaker notes
Est-ce que c'est un domaine industriel ?
On parle d'industrialisation avec l'automatisation de tâches répétitives.
Speaker notes
Est-ce que c'est de l'art ?
On est dans la construction de quelque chose.
Le fait-on avec esthétisme.
Y a-t-il une notion d'esthétisme ?
Y a t-il un code beau ? ou pas beau ?
Speaker notes
OU ALORS ?
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Je vous en propose une autre.
Speaker notes
Celle de l'artisanat.
Software craftsmanship = artisanat du logiciel
Nous utilisons un savoir-faire pour construire des choses à vocation utilitaire.
Speaker notes
PENDANT LONGTEMPS ...
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Pendant longtemps, j'ai dû ruser pour expliquer mon métier.
Speaker notes
J'expliquais que j'étais comme un constructeur de chaises.
Je devais maîtriser des outils, des éléments (tissu, bois) pour construire une chaise qui réponde aux besoins et dure dans le temps.
J'expliquais qu'il n'y a pas deux manières identiques de faire une chaise, qu'il y aura toujours des différences dans le rendu entre deux constructeurs
de chaise, mais que la chaise répondra aux besoins.
Je tissais la métaphore de l'artisanat sans m'en rendre compte.
Speaker notes
LE SOFTWARE CRAFTSMANSHIP EST UN ÉTAT
D'ESPRIT
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Cette métaphore nous amène vers un état d'esprit.
Le software craftsmanship n'est pas un set de pratiques, mais bien un état d'esprit qui découle d'une métaphore :
- Veille technique
- Vie communautaire
- Vie professionnelle/privée équilibrée
Speaker notes
WHAT IS SOFTWARE DESIGN?
Jack W. Reeves
1992
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Le début officiel (même si l'idée est là depuis le début) vient d'un article qui interroge sur ce qu'est la conception d'un logiciel.
Speaker notes
C++
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
En 1992, le C++ et l'orienté objet suscitent un fort engouement.
Jack W. Reeves explique que cet engouement vient du fait que le C++ permet de concevoir plus facilement une application.
Speaker notes
Il a assisté à une conférence qui se demandait si l'informatique était bien de l'ingénierie.
Mais qu'est-ce que l'ingénierie ?
C'est construire une documentation qu'on donne à une équipe qu'on ne connaît pas et qui va réaliser le produit sans l'intervention du concepteur.
Mais en informatique, qu'est-ce que la documentation et qu'est-ce que la main d'oeuvre ?
Speaker notes
La main d'oeuvre, c'est le compilateur/interprétateur. L'informatique ce sont des 1 et des 0.
Le code c'est la documentation.
Construire un logiciel aujourd'hui c'est facile, mais le concevoir c'est compliqué. Et le travail est davantage là-dedans et celui-ci est artisanal.
Speaker notes
C'est comme ça qu'il met en avant l'artisanat du logiciel.
Speaker notes
THE PRAGMATIC PROGRAMMER - FROM JOURNEYMAN
TO MASTER
Andrew Hunt and David Thomas
1999
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
En 2001, nous avons un livre bien plus connu qui pose l'idée que c'est en développant qu'on devient développeur et qui met la pratique au coeur du
métier.
Speaker notes
SOFTWARE CRAFTSMANSHIP, THE NEW IMPERATIVE
Pete McBreen
2001
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
En 2001, ce livre explique que l'ingénierie n'est rien d'autre qu'une métaphore et que du coup on a le droit d'en proposer une autre.
Speaker notes
En 1968, une conférence mettait en avant l'ingénierie dans l'informatique. Ils étaient sur de grosses applications avec de forts besoins en sécurité
(du style NASA) et construisaient le hardware et le software.
Mais aujourd'hui, la plupart des besoins ne ressemblent pas à ça.
Speaker notes
L'artisanat répond plus aux besoins les plus courants de rapidité et d'agilité.
Speaker notes
2002 - Object Mentor fait du Software Apprenticeship
2006 - 8thLight est la première Software Craftsmanship company
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
2002 et 2006 : des entreprises s'intéressent officiellement au software craftsmanship
Speaker notes
CRAFTSMANSHIP OVER CRAP (UNCLE BOB)
Une cinquième valeur est proposée au Manifeste Agile : craftsmanship over crap.
Elle est refusée.
Speaker notes
YOU CAN'T BE AGILE IF YOUR CODE SUCKS
Le craftsmanship s'inscrit dans le mouvement agile
Speaker notes
2008 - Clean Code - A handbook of Agile Software Craftsmanship
2008 - Software Craftsmanship Summit
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Un livre d'Uncle Bob en 2008 et un forum autour du Craftsmanship
Speaker notes
MANIFESTE CRAFTSMANSHIP
2009
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Puisque la proposition d'Uncle Bob n'a pas été ajouté au manifeste agile, on crée un manifest craft
Le but est d'élever le niveau
Speaker notes
Pas seulement des logiciels opérationnels,
mais aussi des logiciels bien conçus.
Pas seulement l'adaptation aux changements,
mais aussi l'ajout constant de la valeur.
Pas seulement les individus et leurs interactions,
mais aussi une communauté de professionnels.
Pas seulement la collaboration avec les clients,
mais aussi des partenariats productifs.
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
On reconnaît le manifeste agile.
L'idée c'est de souligner ce qui est sous-jacent
Speaker notes
Il n'y a pas d'opposition avec l'agilité, mais plutôt l'envie de redonner de l'importance à certaines idées agiles qui ont été laissées de côté
Speaker notes
UN RETOUR A L'EXTREME PROGRAMMING
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Comme l'extrême programming.
On parle souvent de Scrum, de Kanban, mais peu d'extrême programming.
Sa particularité : essayer de trouver des solutions pour un code agile
Speaker notes
Contre le taylorisme, il s'agit de trouver d'autres manières de fonctionner.
Ca donne lieu à des principes, des valeurs et des pratiques.
Speaker notes
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Tous ces principes n'appartiennent pas au mouvement craftsmanship. C'est juste qu'on remet sur le devant de la scène de vieux concepts.
Speaker notes
MAIS ...
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
je vais essayer de répondre à des interrogations/problèmes que vous pourriez avoir/rencontrer.
Speaker notes
IL EST DIFFICILE D'ÊTRE CONTRE LE MANIFESTE
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
En effet, le manifeste n'ayant rien de violent en soi, il peut paraître difficile de s'y sentir opposé.
C'est un éclairage.
Speaker notes
LE #SOFTWARECRAFTSMANSHIP A TENDANCE A
DEVENIR UN BUZZWORD
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
En effet, la tentation du buzzword n'est jamais loin.
Pourtant, c'est dommage de ne pas en parler.
Speaker notes
EST-CE QUE LES DÉVELOPPEURS SONT VRAIMENT
DES ARTISANS DU CODE ?
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Tout le monde ne sera pas d'accord avec ça.
Mais l'important c'est l'état d'esprit qui découle de cette métaphore.
Speaker notes
LE SOFTWARE CRAFTSMANSHIP EST UN ÉTAT
D'ESPRIT
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
L'important est que c'est un état d'esprit
Pas un set de pratiques qui peuvent toujours être remises en question, mais plutôt une démarche, une approche
Speaker notes
UN MOUVEMENT : EQUIPE, PARTAGE
Comment mieux faire ?
Coding dojo
Kata
Lectures
Et comment ça peut se matérialiser ?
L'idée est d'élever le niveau., donc de trouver des moyens de s'améliorer.
Coding dojo, lecture
Speaker notes
QU'EN TIRE-T-ON ?
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Pour certains, c'est juste un délire d'artistes du code
Speaker notes
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
LE CRAFTSTMANSHIP, UN IDÉAL
D'ARTISTES ?
Alors déjà, on peut dire qu'artisan et artiste sont deux choses différentes
Quand on dit artiste, on entend quelque chose d'esthétique et de beau.
Alors, j'ai cherché ce qu'était un code beau et j'ai trouvé.
Speaker notes
Ca c'est un code beau.
Et moi aussi j'adore les codes beaux ... dans les films.
Mais Matrix c'est un film. Personne n'a envie d'un code comme ça.
Quand on parle de "code beau" on veut du code maintenable, lisible, debuguable, où on puisse ajouter de nouvelles fonctionnalités facilement. Et ça
ça veut dire business, time to market, ...
Speaker notes
L'homme supérieur
estime le fruit et
délaisse la fleur
J'aimerais vous citer Lao Tseu, sage chinois.
Mais que vient-il faire ici ?
Lao Tseu avait déjà compris l'esprit craft avant nous.
Et en effet.
L'idée n'est pas d'être dans un idéal, mais de sortir un produit. Mais pour se faire il faut que la fleur soit belle pour avoir un beau fruit.
Comme quoi les sages d'antan ont encore tant à nous apprendre
Speaker notes
PEUT-ON SE PRIVER DE LA QUALITÉ ?
Il y a une dée qui voudrait qu'on oppose qualité du code et qualité du produit fini
Une équipe qui rogne sur la qualité est une équipe qui s'autoalimente en travail et du coup c'est une équipe qui a du mal à être dans les délais et qui
a du mal à être dans les coups.
Speaker notes
BUILD THE RIGHT THING
Itérations courtes
Equipe dev/fonctionnel
Oui il faut livrer la bonne chose. Et c'est pour ça peut-être que le DDD est une discussion des meetups craft.
Speaker notes
BUILD THE THING RIGHT
Tests : TDD, BDD
Base de code propre
Refactoring
Mais il faut aussi livrer la chose comme il faut.
Et c'est pour ça qu'on s'interroge sur les meilleures manières d'y parvenir : TDD, refactoring, ...
Speaker notes
On veut construire des cathédrales qui durent pas et non pas qu'on jette tous les 2 ans.
Le refactoring doit permettre à Notre Dame d'exister des siècles après en étant toujours aussi belle et solide
Speaker notes
QUAND ON EMPRUNTE, IL FAUT TOUJOURS
REMBOURSER À UN MOMENT DONNÉ
La dette technique, c'est une image forte.
Si on ne rembourse jamais et qu'on continue à emprunter toujours et toujours, à un moment donné, il n'y a plus d'argent et les huissiers viennent
frapper à votre porte.
Là, il n'y a plus de produit qui fonctionne. Il n'y a plus rien. Et on est tenté de tout réécrire mais c'est dommage
Speaker notes
Les boy scoots quand ils campent laissent le lieu plus propre que quand ils y sont arrivés.
Cette image va bien avec le code.
Speaker notes
Et c'est comme ça qu'on va vite.
La qualité, ça permet d'aller vite. Et pas le contraire.
Speaker notes
FIERTÉ
But du craftsmanship à mon sens c'est la fierté de toute l'équipe (dev, client, PO, ...) vis-à-vis de ce qu'on réalise
Speaker notes
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
LE CRAFTSTMANSHIP, UN IDÉAL
D'ARTISTES ?
Non, ce n'est pas ça
Souci d'efficacité
Intérêt porté au produit
Intérêt porté à la satisfaction
Fierté
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
LE CRAFTSTMANSHIP,
UN TRUC RÉSERVÉ
AUX HÉROS ?
Il y a aussi cette idée que je trouve parfois, que c'est un truc réservé aux warriors.
Speaker notes
Outre le fait que c'est une communauté accueillante pour tout le monde, la question du héros est posée.
Speaker notes
LA TENTATION DU HÉROS
Je pense qu'on a tous envie d'être un héros. Qui n'a jamais eu envie d'être Wonder Woman ?
D'être fort, d'être admiré. D'être celui qui va toujours plus loin. Qui en bave, qui se prend des coups mais qui se relève toujours ?
La personne qui éteint le feu tous les jours.
Mais pourquoi est-ce que ça devrait être le feu tous les jours ?
Pourquoi est-ce qu'on devrait faire toujours plus d'heures ?
Est-ce bien normal ? Est-ce bien la solution ?
Personnellement je l'ai fait. J'ai essayé d'être un héros
Je faisais de plus grosses heures. Je ne disais jamais "non".
Speaker notes
Mais au bout d'un moment, je ressemblais plus à un chat qui dort tout le temps qu'à wonder woman : j'étais juste épuisée.
Je pouvais bien rester 1000 heures de plus par jour, mais je n''étais capable de rien.
Speaker notes
Alors après chacun à son rythme et sa capacité à encaisser des heures de travail.
Il faut se connaître.
Le sommeil, c'est aussi de la dette.
Speaker notes
DEDICATION AND PROFESSIONALISM ARE MORE
ABOUT DISCIPLINE THAN HOURS (UNCLE BOB)
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
UN BON DEV AVEC DE TRÈS BONNES HABITUDES
(KENT BECK)
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
NON
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Il faut savoir dire "non" ou plutôt trouver les moyens d'énoncer un vrai "oui".
Speaker notes
RIEN NE SERT DE PRÉTENDRE, IL FAUT ÊTRE
DISCIPLINÉ
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
Les super héros ça n'existe pas.
Personne n'a de pouvoir.
Speaker notes
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
LE CRAFTSTMANSHIP,
UN TRUC RÉSERVÉ
AUX HÉROS ?
Certainement pas
Tout le monde est le bienvenu
Wonder woman c'est un
personnage fictif
Discipline est le maître mot
Ecoute d'un rythme et
discipline pour agir
efficacement et non faire
semblant
Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
LE CRAFTSTMANSHIP,
UN TRUC HYPE ?
Euh 1992 ?
Craftsmanship : un état d'esprit.
Du buzzword pas nouveau.
Et qui a pour but d'apporter de la fierté.
Bref soyez heureux
Speaker notes
MERCI
Des questions ?
Agile Grenoble 2017 @saby_nastasia
Nastasia Saby

Contenu connexe

Similaire à Sensibilisation au-software-craftsmanship-18-ilovepdf-compressed

Conception de thèmes WordPress : construire et optimiser son espace de travail
Conception de thèmes WordPress : construire  et optimiser son espace de travailConception de thèmes WordPress : construire  et optimiser son espace de travail
Conception de thèmes WordPress : construire et optimiser son espace de travailFrédérique Game
 
Des conférences à voir et à revoir
Des conférences à voir et à revoirDes conférences à voir et à revoir
Des conférences à voir et à revoirAnthony Maison
 
soft-shake.ch - Agilité : 10 ans déjà
soft-shake.ch - Agilité : 10 ans déjàsoft-shake.ch - Agilité : 10 ans déjà
soft-shake.ch - Agilité : 10 ans déjàsoft-shake.ch
 
Agile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXAgile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXZenika
 
Stratégie Créative I le F***ing Brief I ian gilbert I ISCOM
Stratégie Créative I le F***ing Brief  I ian gilbert  I  ISCOMStratégie Créative I le F***ing Brief  I ian gilbert  I  ISCOM
Stratégie Créative I le F***ing Brief I ian gilbert I ISCOMIANTERNAUTE
 
Des outils et des hommes
Des outils et des hommesDes outils et des hommes
Des outils et des hommesboblemarin 2000
 
Meetup langages visuels - Backelite - novembre 2017
Meetup langages visuels - Backelite - novembre 2017Meetup langages visuels - Backelite - novembre 2017
Meetup langages visuels - Backelite - novembre 2017Idean France
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software Craftsmanshipylemoigne
 
Projet *Designers Intéractifs*
Projet *Designers Intéractifs*Projet *Designers Intéractifs*
Projet *Designers Intéractifs*Solène Berthet
 
Software Craftsmanship, le métier de faiseurs de logiciels
Software Craftsmanship, le métier de faiseurs de logicielsSoftware Craftsmanship, le métier de faiseurs de logiciels
Software Craftsmanship, le métier de faiseurs de logicielsDamien Thouvenin
 
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourSoftware Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourJean-Laurent de Morlhon
 
ATQ19 Boîte à outils pour nouveaux propriétaires de produits
ATQ19 Boîte à outils pour nouveaux propriétaires de produitsATQ19 Boîte à outils pour nouveaux propriétaires de produits
ATQ19 Boîte à outils pour nouveaux propriétaires de produitsDenis St-Michel
 
Quel est votre veritable pouvoir
Quel est votre veritable pouvoirQuel est votre veritable pouvoir
Quel est votre veritable pouvoirAlexis Monville
 
Atelier l'humain au coeur de tous vos projets carole laimay 20170921
Atelier l'humain au coeur de tous vos projets carole laimay 20170921Atelier l'humain au coeur de tous vos projets carole laimay 20170921
Atelier l'humain au coeur de tous vos projets carole laimay 20170921Carole Laimay
 

Similaire à Sensibilisation au-software-craftsmanship-18-ilovepdf-compressed (20)

Conception de thèmes WordPress : construire et optimiser son espace de travail
Conception de thèmes WordPress : construire  et optimiser son espace de travailConception de thèmes WordPress : construire  et optimiser son espace de travail
Conception de thèmes WordPress : construire et optimiser son espace de travail
 
Des conférences à voir et à revoir
Des conférences à voir et à revoirDes conférences à voir et à revoir
Des conférences à voir et à revoir
 
soft-shake.ch - Agilité : 10 ans déjà
soft-shake.ch - Agilité : 10 ans déjàsoft-shake.ch - Agilité : 10 ans déjà
soft-shake.ch - Agilité : 10 ans déjà
 
Agile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UXAgile Wake Up #3 : Lean UX
Agile Wake Up #3 : Lean UX
 
Stratégie Créative I le F***ing Brief I ian gilbert I ISCOM
Stratégie Créative I le F***ing Brief  I ian gilbert  I  ISCOMStratégie Créative I le F***ing Brief  I ian gilbert  I  ISCOM
Stratégie Créative I le F***ing Brief I ian gilbert I ISCOM
 
Julien dollon
Julien dollonJulien dollon
Julien dollon
 
Software Craftsmanship: En pratique
Software Craftsmanship: En pratiqueSoftware Craftsmanship: En pratique
Software Craftsmanship: En pratique
 
2 tid conception-projet-cours1
2 tid conception-projet-cours12 tid conception-projet-cours1
2 tid conception-projet-cours1
 
Des outils et des hommes
Des outils et des hommesDes outils et des hommes
Des outils et des hommes
 
Meetup langages visuels - Backelite - novembre 2017
Meetup langages visuels - Backelite - novembre 2017Meetup langages visuels - Backelite - novembre 2017
Meetup langages visuels - Backelite - novembre 2017
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software Craftsmanship
 
Projet *Designers Intéractifs*
Projet *Designers Intéractifs*Projet *Designers Intéractifs*
Projet *Designers Intéractifs*
 
Software Craftsmanship, le métier de faiseurs de logiciels
Software Craftsmanship, le métier de faiseurs de logicielsSoftware Craftsmanship, le métier de faiseurs de logiciels
Software Craftsmanship, le métier de faiseurs de logiciels
 
Software Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTourSoftware Craftsmanship : en Pratique - AgileTour
Software Craftsmanship : en Pratique - AgileTour
 
De la stratégie à la gestion de projet
De la stratégie à la gestion de projetDe la stratégie à la gestion de projet
De la stratégie à la gestion de projet
 
ATQ19 Boîte à outils pour nouveaux propriétaires de produits
ATQ19 Boîte à outils pour nouveaux propriétaires de produitsATQ19 Boîte à outils pour nouveaux propriétaires de produits
ATQ19 Boîte à outils pour nouveaux propriétaires de produits
 
Infosafe strategie gestion de projets
Infosafe strategie   gestion de projetsInfosafe strategie   gestion de projets
Infosafe strategie gestion de projets
 
Quel est votre veritable pouvoir
Quel est votre veritable pouvoirQuel est votre veritable pouvoir
Quel est votre veritable pouvoir
 
We Are Dgtl.it
We Are Dgtl.itWe Are Dgtl.it
We Are Dgtl.it
 
Atelier l'humain au coeur de tous vos projets carole laimay 20170921
Atelier l'humain au coeur de tous vos projets carole laimay 20170921Atelier l'humain au coeur de tous vos projets carole laimay 20170921
Atelier l'humain au coeur de tous vos projets carole laimay 20170921
 

Sensibilisation au-software-craftsmanship-18-ilovepdf-compressed

  • 1. SENSIBILISATION AU SOFTWARE CRAFTSMANSHIP Séance de rattrapage/décryptage/démystification Agile Grenoble 2017 @saby_nastasia Nastasia Saby Zenika
  • 2. Je suis Nastasia, développeur fan de software craftsmanship et de Big Data. Je travaille pour Zenika, une SSII avec 7 agences en France, 1 à Singapour et 1 en cours de construction à Montréal. Nous nous intéressons à plein de choses : Agilité, Web, ... Je vous propose une présentation sur le software craftsmanship pour comprendre ce qui se cache et découle de ce terme parfois vu de manière si énigmatique. Speaker notes
  • 3.
  • 4. Merci aux sponsors d'Agile Grenoble ainsi qu'aux organisateurs, speakers et auditeurs. Speaker notes
  • 5.
  • 6. Comme l'informatique, c'est nouveau, on est en droit de se demander de quoi il s'agit. Est-ce de l'ingénierie ? On voit très souvent ce parallèle-là. Après tout, originellement, les ingénieurs construisent des choses. On fait des logiciels. La différence est peut-être juste dans l’immatérialité. Speaker notes
  • 7.
  • 8. Est-ce que c'est de la science ? On parle de sciences de l'informatique. Speaker notes
  • 9.
  • 10. Est-ce que c'est un domaine industriel ? On parle d'industrialisation avec l'automatisation de tâches répétitives. Speaker notes
  • 11.
  • 12. Est-ce que c'est de l'art ? On est dans la construction de quelque chose. Le fait-on avec esthétisme. Y a-t-il une notion d'esthétisme ? Y a t-il un code beau ? ou pas beau ? Speaker notes
  • 13. OU ALORS ? Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 14. Je vous en propose une autre. Speaker notes
  • 15.
  • 16. Celle de l'artisanat. Software craftsmanship = artisanat du logiciel Nous utilisons un savoir-faire pour construire des choses à vocation utilitaire. Speaker notes
  • 17. PENDANT LONGTEMPS ... Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 18. Pendant longtemps, j'ai dû ruser pour expliquer mon métier. Speaker notes
  • 19.
  • 20. J'expliquais que j'étais comme un constructeur de chaises. Je devais maîtriser des outils, des éléments (tissu, bois) pour construire une chaise qui réponde aux besoins et dure dans le temps. J'expliquais qu'il n'y a pas deux manières identiques de faire une chaise, qu'il y aura toujours des différences dans le rendu entre deux constructeurs de chaise, mais que la chaise répondra aux besoins. Je tissais la métaphore de l'artisanat sans m'en rendre compte. Speaker notes
  • 21. LE SOFTWARE CRAFTSMANSHIP EST UN ÉTAT D'ESPRIT Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 22. Cette métaphore nous amène vers un état d'esprit. Le software craftsmanship n'est pas un set de pratiques, mais bien un état d'esprit qui découle d'une métaphore : - Veille technique - Vie communautaire - Vie professionnelle/privée équilibrée Speaker notes
  • 23. WHAT IS SOFTWARE DESIGN? Jack W. Reeves 1992 Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 24. Le début officiel (même si l'idée est là depuis le début) vient d'un article qui interroge sur ce qu'est la conception d'un logiciel. Speaker notes
  • 25. C++ Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 26. En 1992, le C++ et l'orienté objet suscitent un fort engouement. Jack W. Reeves explique que cet engouement vient du fait que le C++ permet de concevoir plus facilement une application. Speaker notes
  • 27.
  • 28. Il a assisté à une conférence qui se demandait si l'informatique était bien de l'ingénierie. Mais qu'est-ce que l'ingénierie ? C'est construire une documentation qu'on donne à une équipe qu'on ne connaît pas et qui va réaliser le produit sans l'intervention du concepteur. Mais en informatique, qu'est-ce que la documentation et qu'est-ce que la main d'oeuvre ? Speaker notes
  • 29.
  • 30. La main d'oeuvre, c'est le compilateur/interprétateur. L'informatique ce sont des 1 et des 0. Le code c'est la documentation. Construire un logiciel aujourd'hui c'est facile, mais le concevoir c'est compliqué. Et le travail est davantage là-dedans et celui-ci est artisanal. Speaker notes
  • 31.
  • 32. C'est comme ça qu'il met en avant l'artisanat du logiciel. Speaker notes
  • 33. THE PRAGMATIC PROGRAMMER - FROM JOURNEYMAN TO MASTER Andrew Hunt and David Thomas 1999 Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 34. En 2001, nous avons un livre bien plus connu qui pose l'idée que c'est en développant qu'on devient développeur et qui met la pratique au coeur du métier. Speaker notes
  • 35. SOFTWARE CRAFTSMANSHIP, THE NEW IMPERATIVE Pete McBreen 2001 Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 36. En 2001, ce livre explique que l'ingénierie n'est rien d'autre qu'une métaphore et que du coup on a le droit d'en proposer une autre. Speaker notes
  • 37.
  • 38. En 1968, une conférence mettait en avant l'ingénierie dans l'informatique. Ils étaient sur de grosses applications avec de forts besoins en sécurité (du style NASA) et construisaient le hardware et le software. Mais aujourd'hui, la plupart des besoins ne ressemblent pas à ça. Speaker notes
  • 39.
  • 40. L'artisanat répond plus aux besoins les plus courants de rapidité et d'agilité. Speaker notes
  • 41. 2002 - Object Mentor fait du Software Apprenticeship 2006 - 8thLight est la première Software Craftsmanship company Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 42. 2002 et 2006 : des entreprises s'intéressent officiellement au software craftsmanship Speaker notes
  • 43. CRAFTSMANSHIP OVER CRAP (UNCLE BOB)
  • 44. Une cinquième valeur est proposée au Manifeste Agile : craftsmanship over crap. Elle est refusée. Speaker notes
  • 45. YOU CAN'T BE AGILE IF YOUR CODE SUCKS
  • 46. Le craftsmanship s'inscrit dans le mouvement agile Speaker notes
  • 47. 2008 - Clean Code - A handbook of Agile Software Craftsmanship 2008 - Software Craftsmanship Summit Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 48. Un livre d'Uncle Bob en 2008 et un forum autour du Craftsmanship Speaker notes
  • 49. MANIFESTE CRAFTSMANSHIP 2009 Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 50. Puisque la proposition d'Uncle Bob n'a pas été ajouté au manifeste agile, on crée un manifest craft Le but est d'élever le niveau Speaker notes
  • 51. Pas seulement des logiciels opérationnels, mais aussi des logiciels bien conçus. Pas seulement l'adaptation aux changements, mais aussi l'ajout constant de la valeur. Pas seulement les individus et leurs interactions, mais aussi une communauté de professionnels. Pas seulement la collaboration avec les clients, mais aussi des partenariats productifs. Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 52. On reconnaît le manifeste agile. L'idée c'est de souligner ce qui est sous-jacent Speaker notes
  • 53.
  • 54. Il n'y a pas d'opposition avec l'agilité, mais plutôt l'envie de redonner de l'importance à certaines idées agiles qui ont été laissées de côté Speaker notes
  • 55. UN RETOUR A L'EXTREME PROGRAMMING Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 56. Comme l'extrême programming. On parle souvent de Scrum, de Kanban, mais peu d'extrême programming. Sa particularité : essayer de trouver des solutions pour un code agile Speaker notes
  • 57.
  • 58. Contre le taylorisme, il s'agit de trouver d'autres manières de fonctionner. Ca donne lieu à des principes, des valeurs et des pratiques. Speaker notes
  • 59. Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 60. Tous ces principes n'appartiennent pas au mouvement craftsmanship. C'est juste qu'on remet sur le devant de la scène de vieux concepts. Speaker notes
  • 61. MAIS ... Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 62.
  • 63. je vais essayer de répondre à des interrogations/problèmes que vous pourriez avoir/rencontrer. Speaker notes
  • 64. IL EST DIFFICILE D'ÊTRE CONTRE LE MANIFESTE Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 65. En effet, le manifeste n'ayant rien de violent en soi, il peut paraître difficile de s'y sentir opposé. C'est un éclairage. Speaker notes
  • 66. LE #SOFTWARECRAFTSMANSHIP A TENDANCE A DEVENIR UN BUZZWORD Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 67. En effet, la tentation du buzzword n'est jamais loin. Pourtant, c'est dommage de ne pas en parler. Speaker notes
  • 68. EST-CE QUE LES DÉVELOPPEURS SONT VRAIMENT DES ARTISANS DU CODE ? Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 69. Tout le monde ne sera pas d'accord avec ça. Mais l'important c'est l'état d'esprit qui découle de cette métaphore. Speaker notes
  • 70. LE SOFTWARE CRAFTSMANSHIP EST UN ÉTAT D'ESPRIT Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 71. L'important est que c'est un état d'esprit Pas un set de pratiques qui peuvent toujours être remises en question, mais plutôt une démarche, une approche Speaker notes
  • 72. UN MOUVEMENT : EQUIPE, PARTAGE Comment mieux faire ? Coding dojo Kata Lectures
  • 73. Et comment ça peut se matérialiser ? L'idée est d'élever le niveau., donc de trouver des moyens de s'améliorer. Coding dojo, lecture Speaker notes
  • 74. QU'EN TIRE-T-ON ? Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 75. Pour certains, c'est juste un délire d'artistes du code Speaker notes
  • 76. Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika LE CRAFTSTMANSHIP, UN IDÉAL D'ARTISTES ?
  • 77. Alors déjà, on peut dire qu'artisan et artiste sont deux choses différentes Quand on dit artiste, on entend quelque chose d'esthétique et de beau. Alors, j'ai cherché ce qu'était un code beau et j'ai trouvé. Speaker notes
  • 78.
  • 79. Ca c'est un code beau. Et moi aussi j'adore les codes beaux ... dans les films. Mais Matrix c'est un film. Personne n'a envie d'un code comme ça. Quand on parle de "code beau" on veut du code maintenable, lisible, debuguable, où on puisse ajouter de nouvelles fonctionnalités facilement. Et ça ça veut dire business, time to market, ... Speaker notes
  • 80. L'homme supérieur estime le fruit et délaisse la fleur
  • 81. J'aimerais vous citer Lao Tseu, sage chinois. Mais que vient-il faire ici ? Lao Tseu avait déjà compris l'esprit craft avant nous. Et en effet. L'idée n'est pas d'être dans un idéal, mais de sortir un produit. Mais pour se faire il faut que la fleur soit belle pour avoir un beau fruit. Comme quoi les sages d'antan ont encore tant à nous apprendre Speaker notes
  • 82. PEUT-ON SE PRIVER DE LA QUALITÉ ?
  • 83. Il y a une dée qui voudrait qu'on oppose qualité du code et qualité du produit fini Une équipe qui rogne sur la qualité est une équipe qui s'autoalimente en travail et du coup c'est une équipe qui a du mal à être dans les délais et qui a du mal à être dans les coups. Speaker notes
  • 84. BUILD THE RIGHT THING Itérations courtes Equipe dev/fonctionnel
  • 85. Oui il faut livrer la bonne chose. Et c'est pour ça peut-être que le DDD est une discussion des meetups craft. Speaker notes
  • 86. BUILD THE THING RIGHT Tests : TDD, BDD Base de code propre Refactoring
  • 87. Mais il faut aussi livrer la chose comme il faut. Et c'est pour ça qu'on s'interroge sur les meilleures manières d'y parvenir : TDD, refactoring, ... Speaker notes
  • 88.
  • 89. On veut construire des cathédrales qui durent pas et non pas qu'on jette tous les 2 ans. Le refactoring doit permettre à Notre Dame d'exister des siècles après en étant toujours aussi belle et solide Speaker notes
  • 90. QUAND ON EMPRUNTE, IL FAUT TOUJOURS REMBOURSER À UN MOMENT DONNÉ
  • 91. La dette technique, c'est une image forte. Si on ne rembourse jamais et qu'on continue à emprunter toujours et toujours, à un moment donné, il n'y a plus d'argent et les huissiers viennent frapper à votre porte. Là, il n'y a plus de produit qui fonctionne. Il n'y a plus rien. Et on est tenté de tout réécrire mais c'est dommage Speaker notes
  • 92.
  • 93. Les boy scoots quand ils campent laissent le lieu plus propre que quand ils y sont arrivés. Cette image va bien avec le code. Speaker notes
  • 94.
  • 95. Et c'est comme ça qu'on va vite. La qualité, ça permet d'aller vite. Et pas le contraire. Speaker notes
  • 97. But du craftsmanship à mon sens c'est la fierté de toute l'équipe (dev, client, PO, ...) vis-à-vis de ce qu'on réalise Speaker notes
  • 98. Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika LE CRAFTSTMANSHIP, UN IDÉAL D'ARTISTES ? Non, ce n'est pas ça Souci d'efficacité Intérêt porté au produit Intérêt porté à la satisfaction Fierté
  • 99. Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika LE CRAFTSTMANSHIP, UN TRUC RÉSERVÉ AUX HÉROS ?
  • 100. Il y a aussi cette idée que je trouve parfois, que c'est un truc réservé aux warriors. Speaker notes
  • 101.
  • 102. Outre le fait que c'est une communauté accueillante pour tout le monde, la question du héros est posée. Speaker notes
  • 103. LA TENTATION DU HÉROS
  • 104. Je pense qu'on a tous envie d'être un héros. Qui n'a jamais eu envie d'être Wonder Woman ? D'être fort, d'être admiré. D'être celui qui va toujours plus loin. Qui en bave, qui se prend des coups mais qui se relève toujours ? La personne qui éteint le feu tous les jours. Mais pourquoi est-ce que ça devrait être le feu tous les jours ? Pourquoi est-ce qu'on devrait faire toujours plus d'heures ? Est-ce bien normal ? Est-ce bien la solution ? Personnellement je l'ai fait. J'ai essayé d'être un héros Je faisais de plus grosses heures. Je ne disais jamais "non". Speaker notes
  • 105.
  • 106. Mais au bout d'un moment, je ressemblais plus à un chat qui dort tout le temps qu'à wonder woman : j'étais juste épuisée. Je pouvais bien rester 1000 heures de plus par jour, mais je n''étais capable de rien. Speaker notes
  • 107.
  • 108. Alors après chacun à son rythme et sa capacité à encaisser des heures de travail. Il faut se connaître. Le sommeil, c'est aussi de la dette. Speaker notes
  • 109. DEDICATION AND PROFESSIONALISM ARE MORE ABOUT DISCIPLINE THAN HOURS (UNCLE BOB) Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 110. UN BON DEV AVEC DE TRÈS BONNES HABITUDES (KENT BECK) Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 111. NON Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 112. Il faut savoir dire "non" ou plutôt trouver les moyens d'énoncer un vrai "oui". Speaker notes
  • 113. RIEN NE SERT DE PRÉTENDRE, IL FAUT ÊTRE DISCIPLINÉ Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika
  • 114. Les super héros ça n'existe pas. Personne n'a de pouvoir. Speaker notes
  • 115. Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika LE CRAFTSTMANSHIP, UN TRUC RÉSERVÉ AUX HÉROS ? Certainement pas Tout le monde est le bienvenu Wonder woman c'est un personnage fictif Discipline est le maître mot Ecoute d'un rythme et discipline pour agir efficacement et non faire semblant
  • 116. Agile Grenoble 2017 - Nastasia Saby @saby_nastasia - Zenika LE CRAFTSTMANSHIP, UN TRUC HYPE ? Euh 1992 ?
  • 117.
  • 118. Craftsmanship : un état d'esprit. Du buzzword pas nouveau. Et qui a pour but d'apporter de la fierté. Bref soyez heureux Speaker notes
  • 119. MERCI Des questions ? Agile Grenoble 2017 @saby_nastasia Nastasia Saby