POKA-YOKE

Ben Ellerby, Theodo
Sofia, June 7th, 2019

bene@theodo.co.uk

https://www.linkedin.com/in/benjaminellerby/

"Poka -Yoke":

Mistake-Proofing

 

"Baka -Yoke":

Fool Proofing

PETROL

DIESEL

21mm
24mm

Oxy Acetylene Welding

ACETYLENE
OXYGEN
 ISO 3253

Characteristics of Poka Yoke Devices

  • Simple
  • Cheap
  • Close to mistake source
  • Targeted to a particular mistake
  • Based on attributes
  • Obvious at a glance
 
 

Mistakes VS Defects

  • Defects are mistakes that reach the customer
  • Poka-Yoke aims to eliminate defects as close to the source as possible
 

Requirements

Doing

Review

Validation

Typing

Linting
Test Coverage

Typing

Weakly Typed

var a = 3
var b = 5
var sum  = a + b

console.log(sum)
// 8
var a = 3
var b = "Lean Summit"
var sum  = a + b

console.log(sum)
// '3Lean Summit'

Weakly Typed

var a = 3
var b = "0"
var sum  = a + b

console.log(sum)
// '30'

Weakly Typed

var bankBalance = 3
var depositAmount = "0"
var sum  = bankBalance + depositAmount

console.log(sum)
// '30'

Weakly Typed

Strongly Typed

var a: number = 3
var b: number = "0"
var sum  = a + b

console.log(sum)
// '30'

Strongly Typed

"38 % Airbnb bugs preventable with TypeScript according to postmortem analysis"

Linting

Linting

var a = 3
var sum  = a + b

console.log(sum)
// ?

Linting

Test Coverage

100%

 

70%

 

0%

Test Coverage

"Coverage, although a flawed metric, provides a trigger to test which, along with testing standards and review, can increase quality"
 

- Theodo Quality Kaizen 01/01/2019

Tests Fail if Coverage Reduced

Continuous Integration

Build

Test

Report

Release

Continuous Integration

Continuous Integration

Continuous Integration

Continuous Integration

Continuous Integration

Continuous Integration

Simple

Blocking

In Doing

bene@theodo.co.uk

https://www.linkedin.com/in/benjaminellerby/

Poka-Yoke

By Ben Ellerby

Poka-Yoke

Using Poka-Yoke in Software Development Talk from the 2019 Lean Summit Bulgaria. Discussing how Poka-Yoek (mistake proofing) can apply to software development, using the examples of type checking, linting, test coverage and CI tools.

  • 736