SlideShare une entreprise Scribd logo
Du Code &
Des Humains
Du Code &
Des Humains
ryfacto.fr
Nicolas VERINAUD
@nverinaud
« Google The Error Message Algorithm »
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Toile de Paillage Tissée
Développer un logiciel
Facile ?
🤔
Toyota
Chinook
Mars Climate Orbiter
Therac-25 911
https://en.wikipedia.org/wiki/List_of_software_bugs
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
Développeur
Professionnel
🙂
Fonctionnalité
3 jours
😕 Fonctionnalité
3 semaines
😖
Fonctionnalité
Trop long
Productivité
0
25
50
75
100
Mois
0 1 2 3 4 5 6 7 8 9 10 11 12
Vélocité
Du Code & Des Humains - Agile Tour Strasbourg 2017
Développeur : une espèce à
part ?
Réécrire : une fatalité ?
Développeur : une espèce à
part ?
Réécrire : une fatalité ?
Du Code & Des Humains - Agile Tour Strasbourg 2017
Client Commercial
Directeur
Technique
Dev Scrum Master Mockups Master
Utilisateur Product Owner
Proxy Product
Owner
Dev Lead Dev Scrum Master
Utilisateur Product Owner
Proxy Product
Owner
Dev Lead Dev Scrum Master
Téléphone ArabeEnterprise Edition
• Les individus et leurs interactions plus que les processus et les outils
• Des logiciels opérationnels plus qu’une documentation exhaustive
• La collaboration avec les clients plus que la négociation contractuelle
• L’adaptation au changement plus que le suivi d’un plan
Discuter avec l’utilisateur
pour construire un logiciel qui
fait le boulot
Qu’est-ce que le code ?
Qu’est-ce que le code ?
Le code est la spécification la
plus détaillée du monde
Du Code & Des Humains - Agile Tour Strasbourg 2017
Du Code & Des Humains - Agile Tour Strasbourg 2017
- Alberto Brandolini
« C’est la compréhension du développeur, pas votre connaissance,
qui devient le logiciel. »
01001010
11101111
01010101
UX
Du Code & Des Humains - Agile Tour Strasbourg 2017
Comment comprendre
efficacement les besoins ?
Quel est le véritable problème ?
Les 5 « Pourquoi ? » et la
définition récursive
Quel est le véritable problème ?
Les 5 « Pourquoi ? » et la
définition récursive
définition récursive
« J’ai besoin d’une base de donnée générique
contenant tous les médicaments vendus et qui
peuvent être prescrit par les médecins. »
définition récursive
« J’ai besoin d’une base de donnée générique
contenant tous les médicaments vendus et qui
peuvent être prescrit par les médecins. »
Pourquoi ?
définition récursive
« Pour aider les médecins à faire leurs
ordonnances. »
Pourquoi ?
définition récursive
« Car les médecins font des erreurs en prescrivant
des médicaments. »
Pourquoi ?
définition récursive
« Car ils prescrivent des médicaments
incompatibles. »
Pourquoi ?
définition récursive
« Car les interactions entre les médicaments sont
complexes. »
Une interaction entre médicaments ?
Base de donnée générique de médicaments
définition récursive
« Et bien, par exemple : deux médicaments ne
doivent pas être pris ensemble car ils contiennent
tous les deux la molécule M et il y a un risque de
surdosage. »
Base de donnée générique de médicaments
Aider les médecins à prescrire les
bons médicaments
Quelles solutions ?
Impact Mapping
Impact Mapping
Quelles solutions ?
Créer le logiciel qui aura le
meilleur impact, le meilleur ROI
Impact Mapping
Quelles solutions ?
Créer le logiciel qui aura le
meilleur impact, le meilleur ROI
Créer le logiciel qui aura le
meilleur impact, le meilleur ROI
Gojko Adzic
Implémentation ? Métier ?
Event Storming
Implémentation ? Métier ?
Event Storming
Aligner Métier et Technique
Implémentation ? Métier ?
Event Storming
Aligner Métier et Technique
http://ziobrando.blogspot.fr/2013/11/introducing-event-storming.html
Vision d’ensemble ? Priorités ?
User Story Mapping
Vision d’ensemble ? Priorités ?
User Story Mapping
Créer un véritable MVP
User Story Mapping
Vision d’ensemble ? Priorités ?
Créer un véritable MVP
User Story Mapping
Créer un véritable MVP
Jeff Patton
User Story Mapping
Créer un véritable MVP
C’est la compréhension du
développeur qui devient le
logiciel, pas le cahier des
charges.
Projet complexe ?
Projet complexe ?
Mauvaise conception ?
Projet complexe ?
Mauvaise conception ?
Deux Formes de Complexité
Complexité Essentielle
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
Comment s’en rendre compte ?
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
≠
Dette Technique
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
Comment s’en rendre compte ?
+
Deux Formes de Complexité
Complexité Essentielle
Complexité Accidentelle
Comment estimez-vous ?
Arrêtez d’estimer !
Comment estimez-vous ?
Arrêtez d’estimer !
- Un développeur qui fait une estimation fiable
« Je ne sais pas ! »
Comment éviter la complexité
accidentelle ?
En prenant soin du code !En prenant soin du code !
Comment éviter la complexité
accidentelle ?
En prenant soin du code !
Comment ?
Comment éviter la complexité
accidentelle ?
En prenant soin du code !
Comment ?
Refactoring régulier !
Comment éviter la complexité
accidentelle ?
En prenant soin du code !
Comment ?
Refactoring régulier !
Je risque de tout péter non ?
Comment éviter la complexité
accidentelle ?
En prenant soin du code !
Comment ?
Refactoring régulier !
Je risque de tout péter non ?
Non ! Grâce aux tests
automatisés !
accidentelle ?
En prenant soin du code !
Comment ?
Refactoring régulier !
Je risque de tout péter non ?
Non ! Grâce aux tests
automatisés !
Deux possibilités
Économiquement Mort
Comment s’en sortir ?
Deux possibilités
Économiquement Mort
Avant la 1ère mise en prod 😱
Deux possibilités
Économiquement Mort
Comment s’en sortir ?
Repartir de zéro avec des tests
Repartir de zéro avec des tests
Deux possibilités
Économiquement Mort
Comment s’en sortir ?
Deux possibilités
Économiquement Mort
Embaucher ?
Deux possibilités
Économiquement Viable
Tierce Maintenance Applicative 😱
Deux possibilités
Économiquement Viable
Embaucher ?
Économiquement Viable
Embaucher ?
Fred Brooks
Fred Brooks
« Adding manpower to a late project makes it later. »
Écrire des tests...
...pour pouvoir refactor...
Écrire des tests...
...pour pouvoir refactor...
...pour prospérer !
Écrire des tests...
...pour pouvoir refactor...
...pour prospérer !
Scrum
Scrum
+
Extreme Programming
Test Driven Development
Culture du Partage
Culture du Partage
Test Driven Development
Solidarité Technologique
Culture du Partage
Test Driven Development
Solidarité Technologique
Créer un logiciel pertinent
avec le meilleur ROI est difficile
Ne pas négliger le Code
Ni la compréhension du
Développeur
Ne pas négliger le Code
Ni la compréhension du
Développeur
Du Code
Du Code & Des Humains
Merci !
Du Code & Des Humains
Merci !
ryfacto.fr@nverinaud
Envie de travailler
avec nous ?

