Простота vs Сложность: когда что работает (заметки на полях по чтению книг)
Я всегда и во всём стараюсь упрощать. Чем проще и прозрачнее процессы — тем проще ими управлять. Чем проще текст — тем меньше усилий, чтобы его понять, и тем больше шансов, что его поймут. Чем проще интерфейс — тем он удобнее.
Но мир полон сложностей. В какой-то момент простые вещи начинают мешать друг другу, структура усложняется — и всё начинает барахлить.
А есть вещи (и не только физические), которые не могут быть простыми. Например, самолёт. Железная машина, которая летает. Она очень сложная. Но без неё никак.
—
К чему это я?
Сейчас у меня в чтении — одна из книг по ИТ-менеджменту. Автор рассматривает команды как сложные системы: через теорию сложности, теорию систем, теорию хаоса.
Чтобы понять, какими могут быть коллективы (и не только они), можно ввести понятие простоты.
—
Два измерения простоты:
1. Устройство системы — насколько легко понять или объяснить явление: • Простое — легко понять • Запутанное — труднее всего объяснить
2. Поведение системы — насколько предсказуемо: • Упорядоченное — всегда предсказуемо • Сложное — предсказуемо частично • Хаотическое — вообще непредсказуемо
Примеры: • Трусы — простые и предсказуемые • Часы — устроены сложнее, но ведут себя упорядоченно • Команда из трёх человек — простая по структуре, но поведение может удивлять • Город — устроен запутанно и ведёт себя сложно: сколько ни изучай, всегда есть сюрпризы • Двойной маятник — прост в устройстве, но может вести себя хаотически, как фондовый рынок
—
Про софт
Многие считают, что программное обеспечение должно быть настолько простым, насколько возможно. Когда оно недостаточно простое, все говорят: "надо снизить сложность".
Здесь легко запутаться: сложность — это про поведение, а запутанность — про устройство. Не всегда различают, как программа устроена и как она себя ведёт.
Если нужен эксперт, чтобы разобраться в программе — она запутанная. Если её поведение невозможно предсказать (например, ИИ, нейросети, онлайн-игры) — она сложная.
Простая и хорошо устроенная программа может вести себя очень сложно — выдавать неожиданные, непредсказуемые результаты. А бывает наоборот: программа запутанная и непрозрачная внутри, но при этом снаружи ведёт себя абсолютно предсказуемо — всегда работает одинаково, без сюрпризов.
—
Про команды и менеджмент
В менеджменте 3.0 команды рассматриваются как сложные адаптивные системы. Менеджеры не могут конструировать самоорганизующиеся команды — им нужно давать возможность формироваться и развиваться постепенно.
Менеджер как садовник: он помогает расти команде, но команда растёт сама. Главное — помогать, удобрять, менять почву, убирать мешающие факторы.
— Вывод
Мир вокруг — не всегда прост и не всегда предсказуем. Но хотя бы структуру и логику вещей мы иногда можем упростить — и это уже облегчает жизнь.
Важно различать, что можно упростить (устройство), а что нельзя (поведение сложных систем). И не пытаться контролировать то, что контролю не поддаётся.