8 ms·
Poka Yoke
- canjobear 5y agoWhy is it written in katakana?
- Igelau 5y agoProbably because it's a slogany sort of invented term.
- blackguardx 5y agoKatakana sometimes is used to draw attention to words that would be normally written in hiragana or kanji. It can sort of function like italics or bold type that way. In this case it might be used to signify that it is a specific method rather than just a collection of words. The english equivalent might be capitalizing the letters in Six Sigma to refer to a specific industrial quality process rather than the math term.
- kazinator 5y agoProbably because ポケ is, causing katakana contagion of the 除け part. (I made up "katakana contagion"; don't bother searching.)
- kevinstubbs 5y ago"katakana contagion" sounds so cool. I'm disappointed it's not a real thing. Could you explain what it means?
- kazinator 5y agoContagion is the spreading of some property from one entity to another by come form of contact. For instance "floating-point contagion" in computing which refers to a situation when an exact number and inexact number are combined together in on operation, and the exact number is first coerced to inexact. E.g. 0.5 + 1 is carried out as 0.5 + 1.0: the integer 1 value becomes 1.0.
- jonah 5y agoI think one implementation if this is where Japanese rail workers point and call out the thing they are noting, checking, or changing as a form of conscious attention. “Pointing and Calling” (Shisa Kanko): https://www.atlasobscura.com/articles/pointing-and-calling-japan-trains https://www.atlasobscura.com/articles/pointing-and-calling-j... https://www.christopherroosen.com/blog/2020/4/20/how-the-ritual-of-pointing-and-calling-shisa-kanko-embeds-us-in-the-world https://www.christopherroosen.com/blog/2020/4/20/how-the-rit...
- seabird 5y agoThat's more of a learned behavior that helps you consciously check everything; it's almost the opposite of pokayoke. Implementing pokayoke would involve locking out (or making it incredibly hard) for rail workers to continue a process without confirming that everything has been done as intended.
- wheelinsupial 5y agoMaybe. I think it wouldn't qualify for a few reasons. I'm sure others would be able to justify this as being a form of error proofing. 1. From Toyota Production System An Integrated Approach to Just-In-Time by Yasuhiro Monden, "A mistake-proofing system consists of a detecting instrument, a restricting tool, and a signaling device. The detecting instrument senses abnormalities or deviations in the workpiece or the process, the restricting tool stops the line, and the signaling device sounds a buzzer or lights a lamp to attract the worker's attention." I don't think pointing and calling works for this since there is a human in the loop that would have to detect, for example, the speed is too fast for the segment of track, restrict the speed by slowing the train down, and call attention to another operator to help. The goal is to eliminate the human from this process to ideally free them up to do work that respects their humanity [1]. 2. Pointing and calling is only 85% effective as called out on the Wikipedia page for it. The benefit of mistake proofing is 100% built-in quality control according to the Wikipedia page. 3. From practical experience in automotive part manufacturing, our customers did not accept human based interventions or process changes as a form of error proofing. The error proofing needs to be built into the process and it can't be something that an operator can by pass. Pointing and signalling can be bypassed if the employee chooses not to do it. I'm sure there is ways of bypassing some error proofing systems, but that's what the customer wants. Error proofing is part of a system called autonomation []. One of the goals is to be able to have multi-skilled workers be able to work within a cell. Basically the human operator takes on a loading and unloading focus in the manufacturing process. Several operations would be performed in sequence. The operator would put the raw material in at one side of a machine cell, transfer it to the subsequent operations until the last operation has been completed. The goal is for the piece to be produced with minimal waiting time between each successive operation and for the machines to be able to detect if a defect has been produced. [1] https://michelbaudin.com/2014/04/12/more-on-toyotas-respect-for-humanity/#humanity_versus_people https://michelbaudin.com/2014/04/12/more-on-toyotas-respect-... [2] https://en.wikipedia.org/wiki/Autonomation https://en.wikipedia.org/wiki/Autonomation
- nmstoker 5y agoIs this strictly a physical thing or can it apply in software?
- koolhaas 5y agoSure, some Linux distros (or is it MacOS?) ask for confirmation before executing `rm -rf /`, which breaks the typical UX of the command but prevents bad mistakes.
- nerdponx 5y agoPretty much all good software design practices exist to prevent mistakes by constraining behavior. It would be interesting to try and formalize it and make it more specifically analogous to what's in manufacturing.
- wheelinsupial 5y agoA process (Failure Modes and Effects Analysis FMEA) used to arrive at eventual error proofing in manufacturing has existed since the 1940s. There have been attempts to bring this process over to software. A quick search shows attempts in the 1970s. I am really not sure why it hasn't caught on in software. I suppose the challenge is that you need to have specifications for what the outcome should be. In manufacturing this is always available. There is a design FMEA and a process FMEA, which typically correspond to the design and development of a product and the manufacturing process respectively. This was covered in my mechanical engineering diploma program as something that is part of the mechanical design process. It also appears to be covered in some software engineering courses, but the application seems varied. Waterloo's SE 463 course covers risk management as applied to software project management (https://cs.uwaterloo.ca/~jmatlee/Teaching/SE463/Lectures/13_RiskManagement.pdf https://cs.uwaterloo.ca/~jmatlee/Teaching/SE463/Lectures/13_...), but for some reason seems to miss it at the design level. This is also covered in a book on software engineering: https://iansommerville.com/software-engineering-book/static/videos/reliability-and-safety/ https://iansommerville.com/software-engineering-book/static/..., which is used for some software engineering courses at other universities. I have provided some brief resources below: Software: http://www.softrel.com/fmea%20overview.pdf http://www.softrel.com/fmea%20overview.pdf https://swehb.nasa.gov/display/SWEHBVC/8.5+-+SW+Failure+Modes+and+Effects+Analysis?desktop=true¯oName=show-if https://swehb.nasa.gov/display/SWEHBVC/8.5+-+SW+Failure+Mode... https://www.witpress.com/Secure/elibrary/papers/SQM95/SQM95019FU.pdf https://www.witpress.com/Secure/elibrary/papers/SQM95/SQM950... Automotive / manufacturing: http://www.phf.org/resourcestools/Documents/Mistake_Proofing.pdf http://www.phf.org/resourcestools/Documents/Mistake_Proofing... https://www.aiag.org/event-presentations/S16QUALITY/ERROR_final.pdf https://www.aiag.org/event-presentations/S16QUALITY/ERROR_fi...
- aaron695 5y agoThis is probably bad advice. The Japanese definition is a little different too - https://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%AB%E3%83%A8%E3%82%B1 https://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%AB%E3%83%A8%E3... > defects by preventing, correcting, or drawing attention to human errors as they occur. There seems confusion on what this applies too (The Japanese Wiki includes workplace accidents) but specifically within Health and Safety it's too broad to put these into one word, you'd assume something like this also applies to non-critical processes - https://blog.sliceproducts.com/safety-hierarchy-of-controls https://blog.sliceproducts.com/safety-hierarchy-of-controls Safety Hierarchy of Controls: A Brief Overview Elimination Substitution Engineering Control Administrative Control Personal Protective Equipment (PPE) In network security, Elimination is taking away a risk, like stop using Confluence. PPE would be cyber insurance. Software engineering, Elimination - Remove frameworks. But you won't just "Poka-yoke", which seems to be 'Engineering Controls', 'Administrative Control', 'PPE'
- sokoloff 5y agoOne of my favorite examples is the control lock on some light aircraft. Aircraft are often parked outside and in windy conditions, you want to prevent the control surfaces from being banged around, so you put in control locks. You also don’t want aircraft trying to take off with locked controls (such as the G-IV mishap at Bedford* a few years ago). Enter the control lock that blocks the starter: https://www.csobeech.com/images/ControlLock-Late-36_58.jpg https://www.csobeech.com/images/ControlLock-Late-36_58.jpg The pin on the right locks the yoke (ailerons and elevator), the clip retains it from falling, and the rudders are locked with the spring pin. The red “flag” part with the lettering extends to block the magneto (ignition) and starter controls. * https://en.m.wikipedia.org/wiki/2014_Bedford_Gulfstream_IV_crash https://en.m.wikipedia.org/wiki/2014_Bedford_Gulfstream_IV_c...
- DavidPeiffer 5y agoI'm an industrial engineer, so this is all right up my alley! My favorite example is a two-part foam injection machine. They needed to change the injection head, and accidentally put it on backwards. The parts mixed and worked their way back in the supply lines, solidifying along the way. Hundreds of thousands of dollars in lost productivity, multiple weeks to get it fixed. They promptly switched the coupling so it was impossible to put the injection head on backwards.
- chriswarbo 5y agoA Proton rocket launch failed in 2013, supposedly due to sensors being installed backwards: https://en.wikipedia.org/wiki/Proton-M#Notable_launch_failures https://en.wikipedia.org/wiki/Proton-M#Notable_launch_failur... The Genesis sample-return capsule crash-landed due to the accelerometer controlling the parachute deployment being installed upside-down: https://en.wikipedia.org/wiki/Genesis_(spacecraft)#Mishap_Investigation_Board_(MIB) https://en.wikipedia.org/wiki/Genesis_(spacecraft)#Mishap_In...
- akavel 5y agoAnd notably, as a kinda higher-level challenge towards poka-yoke...: The improper installation apparently required some considerable physical effort, which, somehow did not raise any alarm at GKNPTs Khrunichev's assembly plant in Moscow. (...) By July 13, investigators simulated the improper installation of the DUS angular velocity sensors on the actual hardware. As it turned out, it would be very difficult to do but not impossible. To achieve that personnel would need to use procedures and instruments not certified either by the design documentation or the installation instructions. As a result, the plate holding the sensors sustained damage. Yet, when the hardware recovered from the accident was delivered to GKNPTs Khrunichev, it was discovered that the nature of the damage to the plate had almost exactly matched the simulated version. (via: http://www.russianspaceweb.com/proton_glonass49.html http://www.russianspaceweb.com/proton_glonass49.html) In other words: poka-yoke, meet hammer... (To make it clear, I absolutely love the idea of poka-yoke, and find it great help in software development as well; still, I find the story both hilarious and educative ;) )
- jihadjihad 5y agoThe Apple power brick's metal knob that prevents backwards insertion is my favorite example of poka-yoke. MagSafe is another one, too.
- LeonM 5y agoYou mean the metal knob on the mains side of the power brick? I don't see how the backward insertion of anything would be an issue there. AFAIK the metal knob is the earth connection (which is not used on EU plug, which is very annoying).
- occamrazor 5y agoWhy do you find it annoying? Electrical safety norms require either a ground pin attached to the shell or double insulation, and the charger has double insulation. Moreover the Europlug has only two pins and fits every socket in Continental Europe, grounded plugs differ by country.
- LeonM 5y ago> Why do you find it annoying? Electrical safety norms require either a ground pin attached to the shell or double insulation, and the charger has double insulation. Though totally safe, the leakage current I feel when touching the metal body is very annoying. See also here: [0] > Moreover the Europlug has only two pins and fits every socket in Continental Europe, grounded plugs differ by country. That is correct, hence why the plug in an Apple charger brick is interchangeable. However, the cable attachment is grounded, but the short attachment isn't. When using the cable attachment, the device is grounded and doesn't shock me, with the short attachment I get shocked. Since they did make the grounded cable that fits my countries outlet, it annoys me that I can't get a short grounded attachment with the same plug. [0] https://superuser.com/questions/1331984/why-does-my-macbook-give-a-slight-tingling-sensation-when-it-is-charging-and-wha https://superuser.com/questions/1331984/why-does-my-macbook-...
- AussieWog93 5y agoSlightly different to what is described here, but one of my pet peeves is the "nuclear button" features that devs put in their software - ie easy to activate features that add marginal utility to specific niche workflows but cause irreversible damage to everyone else. Firefox deleting every single one of your pinned tabs on close if you have a second window open is an example of this, as is YouTube jumping to a different part of the video every time you bump one of the numerical keys on your keyboard.
- NotSoVeteran 5y agoAnother great Firefox example is the shortcut for "close all the tabs" (ctrl+shift+q), which also happens to be adjacent to "go to previous tab" (ctrl+shift+tab). Depending on your preferences, there won't even be a warning popup if you accidentally press it.
- janci 5y agoTip: you can use ctrl+shift+n to reopen the lost window.
- hoseja 5y agoI accidentally clicked "Forget about this site" on an item with google domain in Firefox history recently. Cue 5-minute freeze and having to re-login, not to mention losing the entire browser-local googling history.
- gberger 5y agoMy personal favourite is the "clear" button at the bottom of forms, right next to the "submit" button.
- glugc 5y agoI haven't seen a form with a clear button in 20 years.
- 4gotunameagain 5y ago"as is YouTube jumping to a different part of the video every time you bump one of the numerical keys on your keyboard. " Niche workflows? This is one of the most useful features! :)
- kesor 5y agoMore people need to know about this. Every time I ask some software dev if he knows the term Poka Yoke the answer is always no. Same goes for many operations engineers. And when explained what it is, people assume it is the same as "idiot proof". No, it is not. Is a microwave door that turns the thing off when opened made for idiots? No, just regular people who want to use the microwave without frying their brain in the process.
- rdlw 5y agoThat seems a bit unfair since it literally comes from the direct translation of 'idiot proof'. It's true that you can benefit from idiot-proof design without being an idiot, but I would argue that you could market a microwave that doesn't turn off when you open the door, plastered with warnings and maybe a mandatory course on how to operate it. An idiot-proof version would have safeguards that everyone could benefit from, but then saying that it's a fundamentally different concept just seems needlessly combative.
- janci 5y agoFun fact: the microwave door switch does not only switch the thing off, it also shorts the power line. If the switch contact were melted and fused together unable to disconnect, it pops the breaker.
- luispa 5y agoThis was one of the best things I learned at my first job. The capability of finding an error-proof solution is so satisfying. One of the best examples I know is: - The Heart Valves, are an error-proofing example in nature that prevent the back-flow of blood
- lxgr 5y agoArguably a (valve-based) pumping system without valves wouldn't be considered error-prone but rather non-functional? (I might be missing something, though, since I don't really know whether heart valves are dual-purpose like that.)
- koolba 5y agoI do this all the time for particularly scary yet infrequent scripts that I’m paranoid for accidentally executing. The simpler ones check an environment variable such as RUN_SCARY_THINGY is set to “yes”. The complex ones check that it has a timestamp that is within the past minute. Accidentally run the script without exporting the right var and it prints a message suggesting a cup of coffee.
- Zecc 5y agoWhen writing and running SQL one-offs interactively, I will surround it with `if 1<>1 begin end` or comments, or add syntax errors at the top so that I won't accidentally run it without first selecting the part I want to run. I should get into the habit of writing `begin; rollback` instead for extra-safety. And I always write the WHERE clause before the DELETE or UPDATE keywords.
- chriswarbo 5y ago> And I always write the WHERE clause before the DELETE or UPDATE keywords. I sometimes get nervous typing 'rm -r' commands, since it starts with a very broad path, and only narrows-down as we type more, e.g. if we hit enter prematurely when typing 'rm -r ~/Downloads/archive.zip' we might delete our entire home directory, or all of our downloads. For this reason I often prefix dangerous steps with 'echo'; once I'm confident it's correct, I'll then run the script and double-check that variables/flags/etc. expanded as expected; and only then will I remove the echoes.
- twic 5y agoSimilarly, i sometimes start writing the command line with 'ls' or 'find', and then run it, and once i'm satisfied it describes the right things, i change the find to an rm.
- tux3 5y agoI always write rm <path> -rf for this reason (I was surprised to learn that on some systems, the flags are in a fixed position, at the start!)
- selfhoster11 5y agoA related term for this from the Jargon File is the "molly-guard" > molly-guard: n. > [University of Illinois] A shield to prevent tripping of some Big Red Switch by clumsy or ignorant hands. Originally used of the plexiglass covers improvised for the BRS on an IBM 4341 after a programmer's toddler daughter (named Molly) frobbed it twice in one day. Later generalized to covers over stop/reset switches on disk drives and networking equipment. In hardware catalogues, you'll see the much less interesting description “guarded button". There is a Debian package with the same name that does the same thing: replaces shutdown and reboot scripts with ones that need an additional confirmation before you bring the machine down.
- totetsu 5y agoThese kind of electric paper cutters are common in Japanese school copy rooms. As they could easily cut fingers off, they require you to close the top cover and then both hands to operate the cut switches. (only after you've turned a big red arming switch) https://nihonkiki.com/products/detail.php?product_id=4993 https://nihonkiki.com/products/detail.php?product_id=4993
- auxym 5y agoCommon on industrial stamping presses also. Operator loads metal sheet, then needs to activate the press with two physical buttons, separated with enough distance that it can only be done with two hands.
- donatj 5y ago> some automatic transmissions require the brake pedal to be depressed [to start] Hmm, I was always told to do so when I was learning to drive. At some point I stopped doing so and it’s never been an issue, should I be stepping on the brakes when starting my car?
- LeonM 5y agoFor safety, yes. This prevents the car from lurching forward (or backward) if you start it thinking the transmission is in park/neutral, when it is actually in gear. Most modern cars have a lockout, preventing you from starting the engine unless the brake (or clutch) is pressed. However, some older cars do not have this feature.
- Doxin 5y agoYes. Always. If your transmission is defective somehow you don't want the car to lurch when you start it.
- SV_BubbleTime 5y agoAutomotive EE here… I don’t think this is correct. If you are talking pre-electronic shift, your transmission still has position sensors and the engine or trans control module will not allow start while engaged. All vehicles have interlocks for this. Post electronic shift, it’s no question at all. You would need at least two errors in two completely separate circuits to get the vehicle to start in gear. Believe it or not, we think about these things. For very very old transmissions, it’s probably possible to get this error, but nothing after 1995-1997.
- cameronh90 5y agoI may be misunderstanding what you're saying, but many modern cars I've driven will still allow themselves to be started in gear. It happened to me quite frequently until I built up the muscle memory for always starting with the clutch in, and occasionally still does if I forget (I drive a lot of hire cars).
- yuchi 5y agoPrevious discussion with 60 comments: https://news.ycombinator.com/item?id=18050168 https://news.ycombinator.com/item?id=18050168