Qu'est-ce que le Poka-Yoke
Le concept de Poka Yoke (PY) est né en 1961 avec Shigeo Shingo chez Toyota. À l'origine, il s'appelait "Baka Yoke", ce qui signifie "à l'épreuve des idiots", puis la pratique a été rebaptisée "Poka Yoke", ce qui signifie "à l'épreuve des erreurs", afin de ne pas offenser les travailleurs.
Il existe une distinction claire entre les erreurs et les défauts [Sissonen 2008] :
- Les erreurs sont inévitables, notamment parce que les gens ne peuvent pas se concentrer en permanence.
- Les défauts résultent du fait de laisser une erreur atteindre les clients et peuvent être entièrement évités.
L'idée de Shigeo Shingo est d'éliminer intrinsèquement les défauts en premier lieu au lieu de s'appuyer sur des actions correctives prises après coup ; cela conduit à éliminer les défauts des processus pour viser une approche de " contrôle qualité zéro " [Shingo 1986], ce qui correspond à la notion de " qualité intégrée " que l'on retrouve dans l'industrie du logiciel [SAFe 2021-27].
L'AP repose sur l'idée que les gens ne commettent pas intentionnellement des erreurs ou n'effectuent pas le travail de manière incorrecte, mais qu'ils sont susceptibles d'introduire des erreurs de manière non intentionnelle [Liker 2006] ; par conséquent, les systèmes d'AP visent à libérer le temps et l'esprit des travailleurs en empêchant les erreurs de se produire. Au fil du temps, le concept d'AP a été étendu à un outil, une technique de contrôle de la qualité et une philosophie de la qualité [Sissonen 2008].
Une classification des erreurs humaines a été construite pour repérer les erreurs [Shingo 1986] [Sissonen 2008] :
- Oubli: se produit lorsque la concentration ou la mémoire fait défaut.
- Erreurs dues à une mauvaise compréhension: des conclusions erronées sont tirées lorsque nous ne connaissons pas suffisamment la situation.
- Erreurs d'identification: se produit lorsque la situation n'est pas examinée d'assez près, les erreurs de jugement conduisent à une mauvaise identification et donc à de mauvaises actions.
- Erreurs commises par les amateurs: les erreurs sont dues à un manque d'expérience.
- Erreurs délibérées: Parfois, les gens décident que certaines règles peuvent être ignorées dans certaines circonstances, ce qui peut entraîner des défauts.
- Leserreurs involontaires: Parfois, les gens sont distraits et font des erreurs sans savoir comment elles se sont produites.
- Erreurs dues à la lenteur: Parfois, les gens prennent trop de temps pour faire des jugements et des erreurs se produisent.
- Erreurs dues à l'absence de normes: la culture de l'organisation peut ne pas avoir donné lieu à des instructions, des normes de travail ou des exigences appropriées ; ces déficiences entraînent des défauts.
- Erreurs inattendues: des erreurs se produisent parfois lorsque l'équipement fonctionne différemment de ce qui était prévu.
- Leserreurs intentionnelles: Parfois, quelques personnes commettent des erreurs délibérées
Cette première liste peut évidemment être étendue avec une vision systémique [SAFe 2021-02] :
- Lesmauvais outils génèrent de mauvaises méthodes de travail et des erreurs
- Faible synchronisation entre les personnes et les équipes peut générer des divergences qui entravent l'intégration des pièces. Le PanTesting est donc un PY à l'échelle.
- Lesprocessus peuvent également entrer en conflit avec les opérations [Shingo 1986].
- Gestion peut également entrer en conflit avec les opérations [SAFe 2021-40].
- Laphilosophie de production génère également des problèmes [Shingo 1986] - le modèle en cascade [Royce 1970] a généré des tonnes de problèmes que l'agilité tente d'aborder
Les inspections possibles déduites par des erreurs peuvent être regroupées en 3 méthodes différentes [Shingo 1986] :
- L'inspection par jugement de Taylor pour découvrir les défauts - Le processus d'inspection traditionnel pour trouver les défauts avec des cycles plus longs et des encours plus importants - Basé sur les effets plutôt que sur les causes et ne diminue pas le taux de défauts [Shingo 1986][Lazarevic 2015].
- L'inspection informative de Shewart pour réduire les défauts - Transmettre des informations sur le défaut et commencer des actions correctives immédiates avec des inspections conjointes afin de surmonter les erreurs et les malentendus entre le client et le prestataire de services [Lazarevic 2015].
- L'inspection à la source de Shingo pour éliminer les défauts
Selon la classification de Shingo, l'inspection de jugement est l'ordre d'inspection le plus bas [Sissonen 2008] car son but est uniquement informatif. Ce soi-disant "contrôle de qualité" est en réalité coûteux car
- les contre-mesures (bug fixes) prennent du temps
- elle réduit le flux de production [Reinertsen 2009].
- c'est mauvais pour le rendement du premier passage
Edward Deming, affirme également que" la qualité ne vient pas de l'inspection, mais de l'amélioration du processus [...]. Plutôt que de chercher des défauts après coup, le véritable objectif est de créer des processus qui produisent zéro défaut" [Sissonen 2008].
Les niveaux d'inspection supérieurs peuvent être atteints par la formation et l'adoption d'un état d'esprit "zéro défaut"Shingo 1986]
- Contrôle statistique de la qualité pour guider les processus en amont
- Contrôles successifs pour inspecter le travail de l'opération précédente afin d'obtenir un retour d'information immédiat et de le retravailler.
- Lesautocontrôles qui permettent un retour d'information instantané et des actions correctives grâce aux mécanismes de poka yoke - Cette dernière pratique a moins d'impacts psychologiques que les autres approches car les travailleurs offrent moins de résistance puisqu'ils découvrent eux-mêmes les situations anormales. Elle a également permis de réduire les encours de production.
Le PY a trois fonctions : quand les erreurs sont sur le point de se produire, quand elles se sont produites et quand elles entraînent des défauts [Varntanian 2020] :
- Contrôle PY: la méthode de contrôle peut être décrite comme une méthode de travail réglementaire et est intégrée à l'équipement du processus - La fabrication s'arrête et empêche l'étape suivante de se dérouler - Maintient la partie "suspecte" en place lorsqu'une opération est incomplète.
- PY d'arrêt: se produit après que le PY a examiné plusieurs paramètres critiques. Il arrête automatiquement le processus lorsqu'une erreur se produit et place le système en dehors de la zone de tolérance - Cela élimine les éléments humains de l'équation.
- Avertissement PY: attire l'attention du travailleur avec un certain signe - peut ne pas être efficace si le travailleur est soumis à d'autres signaux - à utiliser pour des anomalies légères avec des impacts économiques plus faibles.
Le PY est introduit dès la conception pour soutenir les fonctions, il s'agit d'une approche de "qualité intégrée" [SAFe 2021-27] généralement basée sur [Sissonen 2008] [Varntanian 2020].
- méthodes de contact: caractéristiques telles que les formes et les dimensions utilisées pour prévenir les problèmes d'assemblage, comme on les trouve sur les douilles pour éviter une mauvaise connexion d'une fiche - le poids d'un assemblage peut également être un contrôle qui limiterait l'apparition tardive de problèmes.
- lesméthodes de comptage: un contrôle basé sur le nombre d'actions ou d'indicateurs pour mettre en évidence les déviations de processus et les différences de valeur
- lesméthodes de séquence de mouvement: s'assurer que les ordres de séquence ont été respectés permet d'éviter les opérations manquées ou les blessures (par exemple, exiger que les deux mains soient éloignées d'un danger pour éviter les blessures graves)
Machine à couper le papier [Mumubarbu 2005].
PY est une action préventive qui doit être introduite dans la fabrication et l'utilisation des produits pour éviter les défauts.
Impact sur la maturité des tests
Selon Shingo, le PY permet le "contrôle qualité zéro" (ZQC) puisque tous les défauts sont évités ; c'est donc le système de production idéal qui est basé sur [Shingo 1986] [Sissonen 2008] :
- Inspection à la source - pour détecter les erreurs à la source, avant qu'elles ne provoquent des défauts.
- Inspection à 100 % - cela conduit à utiliser des systèmes PY pour détecter automatiquement les problèmes et éventuellement par échantillonnage si les tests sont destructifs.
- Action corrective immédiate - Les opérations sont arrêtées instantanément pour corriger les problèmes.
Pour atteindre le ZQC, les inspections doivent être effectuées à la fois aux niveaux des défauts et aux sources des défauts [Shingo 1986].
Cycle de gestion des erreurs et des défauts [Shingo 1986].
Cette approche basée sur la double boucle est proposée par Argyris [Argyris 1977] [Smith 2001] comme une composante du PanTesting.
Une classification des erreurs permet de définir des règles de sécurité pour prévenir, avertir ou réduire les effets du problème. A partir de la classification de Hinckley [Sissonen 2008], il est alors possible de proposer des modèles PY adaptés à l'industrie du logiciel.
- Facteurs de causalité ou de stress: par exemple, la fatigue, le manque d'éclairage, l'urgence, l'interruption de la charge de travail, le changement de profession ou la frustration ; le PY peut être tiré de la direction, des conditions de travail ou du calendrier Niko-Niko,
- Phase du projet: par exemple, conception, fabrication, assemblage ; l'AP peut être tiré des pratiques de l'équipe de gauche.
- Facteurs ergonomiques: par exemple, perception, décision, action, compétence, formation ; les AP peuvent être tirés des WCAG, des tests d'utilisabilité ou des mécanismes d'alerte.
- Probabilité d'erreur humaine: par exemple, fréquence d'erreur, performance humaine ; la probabilité d'erreur humaine peut être tirée d'écrans basés sur des étapes, des masques ou des interfaces utilisateur basées sur le principe du moindre effort.
- Conséquences d'une erreur: par exemple, blessure, perte, dommage ; PY peut être tiré en formant littéralement le système composé avec l'équipe qui rend le produit plus résistant aux incidents.
- Facteurs comportementaux: par exemple, la communication, les processus moteurs, la perception ; les AP peuvent être tirés de X-Teams ou de Panarchy.
- Action corrective: par exemple, reprise, réparation, rebut ; PY peut être tiré de Preventing bugs, progrès continu vers la perfection.
Dans l'industrie, l'adoption du PY est basée sur l'urgence ou une analyse de Pareto sur les problèmes pour fixer la source d'un problème grâce à un RCA [Sissonen 2008] et mesurer l'efficacité du PY. Cependant, lorsqu'elle est transposée à l'industrie du logiciel
- l'inspection à la source ne permet pas toujours d'éliminer le problème, mais plutôt d'espérer devenir plus robuste face à des données inattendues
- Tout tester est "impossible" [ISTQB 2018].
- les actions correctives immédiates sont limitées par la pression de refoulement
Dans ces environnements complexes, la causalité ne fonctionne plus [Snowden 2007] [Appelo 2010] notamment en raison des sources multifactorielles. Une réponse plus agile à ce problème est
- une approche empirique : afin d'assumer la variabilité [SAFe 2021-03], prévoir un sujet de manière trop approfondie génère des écarts plus importants avec ce qui est réellement livré.
- une approche par petits pas [SAFe 2021-04] : de l'atténuation à l'élimination - voir les niveaux de protection contre les erreurs ici-bas
- l'opportunisme : saisir les opportunités du contexte pour permettre l'amélioration du niveau d'étanchéité aux erreurs
Niveaux d'étanchéité [Sissonen 2008].
Avec les efforts de prévention des erreurs, le coût de la qualité (CoQ) passe d'un coût exponentiel proche de l'infini pour atteindre une qualité de 100% à un coût fini. Il existe en fait un nouveau modèle de CoQ qui transforme le traditionnel coût optimal de la qualité situé à un équilibre entre les coûts et la qualité en un "coût total minimum de la qualité au niveau de qualité de 100%" [Pyzdek 2003] [Juran 1999].
Modèle traditionnel et nouveau modèle de coûts optimaux de la qualité [Sissonen 2008].
Même si Shingo affirme que"Défauts = 0 est absolument possible" [Shingo 1986], les principes de l'ISTQB montrent le contraire [ISTQB 2018]. Le métro de Singapour peut démontrer que ces principes sont justes : un seul chewing-gum a verrouillé tout le système alors que le code n'avait pas bugs. L'absence de bugs dans le code était garantie par l'utilisation de la méthode B [Moustier 2019-1]. Grâce à cette approche, le code a été démontré au lieu d'être testé, une démonstration étant plus forte que des évaluations basées sur des données ! Même si le code était exempt de bug , cet incident a montré que l'ensemble du système présentait des défaillances qui ne pouvaient être ni imaginées ni prévenues à l'avance. Cependant, le gouvernement a mis en place un PY à un niveau plus élevé en interdisant la vente de chewing-gums.
Même si le nouveau modèle peut être discuté plus avant, il est empiriquement raisonnable de faire confiance à un"Manifeste PY" à la Agile Manifesto [Beck 2001] :
L'inspection des sources plutôt que la résolution des problèmes
Tout tester plutôt que de se concentrer sur une partie
Corrections immédiates des problèmes d'enregistrement
Depetites corrections sur de grandes réalisations
Ce manifeste conduit à introduire PY au moment de l'idéation, notamment avec :
- Critères d'acceptation des 3 Amigos ou exemple de cartographie pour permettre l'inspection à la source.
- Destests exploratoires, des tests NFR pour multiplier les types de tests sur la solution et un DoD, ATDD et TDD combiné à un pipeline pour permettre une revue à 100% sur les unités et les User Stories vers une approche "tout tester".
- Test de bout en bout dès que possible pour apporter des corrections immédiates.
- Politique de traitement des anomalies pour gérer les corrections
Au moment de l'exécution, notamment avec :
- Sessions Gemba, feedback des ressources, du domaine et de l'entreprise pour inspecter les sources.
- Perturbation volontaire du système pour tout tester
- Canary Releasing pour permettre des corrections immédiates
- Jidoka sur le pipeline pour assurer les petites corrections
À tout moment, avec
- Rétrospectives pour inspecter les sources
- Les jalons sont évalués objectivement et Automatisez tout ce que vous pouvez pour vous assurer que tout est testé.
- Andon pour effectuer des réparations immédiates
- La règle du Boy Scout [Martin 2011] [Moustier 2019-1] (c'est-à-dire 5S sur le code), 5S sur la documentation, 5S sur les cas de test, 5S sur le backlog, Kaizen et progrès continu vers la perfection pour fournir de petites corrections.
Le point de vue d'Agilitest sur cette pratique
Agilitest est un outil dédié à l'inspection du jugement de Taylor pour découvrir les défauts. Adopter uniquement un outil de test automatisé n'est clairement pas suffisant. Ce constat oblige Christophe Cressend, le PDG, à promouvoir les pratiques agiles en même temps que l'automatisation des tests.
Pour découvrir l'ensemble des pratiques, cliquez ici.
Cartes connexes
Pour aller plus loin
- [Appelo 2010] : Jurgen Appelo - " Management 3.0 : Leading Agile Developers, Developing Agile Leaders " - Addison Wesley - 2010 - ISBN : 978-0321712479 - voir aussi https://fr.slideshare.net/jurgenappelo/agile-management-leading-teams-with-a-complex-mind/
- [Argyris 1977] : Chris Argyris - " Double Loop Learning in Organizations " - Harvard Business Review - SEP/1977 - https://hbr.org/1977/09/double-loop-learning-in-organizations
- [Beck 2001] : Kent Beck et al. - " Manifeste pour le développement Agile de logiciels " - 2001 - http://agilemanifesto.org/iso/fr/manifesto.html
- [ISTQB 2018] : ISTQB - 2018 - "Certified Tester Foundation - Level Syllabus" - https://www.istqb.org/downloads/category/2-foundation-level-documents.html (en anglais)
- [Juran 1999] : Joseph M. Juran & A. Blanton Godfrey - 1999 - "Juran's Quality Handbook" - isbn:9780070340039
- [Lazarevic 2015] : Milovan Lazarevic & Jovan Mandic & Nemanja Sremcev & Djordje Vukelic & Mihael Debevec - 2015 - "Une revue systématique de la littérature sur le Poka-Yoke et une approche nouvelle des aspects théoriques" - https://www.researchgate.net/publication/334470774
- [Liker 2006] : Jeffrey K. Liker & David Meier - 2006 - "The Toyota Way Fieldbook" - isbn:9780071502115
- [Martin 2011] : Robert C. Martin - 2011 - "The Clean Coder : Un code de conduite pour les programmeurs professionnels" - isbn:9780132542883
- [Moustier 2019-1] : Christophe Moustier - JUIN 2019 - " Le test en mode agile " - ISBN 978-2-409-01943-2
- [Mumubarbu 2005] : Mumubarbu - 2005 - "Massicot (machine)" - https://commons.wikimedia.org/wiki/File:Massicot.png
- [Pyzdek 2003] : Thomas Pyzdek & Paul A. Keller - 2003 - "Manuel d'ingénierie de la qualité" - isbn:9780824746148
- [Reinertsen 2009] : Donald G. Reinertsen - FEB 2009 - "Les principes du flux de développement de produits : le développement de produits allégé de deuxième génération" - isbn:9781935401001
- [Royce 1970] - Royce, Winston (1970) - " Managing the Development of Large Software Systems " - Proceedings of IEEE WESCON, 26 (August) - http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf
- [SAFe 2021-02] : SAFe - FEV 2021 - "Principe n°2 - Appliquer la pensée systémique" - https://www.scaledagileframework.com/apply-systems-thinking/
- [SAFe 2021-03] : SAFe - FEV 2021 - "Principe n°3 - Assumer la variabilité ; préserver les options" - https://www.scaledagileframework.com/assume-variability-preserve-options/
- [SAFe 2021-04] : SAFe - FEV 2021 - "Principe n°4 - Construire de manière incrémentale avec des cycles d'apprentissage rapides et intégrés" - https://www.scaledagileframework.com/build-incrementally-with-fast-integrated-learning-cycles/
- [SAFe 2021-27] : SAFe - FEV 2021 - " Qualité intégrée " - https://www.scaledagileframework.com/built-in-quality/
- [SAFe 2021-40] : SAFe - JUL 2021 - "Business Agility" - https://www.scaledagileframework.com/business-agility/
- [Shingo 1986] : Shigeo Shingo - 1986 - "Contrôle qualité zéro : L'inspection à la source et le système Poka-Yoke" - isbn:9780915299072
- [Sissonen 2008] : Jussi Tapani Sissonen - MAI 2008 - "Poka-Yoke pour la personnalisation de masse" - https://www.semanticscholar.org/paper/Poka-yoke-for-mass-customization-Sissonen/49241489e3b4dc100ffd23c69518d5fd7f4350ae
- [Smith 2001] : Mark K. Smith - 2001 (mis à jour en 2005) - "Chris Argyris : théories de l'action, apprentissage en double boucle et apprentissage organisationnel" - www.infed.org/thinkers/argyris.htm
- [Snowden 2007] : David J. Snowden et Mary E. Boone - NOV 2007 - "A Leader's Framework for Decision Making" - https://hbr.org/2007/11/a-leaders-framework-for-decision-making
- [Varntanian 2020] : Stefanos Varntanian & Diana Pancera - APR 2020 - "Technique du Poka-Yoke - Résumé" - https://www.researchgate.net/publication/340464046