
И каппа тонет (Каппа — японский водяной). Конь о четырех ногах, да спотыкается. Чаще всего тонут хорошие пловцы.
Японские пословицы.
(こんにちは) Конничива! Я Виктор, менеджер проектов в Selectel. Это пятая часть цикла о применении TPS/TBP (Toyota Production System/Toyota Business Practice) на практике в IT. Любому инженеру знакомо правило: работает — не трожь, не сломано — не чини. Но что делать, когда оно работает, но не так? Или работает, но часто ломается? Разбираемся под катом.
Используйте навигацию, если не хотите читать текст полностью:
→ Сушим сухари
→ 10 000 ударов и сэнсэй Ху Ли
→ Биомеханика опрокидывания прода
→ Ловим карпа и бьем в цель
→ Вместо пустословия
Сушим сухари
Сюхари — концепция этапов обучения, которая состоит из трех ступеней.
Все новое рождается на примере старого — например, сухарики (под пиво и нет). Процесс простой: берем хлеб, нарезаем кусочками и сушим в печке. Но что делать с задачей посложнее: произвести пару тонн сухарей, а не противень?
Любой процесс является простым, если он ограничен, достаточно декомпозирован, а на его реализацию есть ресурсы. Что получаем? Классический проектный треугольник.

Однако есть нюанс: результат должен быть на 100% предсказуемым и формализованным. Проще говоря, отлаженный процесс — это уже один из результатов проекта (в идеале).
От сухарей к карате
Ловко переходим от выпечки к бою. Идеи в восточной философии часто переплетаются с боевыми искусствами. Один из таких принципов — сюхари. Он часто встречается в поп-культуре, но мало кто об этом догадывается.
- Сю (от яп. 守 — «соблюдать»). Слушаем мастера, нарабатываем базу. В тексте фокусируемся на этой ступени.
- Ха (от яп. 破 — «прорываться»). Пробуем нарушать, экспериментируем.
- Ри (от яп. 離 — «отделяться»). Выводим свои правила.
Хороший пример — сцена из фильма 1984 года «Karate Kid». Да и вся каноническая трилогия — отличный иллюстратор подхода.
- Ученик осваивает классический стиль (Окинавское карате).
- Учится у разных наставников, находит новые решения.
- Нарушает правила, идет к предыдущему пункту, далее — снова к первому. И все это циклично. (Тут вспоминаем о цикле Деминга из первой части).

Классический цикл Деминга.
Смысл прост: чтобы добавить в процесс что-то свое, нужно сначала понять, как он работает сейчас. Важно помнить, что «там тоже не дураки сидели» — и выстраивали процесс не просто так. Но понимаем ли мы, как он устроен сейчас? Или как вообще это должно работать?

10 000 ударов и сэнсэй Ху Ли
У уличных драк есть особенность: чаще всего в них нет правил. Побеждает не тот, кто бьет по технике, а тот, кто бьет сильнее и чаще. В этом и отличие от спорта. В боевых искусствах подготовка занимает много времени, а удары отрабатываются до автоматизма — строго по технике, с акцентом на цель.
Например, ката в некоторых видах карате — это не просто разминка, а основа понимания движения. Без понимания биомеханики мы не сможем повторить движение корректно — и, скорее всего, не сможем научить этому других. Об этом даже есть интересные исследования.

Фрагмент ката в карате.
Вернемся к нашему гипотетическому бою на улице. Ваш товарищ подходит после стычки и говорит: «Ты же кричал — бей! Вот я и бил». Но бил — в воздух (шапка сползла на глаза), а когда попадал — делал это расслабленной рукой (и теперь болит кисть).
Подобное я, наверное, как и многие из читателей, слышал от IT-команд: «Мы пробовали решить проблему, но не получилось». Однако тут возникает закономерный вопрос: что конкретно не получилось? Или получилось, но не то, что ожидали?
Биомеханика опрокидывания прода
В прошлой части мы разбирали ситуацию, в которой Вася якобы положил прод. Однако при внимательном рассмотрении истиная причина суматохи —

Пример инцидента.
Вспомним пример с процессом смены endpoint.
1. ○ Анализ потребности в смене endpoint.
2. х Согласование смены и дат смены.
3. Δ Оповещение всех интересантов, которые используют endpoint.
4. ○ Подготовка конфигов.
5. Δ Повторное оповещение всех интересантов, которые используют endpoint.
6. ○ Постановка задач на дежурных и смена endpoint.

Теперь разберемся в символах:
- ○ — кажется, что с шагом все нормально;
- Δ — есть вопросы;
- х — вот тут проблема.
Все наши «Почему?» привели нас ко второму пункту: процесс согласования был «поломан».
И тут «эффективный менеджер» остановится: крайний найден — теперь мы загоняем все согласования в Jira по кнопке и история завершена!
Однако мы так делать не будем. Перед нанесением (или получением) удара идет целый процесс: поворот корпуса, выброс руки, прицеливание и т. д. Выходит, что мастер всегда смотрит не «куда», а «как» и «для чего» (вспоминаем о принципе 5 Why).
Таким образом, наше внимание уходит глубже — делаем шаг назад и возвращаемся к первому пункту: выявление потребности в смене endpoint (идти можно и дальше, но пока ограничимся на этом). Вопрос теперь звучит так: почему сам процесс выявления потребности оказался «грязным» и неполным?

Ловим карпа и бьем в цель

Чтобы найти и устранить настоящие причины проблем, а не только бороться с их симптомами, воспользуемся матрицей на основе 6M — классическим инструментом из производственной среды. Он заключается в разделении составляющих на части.
Но сначала — диаграмма Исикавы, она же «рыбьи кости». Суть метода в выделении всех возможных причин, затруднений и мыслей о процессе. В диаграмму выписывают все причины «поломки процесса» исходя из обозначенной проблемы. Изначально ее создавали для рабочих на производстве, и этим все сказано: просто, наглядно, практично.

