Software Process Engineering
Software Engineering is a discipline that aims at producing high-quality software through systematic, well-planned approach to software development. It contains many good practices, following the standards to achieve the quality product. The three main phases of Software Development are Analysis – Design – Implementation. To accomplish high-quality software is essential to produce the defect-free product.
The defect is the unexpected or undesired behaviour that occurs in the product. Anything related to defect is a continual process, not a particular state.
Finding and fixing the defect in the early stage of the software development reduces time, rework and money. Finding the defect in later stages always costs multiple times than early stages. It enhances the quality by adding reliability, portability, maintainability etc. Hence it is advisable every company should go with defect management system and defect management team at every stage of the development to attain the good quality in products and to gain the customer confidence.
One of such mistake proofing technique is POKA-YOKE,
What You Will Learn:
It’s a quality assurance process introduced by Japanese engineer Shigeo Shingo. This term is used in the Japanese language as “Poka” meaning mistake and “Yoke” meaning prevent i.e. mistake preventing or mistake proofing technique.
The purpose of Poka-Yoke is to develop processes to reduce defects by avoiding or correcting (design to show alerts or warning messages to the user) mistakes in early design and development phases. This technique is mostly used in manufacturing industries but now this effective technique is also adapted to software development processes as well.
Poka-Yoke example from manufacturing industry
A good example of Poka-Yoke design from manufacturing industry – SIM card slot in cell phones are designed in such a way that user is allowed to insert SIM card in a correct way only. There is no chance for the user to make a mistake while putting SIM card in a cell phone. This makes the design mistake proof.
Poka-Yoke example from software application
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?
Steps to Implement a Poka Yoke Process:
Below are few steps to design and implement a process to prevent software defects:
Defect prevention is most important activity in SDLC. This method is used to identify all possible issues and actions needed to eliminate those issues. Many software defects can be prevented in design phase itself. Quality assurance team can help to prevent these defects by reviewing the software requirement specification documents. All issues identified in this stage are addressed in software coding phase and prevented from carrying to later stages. The manufacturing and software industry examples provided above are the good examples of defect prevention technique.
Defect detection is the most common task for quality assurance teams. QA teams use various approaches and strategies for executing test cases effectively. Defects are detected by many other testing methods like smoke and exploratory testing.
To develop quality software, it is important to design it according to user’s expectations. The user should be able to use/handle the software with ease without making any costly mistake.
Poka-Yoke examples in design and quality
1) The example of missing attachment file while composing an email using Gmail.
2) Some websites show password strength indicator to show password strength. It also guides users to use the strong password with combinations of characters and numbers.
3) Google search engine feature to auto-suggest spelling corrections for user search query. This helps uses to avoid making inadvertent mistakes.
4) Banking websites use double text field feature to accept sensitive information like passwords or account numbers. The second text field is usually encrypted to avoid making any mistake while providing the input value and to check if both the text field values match.
From countless industry examples, it’s now well known that cost of fixing a defect after product release is many times greater than fixing it in the development cycle. The best solution to avoid post-release issues is introducing the Poka-Yoke techniques which could catch defects in early development phases making it cheaper to fix. Poka-Yoke process implementation largely depends on tester’s ability to capture and eliminate the issues.
Poka-Yoke examples in Software Development
Making mistakes is OK; just don’t make the same mistake again and again. And to avoid making same mistakes again there should be some checks or processes in place. The Poka-Yoke techniques are developed to solve this problem.Article References:
About Author: This is a guest post by Nataraj Kanchyani. He is working as a Senior Software Engineer-Testing at Centurylink Technologies India Pvt Ltd, Bangalore.
Do you have any experience working on this technique? Or have you ever worked on developing such defect prevention and detection processes? Let us know in the comments below.