Хватит гадать! Девять стратегий для решения любых проблем (Stop Guessing: The 9 Behaviors of Great Problem Solvers) (Рубрика Management)
Вчера прочитал эту интересную книгу Нэта Грина про решение проблем. По мере чтения книги я зацепился за несоответствие содержимого и названия, а дальше сравнил названия русского перевода и первоисточника. В оригинале акцент делается на поведенческих паттернах решателей проблем - это подчеркивает, что речь идет не о методологии, а о систематических поведенческих навыках. Русский перевод же говорит о стратегиях для решения любых проблем, что несколько упрощает концепцию, теряя важный акцент на том, что это именно поведенческие модели, а не просто алгоритмы.
Если же говорить про подход Нэта, то эффективные решатели проблем демонстрируют девять ключевых поведенческих паттернов: 1. Системный подход к проблеме Глава 1. Прекращают угадывать и переходят к структурированному анализу Глава 2. Изучают проблему в деталях, используя все доступные чувства и инструменты для понимания паттерна сбоя Глава 3. Принимают свое неведение вместо попыток защитить репутацию эксперта, задавая вопросы, которые другие могут считать "глупыми" 2. Точное определение проблемы: Глава 4. Определяют, какую именно проблему решают, избегая работы над неправильной задачей из-за ложных предположений Глава 5. Углубляются в основы, изучая как процесс работает, включая базовую науку за ним 3. Независимость от экспертного мнения: Глава 6. Не полагаются на экспертов как на спасителей, а рассматривают их как помощь Глава 7. Верят в простое решение, сохраняют упорство и не останавливаются, пока не дойдут до корня проблемы 4. Фактологический подход: Глава 8. Принимают решения на основе фактов, а не мнений, голосований или субъективных систем Глава 9. Остаются сфокусированными на цели, измеряя драйверы, которые наиболее непосредственно контролируют проблему
В десятой главе автор рассказывает про то, как выбрать свою методику решения проблем и предлагает свой подход через анализ переменных. Центральная идея его метода заключается в создании дерева переменных - систематическом разборе того, как устроен процесс, и разработке уровней вторичных переменных, влияющих на целевую проблему. Этот подход включает:
- Определение проблемы - точное описание того, что именно не работает
- Детальное изучение проблемы - сбор фактических данных о паттерне сбоя
- Создание дерева переменных - структурированный анализ всех факторов, влияющих на проблему Грин подчеркивает, что когда у команды есть сотни потенциальных причин, это означает полное непонимание происходящего. Если переменных 200, то истинная первопричина, вероятно, даже не входит в этот список. Эффективные решатели проблем исключают переменные, и каждая исключенная переменная содержит множество подпеременных, которые теперь можно игнорировать.
Мне сама книга понравилась и идеи Грина неплохо так пересекаются с мышление "from first principles". Сходства я увидел такие
- Оба подхода требуют разложения сложных проблем на фундаментальные компоненты
- Отказ от аналогий и предыдущих решений в пользу глубокого понимания
- Вызов существующим предположениям и поиск базовых истин Но есть и существенные различия, делающие подход Грина более практичным
- First principles начинает с философских основ и фундаментальных законов природы
- Подход Грина более прагматичен и фокусируется на поведенческих паттернах и анализе переменных конкретной проблемы
- First principles больше подходит для инноваций и создания нового, тогда как метод Грина оптимизирован для решения существующих проблем
Если говорить про применение подхода в разработке софта, то кажется, что этот подход применим для траблшутинга проблем с производительностью (домен Брендана Грегга, вот пример его выступления, что я разбирал). В принципе, примерно также развивается решение проблемы при возникновении инцидентов - я рассказывал про наш этап интервью под названием troubleshooting для SRE инженеров, а также отдельно проводил публичное интервью
#Engineering #SRE #Interview #Processes #Postmortem #Management #Software