SlideShare une entreprise Scribd logo
1  sur  126
Télécharger pour lire hors ligne
Du Code &
Des Humains
Du Code &
Des Humains
ryfacto.fr
Nicolas VERINAUD
@nverinaud
« Google The Error Message Algorithm »
Toile de Paillage Tissée
Développer un logiciel
Facile ?
🤔
Développer un logiciel
Facile ?
🤔
Toyota
Développer un logiciel
Facile ?
🤔
Toyota
Chinook
Développer un logiciel
Facile ?
🤔
Toyota
Chinook
Mars Climate Orbiter
Développer un logiciel
Facile ?
🤔
Toyota
Chinook
Mars Climate Orbiter
Therac-25
Développer un logiciel
Facile ?
🤔
Toyota
Chinook
Mars Climate Orbiter
Therac-25 911
https://en.wikipedia.org/wiki/List_of_software_bugs
Développeur•se
Professionnel•le
🙂
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é
Productivité
0
25
50
75
100
Mois
0 1 2 3 4 5 6 7 8 9 10 11 12
Vélocité
Productivité
0
25
50
75
100
Mois
0 1 2 3 4 5 6 7 8 9 10 11 12
Vélocité
Développeur•se : une espèce à
part ?
Réécrire : une fatalité ?
Développeur•se : une espèce à
part ?
Réécrire : une fatalité ?
Client•e
Client•e Commercial•e
Client•e Commercial•e
Directeur•rice
Technique
Client•e Commercial•e
Directeur•rice
Technique
Mockups Master
Client•e Commercial•e
Directeur•rice
Technique
Scrum Master Mockups Master
Client•e Commercial•e
Directeur•rice
Technique
Dev Scrum Master Mockups Master
Utilisateur•rice Product Owner
Proxy Product
Owner
Dev Lead Dev Scrum Master
Utilisateur•rice Product Owner
Proxy Product
Owner
Dev Lead Dev Scrum Master
Utilisateur•rice Product Owner
Proxy Product
Owner
Dev Lead Dev Scrum Master
Utilisateur•rice 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•rice 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
- Alberto Brandolini
« C’est la compréhension du•de la développeur•se, pas votre
connaissance, qui devient le logiciel. »
01001010
11101111
01010101
01001010
11101111
01010101
01001010
11101111
01010101
UX
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. »
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. »
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. »
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. »
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
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
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•de la développeur•se
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
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•e développeur•se 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
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
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•de la
Développeur•se
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 - ElsassJUG 2018

Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Publicis Sapient Engineering
 

Similaire à Du Code & Des Humains - ElsassJUG 2018 (20)

Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !
 
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
 
Radical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptxRadical Quality From Toyota to Tech - Devoxx France.pptx
Radical Quality From Toyota to Tech - Devoxx France.pptx
 
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 - ...
 
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
 
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...
 
Kanban, un outil simple de gestion de la production.
Kanban, un outil simple de gestion de la production.Kanban, un outil simple de gestion de la production.
Kanban, un outil simple de gestion de la production.
 
Équipes de développement : soyez experts!
Équipes de développement : soyez experts!Équipes de développement : soyez experts!
Équipes de développement : soyez experts!
 
La régression continue - Une méthode pour bien faire rater l'adoption agile ...
La régression continue - Une méthode pour bien faire rater l'adoption agile ...La régression continue - Une méthode pour bien faire rater l'adoption agile ...
La régression continue - Une méthode pour bien faire rater l'adoption agile ...
 
Agile France 2018 : chaos engineering
Agile France 2018 : chaos engineeringAgile France 2018 : chaos engineering
Agile France 2018 : chaos engineering
 
Réussir son lancement mobile
Réussir son lancement mobileRéussir son lancement mobile
Réussir son lancement mobile
 
Revolution Mobile @Web2day
Revolution Mobile @Web2dayRevolution Mobile @Web2day
Revolution Mobile @Web2day
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-fr
 
Lean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork AxanceLean & Agile UX - afterwork Axance
Lean & Agile UX - afterwork Axance
 
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...
 
Décryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceDécryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data science
 
Devoxx 2018 : Chaos Engineering
Devoxx 2018 : Chaos EngineeringDevoxx 2018 : Chaos Engineering
Devoxx 2018 : Chaos Engineering
 
3 familles d'intelligence artificielle et leurs applications business
3 familles d'intelligence artificielle et leurs applications business3 familles d'intelligence artificielle et leurs applications business
3 familles d'intelligence artificielle et leurs applications business
 
Penser son game concept pour le long terme - Alexandre Besenval - Game Camp F...
Penser son game concept pour le long terme - Alexandre Besenval - Game Camp F...Penser son game concept pour le long terme - Alexandre Besenval - Game Camp F...
Penser son game concept pour le long terme - Alexandre Besenval - Game Camp F...
 
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
 

Du Code & Des Humains - ElsassJUG 2018