Where defects in the industry are counted as defects per million parts produced, a developer introduces an average of 70 bugs for every 1000 lines of code produced. We immersed ourselves in the experiments of Sadao Nomura, who launched Dantotsu "Better than the best" activities in Toyota factories, a 3-year program capable of reducing defects by 85%.
The tech practices, visual management, and tools of Dantotsu inspired us to:
- Eradicate the root causes of a bug within 24 hours of its detection
- Identify "weak points", typical problems that require strengthening the training system
- Create a culture of quality where everyone shares their solved bugs
We cover the theory of Dantotsu radical quality and the experiments we ran before April 2023.
Woody is the CTO and co-founder of Sipios, a fintech development agency. Flavian is a co-author of Build To Sell, lean coach in tech and product, and former CTO.
2. Les bugs : la norme dans notre industrie
2
70
bugs
1000
lignes de
code
Sources - The Economics of Software Quality (Capers Jones and Olivier Bonsignour), Carogalix study
7 to 25%
des bug fixes
introduisent un nouveau
bug…
3. Pourtant, ces bugs ont parfois des conséquences désastreuses
3 Sources - Medical Devices: The Therac 25 http://sunnyday.mit.edu/papers/therac.pdf
Datent:
if mode/energy specified then
begin
calculate table index
repeat
fetch parameter
output parameter
point to next parameter
until all parameters set
call Magnet
if mode/energy changed then return
end
if data entry is complete then set Tphase to 3
if data entry is not complete then
if reset command entered then set Tphase to 0
return
4. La raison : une idée fausse que la qualité est plus chère que la non-qualité
4 sources : The economics of software quality
8. Woody Rousseau
CTO & Cofondateur @ Sipios
8
Qui nous-sommes
Flavian Hautbois
Co-author of the upcoming
"Build to Sell" book
Lean coach in Tech & Product
- Enthousiaste de Lean
management et de pensée
système
- Passionné d’APIs et
d’Open Finance
@WoodyRoussea
u
/in/woodyrousseau
9. Woody Rousseau
CTO & Cofounder @ Sipios
Flavian Hautbois
Co-auteur du futur livre "Build to Sell"
Coach lean en Tech & Produit
Qui nous-sommes
9
@flavianhautbois
/in/flavianhautbois
https://buildtosell.org
- Un geek de la technologie
- Passionné par le fait de créer
des produits digitaux
excellents avec l’aide de la
pensée lean
15. Ses résultats s’obtiennent avec le processus en 8 étapes
1. SADAO NOMURA
15
Inspecter la pièce
défectueuse
Vérifier
dans le stock
Identifier
la cause racine
Implémenter des
contre mesures
Retex en
daily meeting
Créer / améliorer les
standards
et déployer
Former
les personnes
Vérifier avec
des go & sees
17. et ça se voit à chaque étape
1. SADAO NOMURA
17
Inspecter la pièce
défectueuse
Vérifier
dans le stock
Identifier
la cause racine
Implémenter des
contre mesures
Retex en
daily meeting
Créer / améliorer les
standards
et déployer
Former
les personnes
Vérifier avec
des go & sees
jour même jour même jour même
jour même jour suivant jour suivant
jour suivant jour suivant
20. On ne ship pas des voitures mais on peut se fixer des objectifs !
2. QUALITÉ SOFTWARE
-50%
-50% -50% -88%
Défauts
21. C’est d’ailleurs ce que prône Accelerate avec ses DORA metrics
2. QUALITÉ SOFTWARE
-50%
-50% -50% -88%
Change Failure Rate (% de déploiements
introduisant un incident)
22. Les types A à D peuvent être définis dans un flux de développement software
2. QUALITÉ SOFTWARE
23. Pourtant, la gestion des défauts est assez différente du processus en 8 étapes
23
Vérifier
le défaut
Évaluer
la criticité Prioriser le fix
Fixer
le défaut
Écrire
un postmortem
(optionnel)
Ajouter
des vérifications
(optionnel)
2. QUALITÉ SOFTWARE
24. Vérifier
le défaut
Évaluer
la criticité Prioriser le fix
Fixer
le défaut
Écrire
un postmortem
(optionnel)
Ajouter
des vérifications
(optionnel)
avec des délais encore qui n’ont pas le même niveau d’ambition…
24
2. QUALITÉ SOFTWARE
1er jour 1er jour 1er jour
<= quelques semaines encore + tard… encore + tard…
25. Le // des pratiques Dantotsu dans la tech est passionnant : Management Visuel
2. QUALITÉ SOFTWARE
26. Le // des pratiques Dantotsu dans la tech est passionnant : Standards
2. QUALITÉ SOFTWARE
27. Le // des pratiques Dantotsu dans la tech est passionnant : Formation
2. QUALITÉ SOFTWARE
Tutorials Katas
Pair/mob
programming
Code review
28. Le // des pratiques Dantotsu dans la tech est passionnant : “Weak Point”
2. QUALITÉ SOFTWARE
29. Le // des pratiques Dantotsu dans la tech est passionnant : Environment de Travail
2. QUALITÉ SOFTWARE
Lint / Codestyle Structure du code
Portail
développeur
Système de
gestion de
connaissances
30. Le // des pratiques Dantotsu dans la tech est passionnant : Rituels
2. QUALITÉ SOFTWARE
44. Ce qui fait émerger des weak points précis qui auront un effet de levier important
44
CodeScan engineering
How to deploy the infrastructure (SRO)
Reinforce error handling to fix seemingly
random test failures (Engineering)
Important change from SRO not
communicated to CodeScan (SRO /
Engineer) about the SES keys – but unclear
why it had to be shared
Quality test plan
Have a test plan that covers most of the
actual user cases (Engineering)
How QA tests SAML
QA plan to handle on-prem version
3. RETEX
45. Les résultats sont là : 1 type D dans la dernière semaine et plus de backlog
45
3. RETEX
(en réalité ils n’ont pas eu de nouveau
type D jusqu’au 7 avril)
49. … et les clients pas contents ! 😡
49
Les features sont shippées : c’est
cool.
Par contre, ça ship des bugs
aussi. Ça fait flipper les personnes
avec qui on travaille. Sur les tests
auto, j’en parle depuis 2 ans : ma
frustration ne pourrait pas être plus
grande. Je n’arrive pas à
comprendre pourquoi ça n’avance
pas…
3. RETEX
50. Je trouve un bouquin hallucinant que je lis pendant un trek éprouvant au Maroc
50
moi, plus intéressé par le
Lean dans des usines en
Afrique du sud que par la
montagne
3. RETEX
51. Mes premières tentatives donnent des résultats encourageants
51
On construit en équipe une
factory API pour centraliser
tous nos défauts
Les défauts sont vus comme
des sources de discussions
intéressantes plutôt que de
blâmes
3. RETEX
52. Mais on fait aussi face à plusieurs difficultés…
Remote Trouble
management visuel à
la vie dure depuis
l’ère Covid
52
3. RETEX
53. Mais on fait aussi face à plusieurs difficultés…
Remote Trouble Stock First
management visuel à
la vie dure depuis
l’ère Covid
pas évident de
mettre l’attention sur
le “in” quand il y a un
stock de défauts
53
3. RETEX
54. Mais on fait aussi face à plusieurs difficultés…
Remote Trouble Stock First Archéologie
management visuel à
la vie dure depuis
l’ère Covid
pas évident de
mettre l’attention sur
le “in” quand il y a un
stock de défauts
certains bugs datent
d’un autre temps et
sont difficiles à
analyser
54
3. RETEX
55. Mais on fait aussi face à plusieurs difficultés…
Remote Trouble Stock First Archéologie Charge
management visuel à
la vie dure depuis
l’ère Covid
pas évident de
mettre l’attention sur
le “in” quand il y a un
stock de défauts
certains bugs datent
d’un autre temps et
sont difficiles à
analyser
Une analyse
profonde prend ~2h
pour quelqu’un
d'expérimenté…
55
3. RETEX
56. Mais on fait aussi face à plusieurs difficultés…
Remote Trouble Stock First Archéologie Charge Conditions
management visuel à
la vie dure depuis
l’ère Covid
pas évident de
mettre l’attention sur
le “in” quand il y a un
stock de défauts
certains bugs datent
d’un autre temps et
sont difficiles à
analyser
Une analyse
profonde prend ~2h
pour quelqu’un
d'expérimenté…
Le teamwork ou la
pression du delivery
sont les usual
suspects pour les
causes racines…
56
3. RETEX
57. Le format abouti tient sur une feuille A4!
57
3. RETEX
la ligne de code responsable est
clairement identifiée afin d’éviter
une idée fausse sur la cause réelle
Une seule cause est choisie par le
développeur pour que l’analyse soit rapide
(30mn)
La cause d'occurrence fait
apparaître clairement qui doit
apprendre quoi et porte sur un
geste technique afin de cibler
des apprentissages sur le
craftsmanship de l’équipe
Le comportement inattendu est exprimé
du point de vue de l’utilisateur pour
renforcer l’empathie et le sens client
Les contremesures
sont locales et
actionnables par
l’équipe pour créer une
dynamique positive
La cause d’outflow cible l’étape la plus
proche possible de l’introduction du
défaut afin de minimiser le rework dans le
futur
https://www.gitlab.com/…
Sur la page de récap du
prêt, le dirigeantvoit un
montant prêté 1000x
inférieur au montant réel
Françoisn’a pas
transformé le montant
envoyé par la dépendance
API car nous n’avons pas de
standard sur comment
stocker/typerdes
montants
- Jean créé un standard
avec le client, en donnant
en input les standards des
meilleurs (Stripe…) - 17.09
- Jean forme l’équipe sur le
standard établi - 16.09
Nous n’avons pas de
manière de détecter de
manière statique une
primitive obsession (bad
smell)
- Jean créé une fitness
functionexploitant
ArchUnit pour détecter des
primitifs sur des objets
métiers “classiques”
(montants, dates, emails…)
- 20/09
58. L’équipe pilote de Thibault a diminué de 81% ses défauts en prod en 1 an !
58
3. RETEX
59. Au niveau Sipios en revanche… pas encore de tendance !
59
3. RETEX
60. 3. RETEX
60
J’ai aussi détecté nos “weak points” et nous avons lancé une académie de formation
67. Merci !
67
Woody Rousseau
CTO & Cofondateur @ Sipios,
part of Theodo Group
@WoodyRoussea
u
/in/woodyrousseau
Flavian Hautbois
Co-auteur du futur livre "Build to Sell"
Coach lean en Tech & Produit
@flavianhautbois
/in/flavianhautbois
https://buildtosell.org
http://tiny.cc/dantotsu