Poka yoke, a Japanese term that means mistake-proofing or fail-safing, recognizes that human errors are unavoidable but do not necessarily have to result in defects. It employs a set of proactive measures, particularly a 100% inspection at the source, to detect process errors before they cause defects. The emphasis is on prevention and quality measures at the source. This includes stopping the process upon detection of process errors that may cause defects downstream. The process is restarted only after the cause has been identified and eliminated. This relatively simple system can have a huge impact on software cost, quality, and development time. The five principles of effective poka yoke deployment are 100% inspection at the source, appropriate upstream control measures, rapid implementation, people focus and teamwork, and problem-solving approach. Poka yoke should not be approached as a panacea for proofing all kinds of mistakes. It may be more suitable in certain situations than others. Trustworthy software must be robust vis-à-vis the following three causes of defects: variations, mistakes, and, above all, complexity. The strategies for eliminating defects caused by these three are distinctly different: statistical methods, poka yoke, and reduction of product and process complexity at design stages, respectively. As process capability improves, mistakes play an increasingly crucial role in determining product quality. Furthermore, the collective impact of these mistakes, commonly prevalent in complex systems, can be potentially catastrophic. However, complexity is the "mother of all defects" and must be addressed before a poka yoke deployment. Poka yoke involves 100% inspection; the other two types of inspections, judgment and informative, especially judgment, are less effective in reducing defect rates. The chapter establishes the link between complexity reduction, and variations and mistakes. It makes a case for controlling complexity as a crucial first step to eliminate the causes of potential mistakes substantially before mistake-proofing (poka yoke) is deployed. It identifies a practical measure of complexity and provides a framework for controlling product and process complexity in a software context. Finally, it presents a poka yoke system as a cost-effective quality control system to reduce defects further as part of a DFTS deployment.
|