Poka-Yoke (Защита от ошибок)
Poka-Yoke — гениальный подход: вместо «обучить людей не ошибаться» — «спроектировать так, чтобы ошибиться было невозможно».
Типы
- Prevention: Sim-карта в телефоне (можно вставить только в одной ориентации). USB-C (любой стороной).
- Detection: Cap на топливный бак не закрывается без правильной операции. Двигатель не заводится без ремня безопасности.
В IT
- Required fields в форме.
- Type checking в коде.
- Confirmation modal для destructive actions.
- Linter, который не даёт commit с ошибкой.
- Cluster, отказывающийся принимать invalid config.
Когда применять и когда нет
Применять
- Любой повторяющийся процесс с potential for human error
- Дизайн UI
- Производство
Не применять
- Творческие процессы — мешает экспериментам
Примеры применения
Команда часто делает deploy не в ту environment. Poka-Yoke: deployment script запрашивает «type production to confirm» — невозможно случайно. Defects ↓ с 2-3 в месяц до нуля за полгода.
Часто задаваемые вопросы
Считайте expected cost. Если ошибка случается раз в год, но обходится в $1M — Poka-Yoke за $50k оправдан. Если ошибка стоит $100, а Poka-Yoke $50k — overkill.