Contenu connexe

Similaire à Du Code & Des Humains - Agile Tour Strasbourg 2017

Les Code Reviews : le guide de survie
Les Code Reviews : le guide de survieLes Code Reviews : le guide de survie
Les Code Reviews : le guide de survie
Nicolas VERINAUD
 
Pour passer la crise, rembourser votre dette technique
Pour passer la crise, rembourser votre dette techniquePour passer la crise, rembourser votre dette technique
Pour passer la crise, rembourser votre dette technique
Freddy Mallet
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
Sami Neili
 
Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016
André De Sousa
 
Extreme Data Science
Extreme Data ScienceExtreme Data Science
Extreme Data Science
Anastasia Bobyreva
 
Neuromarketing - Comment convaincre et persuader en ligne avec les neuroscien...
Neuromarketing - Comment convaincre et persuader en ligne avec les neuroscien...Neuromarketing - Comment convaincre et persuader en ligne avec les neuroscien...
Neuromarketing - Comment convaincre et persuader en ligne avec les neuroscien...
Jochen (Thomas) Grünbeck ◁
 
DevMobCA #16: Comment arrêter de perdre des clients sur votre site ou appli s...
DevMobCA #16: Comment arrêter de perdre des clients sur votre site ou appli s...DevMobCA #16: Comment arrêter de perdre des clients sur votre site ou appli s...
DevMobCA #16: Comment arrêter de perdre des clients sur votre site ou appli s...
Olivier Destrebecq
 
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
XP Day CH
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
Sylvain Leroy
 
PROSPECTIVE SUR LES RISQUES NOUVEAUX ET ÉMERGENTS EN MATIÈRE DE SST LIÉS À LA...
PROSPECTIVE SUR LES RISQUES NOUVEAUX ET ÉMERGENTS EN MATIÈRE DE SST LIÉS À LA...PROSPECTIVE SUR LES RISQUES NOUVEAUX ET ÉMERGENTS EN MATIÈRE DE SST LIÉS À LA...
PROSPECTIVE SUR LES RISQUES NOUVEAUX ET ÉMERGENTS EN MATIÈRE DE SST LIÉS À LA...
European Agency for Safety and Health at Work - EU-OSHA
 
StarDust @SHAKE 2014
StarDust @SHAKE 2014StarDust @SHAKE 2014
StarDust @SHAKE 2014
StardustTesting
 
Creons des produits exceptionnels
Creons des produits exceptionnelsCreons des produits exceptionnels
Creons des produits exceptionnels
yannick grenzinger
 
Créons des produits exceptionnels ! animé par Yannick Grenzinger
Créons des produits exceptionnels ! animé par Yannick GrenzingerCréons des produits exceptionnels ! animé par Yannick Grenzinger
Créons des produits exceptionnels ! animé par Yannick Grenzinger
French Scrum User Group
 
