Cynefin framework - методика принятия решений
Принятие решений – довольно сложная задача. Чтобы упорядочить процесс поиска решения в начале 2000-х в корпорации IBM, Дейв Сноуден разработал методологию и назвал ее Cynefin Framework.
Cynefin framework (/ˈkʌnɪvɪn/ KUN-iv-in, киневин, Уэльский) – означает среда обитания в физическом и духовном плане. Более близко на русский может быть переведено, как – Родина.
Фреймворк выделяет 4 области, или домена систем: Простые, Запутанные, Сложные и Хаотические.
Простые системы
Или известные истины. Системы, в которых причинно-следственные связи очевидны любому трезво-мыслящему человеку. Единственное, что нужно сделать – категоризировать проблему и выбрать решение из заранее известных решений. Проблемы решаются применением Лучшей практики или Best practice.
Поэтому порядок действий: распознавание проблемы – категоризация – решение.
Пример: Для улучшения поддерживаемости кода можно применить лучшие практики тестирование, документирование, версирование кода.
Запутанные системы
Системы, в которых существует причинно-следственная связь, но она не очевидна простому человеку. У вас есть общее представление о проблеме и вы уже скорее всего знаете вопросы, на которые нужно ответить и как получить ответы.
Для решения запутанных проблем нужно либо провести анализ, либо привлечь эксперта. В этом классе проблем нет лучших практик, есть хорошие практики. Разница в том, что существует несколько решений, нет одного лучшего, все из которых подходящие и решение выбирается посредством анализа.
Порядок действий: распознавание проблемы – анализ – решение.
Пример: Улучшение производительности приложения. Не всегда очевидно, почему приложение тормозит. Нужно либо самому сидеть и разбираться, либо пригласить эксперта, который поможет определить причину. Правильных решений, обычно, несколько, все из них сработают, нужно выбрать какое-то одно, наиболее подходящее.
Сложные системы
В сложных системах причинно-следственной связи нет. Вернее причинно-следственная связь может быть определена только ретроспективно. Это тот случай, когда вы даже не знаете, какие вопросы нужно задать. Правильных ответов не существует, решение необходимо искать методом проб и ошибок, накапливая знания и шаг за шагом выстраивая Зарождающиеся практики.
Порядок действий: исследование – распознавание – решение.
Пример: представьте, что вы на заре интернета и вам нужно масштабировать Фейсбук. Никто до вас такого не делал, экспертов нет. Единственное, что можно делать – пробовать разные подходы, выстраивая практику.
Хаотические системы
События настолько ошеломляющие, что времени на поиск связей нет. Нужно, как можно быстрее стабилизировать ситуацию.
Порядок действий: действие – распознавание – решение.
Пример: из программного обеспечения пример подобрать довольно сложно. Потому что характеристика этих систем предполагает, что знания, которые мы можем накопить за одну жизнь недостаточны для полного понимания. Обычно в пример приводят стихийные бедствия. Самое близкое, что приходит на ум – отказ распределенной системы с эффектом домино. Когда один за другим ваши серверы падают и вся система отключается.
Состояние беспорядка
Большую часть времени люди находятся в состоянии беспорядка. Единственное, что здесь можно сделать – это разбить проблему на под-проблемы, классифицировать каждую из них и решать их, одну за другой, применяя методологию.
Примеры движений между доменами
В этой статье я рассмотрю лишь самые простые и распространенные варианты. Более подробно варианты движений изложены в работе “The new dynamics of strategy: Sense-making in a complex and complicated world“.
Движение по часовой стрелке
Идея методологии состоит в том, что, постепенно накапливая знания, мы переносим проблему из одного домена в другой, двигаясь по часовой стрелке.
Единственным исключением является движение от Простого домена в Хаос. Этот переход характеризуется коллапсом. Очень часто это можно наблюдать, когда организация пренебрегает двумя верхними доменами и стремится все отнести к Простому домену, применяя Лучшие практики. В результате проблемы накапливаются и происходит коллапс. На схеме эту границу изображают в виде обрыва.
Именно по причине того, что злоупотребление Лучшими практиками может привести к коллапсу системы, большинство проблем стараются отнести к Верхним доменам: Запутанных и Сложных проблем.
Движение против часовой стрелки
Гибель экспертов или утрата знаний
Представьте, что вы работаете над очень старым приложением и главный эксперт увольняется. То что раньше решалось с помощью экспертной оценки этого специалиста – теперь необходимо нащупывать методом проб и ошибок. Потом, накопив знания, вы вернете эту проблему обратно в домен Запутанных.
Новые поколения ставят под сомнения старые практики
На сегодняшний день таким примером является высшее образование. Если раньше даже вопросов не было и считалось, что оконченное высшее – это гарантированный билет в лучшую жизнь, то сейчас это на так очевидно. Многие люди возражают, что для ряда современных специальностей высшее образование не имеет большого смысла. Таким образом эта проблема сдвинулась обратно в разряд Запутанных, если не Сложных, проблем.
Насаждение правил извне
В качестве примера движения из Хаоса в Простой домен используют Драконовские законы. Когда, чтобы положить конец хаосу и беззаконию, греческий законодатель Дракон составил свод очень жестких правил, которые были насильно насаждены властью. Если сравнивать с программированием, то можно представить команду, в которой царит хаос. Внешний консультант, приглашенный внести порядок, насаждает новые правила ультимативно и без объяснений.
Вывод
Я надеюсь, что мой краткий обзор поможет вам лучше классифицировать проблемы и находить решения. Так же очень важно понять, что Лучшие практики – не всегда хорошо, пребывание в простом домене очень опасно, поэтому когда первым вопросом на озвучивание проблемы вы услышите: “Какие есть Лучшие практики?” — вам будет, что ответить.
Для дальнейшего изучении методологии я могу рекомендовать статью в вики и список литературы указанный в ней.