Pages

Sunday, May 19, 2013

The Poka-Yoke Technique



I recently came across an article talking about a testing technique invented by a japanese engineer named Shigeo Shingo.
I did a little research about this and i wanted to share this amazing story with all quality assurance geeks like me.

I can affirmatively say that Shigeo Shingo is the Walter A. Shewhart of Japan (W. A. Shewhart is an american physicist, mathematician and engineer known as the father of statistical quality control).

This man (Shigeo Shingo) who invented the Single-Minute Exchange of Die (a method for reducing waste in a manufacturing process) while working at Toyota came with an idea that reduces the circle of the testing scope; which mean decrease the probability of finding mistakes and defects during the testing phase.

Doesn't necessary make a QA Consultant be thrilled after hearing this!

Shigeo Shingo called this technique The Poka Yoke Technique.


What is Poka-Yoke?


In Japanese language, the term Poka means "mistake" and the Yoke means "prevent". This technique means mistake preventing or mistake proofing.

The purpose of Poka-Yoke is to develop processes to reduce defects by avoiding or correcting (design to show alerts or warning messages to user) mistakes in early design and development phases.

This technique is mostly used in manufacturing industries but now this effective technique is also adapted in software development processes as well.


Poka-Yoke in real life.



The best example i find that describes effectively the use of the Poka-Yoke technique comes from the manufacturing industry-SIM Card Design.

The SIM card slot in cell phones is designed in such a way that user is allowed to insert SIM card in correct way only. There is no chance for user to make a mistake while putting SIM card in a cell phone. This makes the design mistake proof.





Imagine if the user has the possibility to insert the SIM card at any angle; The manufacture will have to test every possible case and make sure nothing goes wrong.

Imagine how much time and effort the company has saved by using this design. Brilliant! Right!


Poka-Yoke and software application development.


The perfect example of Poka-yoke process in software application is – Gmail email attachments feature.

When you type word 'find attached' while composing a new email and try to send it without attaching a file Google will show you a popup reminder saying that you used words “find attached” in your email but did not attach any files, do you still want to continue sending?





How Poka-Yoke works?


Below are few steps to design and implement a process to prevent software defects:
- List all user scenarios or end-to-end test cases for the application.
- Analyze all these user scenarios by asking the 5-Whys questions to understand the ways these scenarios can fail.
- Once you identify the ways these user scenarios can be wrong, design and apply a Poka Yoke technique to avoid the possible problems (e.g. this design could be a simple unit test to check if any function written is working properly or not).
- Make sure the technique designed to avoid the defect is working properly by giving errors or warning message for incorrect input or handling of the user scenario.
- Once the trial is passed add this technique in the list of Poka Yoke processes to be performed each time on new release/build.  (In above unit testing example, once the unit test is written to check the function code, check if it is working for positive and negative values. When this test passes add it to ‘unit tests’ repository to be executed each time any change is made in relevant modules)
- Measure the success of this Poka Yoke process. Check if this technique has really prevented or caught defects when happening.



What I think About it!

Making mistakes if OK; just don't make the same mistake again and again. And to avoid making the same mistake again there should be some checks or process in place. The Poka-Yoke techniques are developed to solve this problem.


No comments:

Post a Comment