Пример диаграммы Исикавы.
6M — шесть групп причин

- Man (люди) — сотрудники, реализующие лица.
- Method (метод) — процессы, которые используют в процессе.
- Measurement (измерения) — все, что фиксирует выполнение процесса.
- Machine (машина) — «механизмы», которые применяют в процессе — например, микросервис на Python.
- Mother Nature/Environment (окружение) — условия, которые влияют на сотрудников.
- Material (материалы) — все то, при помощи чего реализуют продукт (шаблоны, паттерны, исходный код, кабели и прочее)
Что делать с кучей проблем
Мы выписали все, что потенциально влияет на сломанный endpoint. На вид — полный кавардак. Но если немного разобраться, то можно выделить три корневые причины — root causes (RC), те самые точки, в которые стоит «бить». Мы на них вышли сделав step-back (шаг назад) на основе уже изученных процессов, а именно — при помощи любимого genchi genbutsu. На рисунке ниже подсветили эти связи пунктирными линиями.

Перечислим ключевые проблемы.
- RC1 — текучка разработчиков. Классика жанра.
- RC2 — очень много Legacy. Классика жанра x2.
- RC3 — отсутствие механизма документирования изменений. А вот тут уже назревает вопрос.
«Эффективный» менеджер или тимлид скажет: «Наймем еще людей» или «Срочно переписывайте Legacy, но фича должна быть готова завтра». Но почему он сделал такие выводы? Основывался на эмпирическом опыте и знаниях из книг.
Однако это не наш путь. Разумно подойдем к проблемам и разложим возможные предложения в таблицу, где спланируем:
- что мы делаем,
- какую корневую причину (RC) лечит конкретное предложение,
- сколько это будет стоить,
- сколько времени займет,
- сколько усилий и рук будет нужно.

Разложив все в табличку и вспомнив про крестики, треугольники и кружки видим, что нам по-хорошему надо всего лишь прикрутить систему оповещения. Далее — связать ее с мессенджером, которым пользуются сотрудники (уверен, такие плагины есть для GitLab). Вуа-ля — важные события не пропущены, все в курсе!
Да, дальше нужно будет поработать и с Legacy, и со stage-средами, и с другими проблемами, но это уже другой этап. Главное — мы поняли, куда «бить», и делаем это сосредоточенно и эффективно.

Вместо пустословия
Внимательный читатель спросит: но где само согласование? Наша цель на текущем этапе — не решить все и сразу, а подсветить, что можно улучшить прямо сейчас, без глобальных реформ.
Прозрачность и понятность — это уже полдела.
Что будет дальше — решать команде: будет ли это при пуше в git, через редактирование статьи в Wiki, через workflow Jira, на совещаниях и т. д. Это важный этап, но чуда не случится, пока все не договорятся внутри. ?
Nemawashi (митинги/летучки) — нужны и важны. Об обмене опытом мы говорили еще в первой части. Пока ЛПР (лица, принимающие решения) не закоммитятся и не возьмут на себя ответственность — система будет буксовать.

Но как ЛПР показать, что процесс важен? Как подсветить работу? Об этом — в следующей части. (またね) Матанэ! (Еще увидимся)
Комментарии (6)
kenomimi
15.05.2025 09:28Как использовать японские подходы в IT.
Никак. Забыть и не трогать даже палкой издалека. Иногда посматривать для заимствования мелочей, но, как сапер, с огромной осторожностью.
Фокус в том, что азиатские подходы завязаны на их традиции, особенности и менталитет, и у большого снежка они вызывают конфликт с местными особенностями. Те же японцы они для нас вообще инопланетяне, кто сталкивался - понимает, о чем я. Мышление совсем другое. И когда наши эффективные совы тащат методолгии без адаптации к местным условиям, по принципу "японское - значит хорошее" - это откровенно диверсионная деятельность, резко снижающая продуктивность бизнеса.
softwaresimian Автор
15.05.2025 09:28Я в первой части про это, собственно и писал - что "просто взять и заставить работать" - не получится.
Не всё можно адаптировать к нашему менталитету, но многое - можно.
Завод в СПБ или Турции - тому хорошее подтверждение.
Kenedy1936
Брал недавно в аренду новую тойтоу короллу для европейского рынка. Удивило насколько низкое качество у этого автомобиля. Движок 1.2 по трассе жрёт 9 литров бензина на 100 км. Ревёт как мускл кар при обгонах, а динамика как у запарожца.
Так же удивительно уродливый дизайн, вонючий салон, маленький салон, маленький багажник.
Мне кажется, пора у BYD перенимать опыт, а не у тех кто при царе горохе выпускал хорошие автомобили.
softwaresimian Автор
Ну так тут вопрос к продукту, а не к производственной системе =)
Решение о выпуске моделей и cost-reduction принимаются фин.департаментом и маркетологами)
Самые лучшие Toyota - до 1996 года выпуска. Это танки)
Кстати, BYD и Toyota сильно дружат
https://bydeurope.com/article/303
И это ещё одно доказательство того принципа, что я упоминал в прошлых частях: если не умеешь - сделай генчи генбутсу и научись.
MAXH0
В конце 2000 в результате реорганизации и глобализации от Toyota остался только бренд. Сейчас это так же как сказать - Брал Nokia и совсем не понимаю, к чему весь этот поток мемов про неубиваемый Nokia... К сожалению.
softwaresimian Автор
Раньше было лучше - с качеством товаров в целом - и это правда, а не мем)