«Если есть то, значит, есть и это», «Если нет этого, значит, нет и того»; «Когда есть это, то есть и то, если возникает это, то возникает и то, если это исчезает, то исчезает и то».
Пратитья-самутпада или теория взаимозависимого возникновения.
«Если есть дождевые черви, значит есть и дождевые буби.»
Эдуард Суровый.
Скорее всего это далеко не первая ваша книга, в которой вы будете читать о методах причинно-следственного анализа. И наверняка вы неоднократно слышали о таком методе поиска истинной причины проблемы, как метод 5-почему?. На примере этого метода я покажу вам то, чего на мой взгляд категорически не хватает в подавляющем числе подобного рода методик, без чего не остается шансов на практическое применение данных методов, несмотря на то что эта отсутствующая важная деталь лежит на поверхности.
Согласно методу 5-почему стоит вам пять раз задать себе вопрос «Почему происходит какое-то неприятное явление?» и вы с высокой вероятностью дойдете до корневой причины. В реальности все совсем не так, но в данном случае это нам скорее на руку.
Предположим, вы регулярно сталкиваетесь с явлением:
«Команда технической поддержки долго решает запросы пользователей».
В основе буддийской философии лежит принцип взаимозависимого происхождения, который постулирует то, что никакое явление не существует само по себе, оно существует лишь благодаря тому, что так сложились причины и условия существования данного явления. Прекрасно! Ровно на этом и основан метод 5-почему. Давайте искать причину при помощи этого вопроса:
«Почему команда технической поддержки медленно решает запросы пользователей?»
Здесь сделаю небольшое отступление. Сам метод 5-почему мне не нравится еще вот по какой причине: на поставленный выше вопрос может быть более одного ответа. Например, столкнувшиеся с похожей ситуацией люди могут назвать следующие причины:
- В команде технической поддержки отсутствует документация по системе,
- Многие члены команды технической поддержки обладают недостаточным уровнем квалификации,
- В команде техподдержки недостаточно сотрудников,
- ...
По идее, дальше нам нужно задавать вопрос «Почему?» к каждому из этих ответов и там тоже может быть несколько вариантов, в итоге у нас получается не изящная цепочка, как в вымышленном модельном примере тренера, а довольно развесистое дерево. Но сейчас не об этом. И даже не о том, что каждый из этих ответов нарушает ряд важных пунктов, о которых мы будем рассуждать в главе 3. Мы сейчас говорим о другом…
Вот смотрите, в картине мира отвечающего на вопрос «Почему?» человека существует два явления:
- Команда технической поддержки долго решает запросы пользователей
- В команде технической поддержки отсутствует документация по системе (для простоты ограничимся выбором только одного пункта)
И эти явления связаны причинно-следственной связью. Обычно это изображают в виде двух прямоугольников и соединяют их стрелкой:
Соединяя два прямоугольника стрелкой, мы утверждаем, что два явления связаны особым образом: одно следует из другого. Кстати, что значит «следует»? Это, как ни странно, довольно мутный момент, А.А. Ивин пишет (А.А. Ивин, Искусство мыслить правильно, стр. 171):
Ни одно из имеющихся в современной логике определений логического закона и логического следования не свободно от критики.
В свое время это ввело меня в замешательство, так как что может быть более фундаментальным, чем логическое следование, особенно в логике? А современная философия так и не пришла к определению, «свободному от критики». Жесть! Давайте тогда обратимся к древним философам и рассмотрим формулировку принципа взаимозависимого происхождения (пратиттья самутпада, которая была приведена в эпиграфе к данной главе) из буддийской философии. Говорят, что ровно в такой формулировке этот принцип и был сформулирован Буддой:
«Если есть то, значит, есть и это», «Если нет этого, значит, нет и того»;
«Когда есть это, то есть и то, если возникает это, то возникает и то, если это исчезает, то исчезает и то».
То есть, утверждая наличие причинно-следственной связи мы говорим, что:
- Если есть отсутствие документации, то есть и долгое решение запросов пользователей,
- Если нет отсутствия документации, то нет долгого решения запросов пользователей (ха-ха, но об этом позже)
- Когда есть отсутствие документации, то есть и долгое решение запросов пользователей,
- Когда возникает отсутствие документации, то возникает и долгое решение запросов пользователей,
- Когда исчезает отсутствие документации, тогда и исчезает долгая поддержка пользователей (срочно всем разрабатывать документацию, чтобы долго решать запросы пользователей уже по другой причине).
Так вот, «долгое решение запросов» – это явление, феномен или дхарма, как сказали бы буддисты. Это объективное явление, его можно понаблюдать, например, в виде цифры на экране, если в вашей системе управления запросами это все настроено. Отсутствие документации – это тоже явление. Тоже объективное которое можно наблюдать (так же отложим пока в сторону вопрос о том, на сколько корректно утверждать отсутствие чего-то просто по причине того, что мы этого не наблюдаем). Но есть же еще причинно-следственная связь...
...И ЭТО ТОЖЕ ЯВЛЕНИЕ, ФЕНОМЕН ИЛИ ДХАРМА!!!
Понимаете? Тот факт, что возникновение и/или существование одного явления влечет возникновение и/или существование другого явления – это тоже ЯВЛЕНИЕ или ФЕНОМЕН!
То есть, причинно-следственная связь тоже не возникла и не существует сама по себе, у нее существует своя причина! И если мы обнаружим эту причину, то мы можем влиять на причинно-следственную связь:
- усиливать ее там, где нам надо,
- и ослаблять там, где она нам мешает.
И вот это, на мой взгляд, ключевое упущение большинства всяких методов, матриц-шматриц, квадратов-шмадратов, рыбьих диаграмм и прочих методов с красивыми аббревиатурами в названии:
Мы думаем над тем, что является причиной какого-то явления, но не думаем о причине существования самой причинно-следственной связи. Не думаем даже над вопросом: «Почему (сфигали) мы решили, что между этими двумя явлениями существует причинно-следственная связь?».
Я хочу сказать, что на исходной причинно-следственной диаграмме не хватает важной составляющей: обоснования причинно-следственной связи. На диаграмме обоснование можно записать, например, текстом на причинно-следственной стрелке:
Как может выглядеть пример такого обоснования? Например, вот так:
Или вот так:
А может оказаться, что убедительного истинного обоснования у этой связи (сюрприз!!!) нет. Что является индикатором отсутствия этой связи. А в этом случае это означает, что при первом же ответе на вопрос «Почему?» мы пошли по ложному пути. Это не помешает нам найти какие-то убедительно звучащие задачи, назначить на них исполнителей, сроки, приоритеты и выполнить прочие менеджерские ритуалы. Но решить исходную проблему – помешает.
Занимаясь причинно-следственным анализом крайне важно задумываться, а на каком вообще основании мы расставляем причинно-следственные стрелки? И это основание мы и наносим на диаграмму. (Немного подробнее про типы оснований связи написано в этой статье)
Здесь надо иметь в виду, что диаграмма – это язык, со своим синтаксисом и правилами его перевода на другие языки. В нашем случае утверждение на диаграмме выше переводится на привычный нам человеческий язык следующим образом:
вы произносите «ЕСЛИ» (это служебное слово диаграммы), далее добуквенно читаете содержимое прямоугольника в хвосте стрелки, затем произносите «ТО» (еще одно служебное слово), после добуквенно читаете содержимое у головы стрелки и в конце произносите «ПОТОМУ ЧТО» и добуквенно читаете содержимое самой стрелки.
Когда я изначально нарисовал диаграмму перевода диаграммы на русский язык то получилось нечто по форме напоминающее улитку:
А так будет еще более похоже:
Соответственно примеры наших улиток про техподдержку и документацию переводятся на человеческий язык следующим образом:
- ЕСЛИ В команде технической поддержки отсутствует документация по системе, ТО Команда технической поддержки долго решает запросы пользователей, ПОТОМУ ЧТО По каждой проблеме они спрашивают всех, кто сталкивался с подобной проблемой и это парализует всю работу.
- ЕСЛИ В команде технической поддержки отсутствует документация по системе, ТО Команда технической поддержки долго решает запросы пользователей, ПОТОМУ ЧТО Команда техподдержки выясняет нюансы системы у разработчиков, а они постоянно то на встрече, то на обеде, то ушли домой.
Дальше в главе 3 мы с вами рассмотрим способы выявить ошибки в построении улиток, а в главе 4 увидим, что улитка является строительным элементом огромного спектра прочих логических инструментов и будем смотреть какие блюда из улиток можно приготовить и по какому поводу этим стоит заниматься.
Хорошо. Разумно. Явление следствия не может возникать просто из явления причины как по волшебству, как из философского камня. Лимонад не возникает из лимона, мы как минимум добавим ещё воды (хотел привести аналогию со свёклой и борщом, но она сложнее). Это конечно просто набор ингредиентов, но не знаю как подчеркнуть изящность решения, что следствие не возникает только из причины, а это всегда слияние нескольких явлений.
А обоснование и причина могут меняться местами?
С натяжкой звучит. Будто напрашивается, что они и с документацией могут этим же страдать, будто тут другие обоснования.
Интересно. Объяснение связи тоже явление. Как и причина. Если следствие только проявляется. То причина и объяснение связи уже существуют, уже взаимодействуют. Как эти явления взаимодействуют.
Небольшое замечание не в тему. Тут некоторое несоответствие математической логике. Берётся связка
потому что
Обозначим это как (A => B). И делается утверждение, что это должно означать и:
Что можно записать как (not A => not B). Так вот, в математической логике это не верно: из (A => B) не следует (not A => not B). Потому что первое считается истинным во всех случаях кроме (A - ложно, а B - истино), и соответственно (not A => not B) истинно во всех случаях кроме (A - истино, а B - ложно), что совпало бы с B => A. Т.е. требовать (not A => not B) означает требовать (A <=> B), т.е. чтобы A и B были истины или ложны одновременно, что является более сильной связкой, чем импликация
ЁК! Тут всё это время был скрыт анекдот про феномен!!! А я думал просто чертой дополнительное выделение :)