Agile France 2018 : chaos engineering
Agile France 2018 : chaos engineeringAgile France 2018 : chaos engineering
Agile France 2018 : chaos engineering
Benjamin Gakic
 
12 bonnes raisons de ne pas contrôler vos applications
12 bonnes raisons de ne pas contrôler vos applications12 bonnes raisons de ne pas contrôler vos applications
12 bonnes raisons de ne pas contrôler vos applications
Solutions IT et Business
 
La gestion des actifs logiciels : enjeux et opportunités
La gestion des actifs logiciels : enjeux et opportunitésLa gestion des actifs logiciels : enjeux et opportunités
La gestion des actifs logiciels : enjeux et opportunités
Microsoft Ideas
 
Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010
Mesurer Les Performances Avec JMeter   Cours Du Soir Valtech 25 Mars 2010Mesurer Les Performances Avec JMeter   Cours Du Soir Valtech 25 Mars 2010
Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010
Claude Falguiere
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
Sylvain Leroy
 
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
André De Sousa
 
Presentation Adi 14052009
Presentation Adi 14052009Presentation Adi 14052009
Presentation Adi 14052009
hortis
 

Similaire à Du Code & Des Humains - Agile Tour Strasbourg 2017 (20)

Les Code Reviews : le guide de survie
Les Code Reviews : le guide de survieLes Code Reviews : le guide de survie
Les Code Reviews : le guide de survie
 
Pour passer la crise, rembourser votre dette technique
Pour passer la crise, rembourser votre dette techniquePour passer la crise, rembourser votre dette technique
Pour passer la crise, rembourser votre dette technique
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
 
Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016Crash Test Your Idea Meetup Valtech 13/09/2016
Crash Test Your Idea Meetup Valtech 13/09/2016
 
Extreme Data Science
Extreme Data ScienceExtreme Data Science
Extreme Data Science
 
Neuromarketing - Comment convaincre et persuader en ligne avec les neuroscien...
Neuromarketing - Comment convaincre et persuader en ligne avec les neuroscien...Neuromarketing - Comment convaincre et persuader en ligne avec les neuroscien...
Neuromarketing - Comment convaincre et persuader en ligne avec les neuroscien...
 
DevMobCA #16: Comment arrêter de perdre des clients sur votre site ou appli s...
DevMobCA #16: Comment arrêter de perdre des clients sur votre site ou appli s...DevMobCA #16: Comment arrêter de perdre des clients sur votre site ou appli s...
DevMobCA #16: Comment arrêter de perdre des clients sur votre site ou appli s...
 
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
D1 - Un développeur est-il un numéro, un coût journalier ou un artiste ?
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
 
PROSPECTIVE SUR LES RISQUES NOUVEAUX ET ÉMERGENTS EN MATIÈRE DE SST LIÉS À LA...
PROSPECTIVE SUR LES RISQUES NOUVEAUX ET ÉMERGENTS EN MATIÈRE DE SST LIÉS À LA...PROSPECTIVE SUR LES RISQUES NOUVEAUX ET ÉMERGENTS EN MATIÈRE DE SST LIÉS À LA...
PROSPECTIVE SUR LES RISQUES NOUVEAUX ET ÉMERGENTS EN MATIÈRE DE SST LIÉS À LA...
 
StarDust @SHAKE 2014
StarDust @SHAKE 2014StarDust @SHAKE 2014
StarDust @SHAKE 2014
 
Creons des produits exceptionnels
Creons des produits exceptionnelsCreons des produits exceptionnels
Creons des produits exceptionnels
 
Créons des produits exceptionnels ! animé par Yannick Grenzinger
Créons des produits exceptionnels ! animé par Yannick GrenzingerCréons des produits exceptionnels ! animé par Yannick Grenzinger
Créons des produits exceptionnels ! animé par Yannick Grenzinger
 
Agile France 2018 : chaos engineering
Agile France 2018 : chaos engineeringAgile France 2018 : chaos engineering
Agile France 2018 : chaos engineering
 
12 bonnes raisons de ne pas contrôler vos applications
12 bonnes raisons de ne pas contrôler vos applications12 bonnes raisons de ne pas contrôler vos applications
12 bonnes raisons de ne pas contrôler vos applications
 
La gestion des actifs logiciels : enjeux et opportunités
La gestion des actifs logiciels : enjeux et opportunitésLa gestion des actifs logiciels : enjeux et opportunités
La gestion des actifs logiciels : enjeux et opportunités
 
Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010
Mesurer Les Performances Avec JMeter   Cours Du Soir Valtech 25 Mars 2010Mesurer Les Performances Avec JMeter   Cours Du Soir Valtech 25 Mars 2010
Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
 
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
Le Bootstrapping : Ou comment monter un MVP fonctionnel en quelques heures - ...
 
Presentation Adi 14052009
Presentation Adi 14052009Presentation Adi 14052009
Presentation Adi 14052009
 

Du Code & Des Humains - Agile Tour Strasbourg 2017