Закон Галла

Архитектура
🧶

Вот хороший, но молодой еще менеджер Максимилиан. Он пришел на новое место работы управлять отделом. Пришел, посмотрел и ужаснулся. Процессы дурацкие, непонятные. Не нравятся они Максимилиану. Надо все менять!

Для Максимилиана нет сложностей. Проблемы он превращает в задачи, хаос в порядок, а неэффективность.. ну, тоже во что-то превращает. Засучил рукава Максимилиан и написал документ. Там и новая ролевая модель, и линии коммуникаций, и все процессы, и куча артефактов для этих процессов. Детали, нюансы, ограничения и снова детали. Сложная и долгая работа, огромный документ получился. Зато теперь все клубки распутаются, все узлы развяжутся. Доволен Максимилиан!

Стал он внедрять свой огромный документ в работу. Да еще и окружающих зацепил: теперь всем придется по-новому с отделом Максимилиана взаимодействовать. Тяжело шло, но внедрил. Максимилиан упорный. А оно не работает. Вся эта внедренная фигня мертвым грузом над отделом Максимилиана повисла.

Слишком сложно, слишком много правил. Как будто ты на шашлыки поехал, прибухнуть и развеяться, а тебе там вдруг предложили в бейсбол поиграть. Мучился Максимилиан, страдал. Но решился, отменил всю эту сложную систему и стал строить с нуля простую, примитивную даже. И пока эта простая система не заработала, к сложным элементам не переходил. А как заработала, стал потихоньку усложнять. И пришел к тому, что хотел. Не сразу, но справился. Молодец Максимилиан.

В чем же он был неправ с самого начала? Максимилиан нарушил важный закон: работающая сложная система может получиться только из работающей простой. Сформулировал его лет пятьдесят назад Джон Галл. Галл вообще-то был педиатром, но в качестве побочного продукта одного из исследований у него получилась работа о теории систем.) Галл считал, что cложная система, разработанная с нуля, никогда не работает, и ее не получится исправить, нельзя заставить ее работать. Единственный способ создать что-то работающее сложное — начать с чего-то работающего простого. Важный момент: простые системы не лучше сложных. Простая система тоже бывает работающей и не работающей. Если ты создал простую неработающую систему, из нее не получится работающей сложной.

Закон Галла хорошо зарекомендовал себя в технике. Это подтверждают, например, современные итерационные способы создания софта: сначала делается простая работающая система, а уже потом в нее добавляют новые функции. Спроектировать сложный хороший продукт с нуля невозможно.

Классический пример нарушения закона Галла — продукт Google Wave. Он задумывался как микс соцсетей, почты, мессенджеров и много чего еще. Такой универсальный коммуникатор. Но продукт оказался столь сложным и непонятным интуитивно, что Гугл проект закрыл. В процессах, где основными элементами являются люди, все то же самое. Сложные системы полны столь же сложных зависимостей, нельзя все их учесть и выстроить правильно. Ровно тот же закон справедлив и в менеджменте: сложная управленческая система гарантированно будет сбоить. Причем в самых неожиданных местах.

Единственный способ — построить сначала что-то по-детски простое, даже примитивное. С одним отчетом и тремя письмами. ) Зато оно будет работать, и на этой базе можно накручивать новые функции. Вот Максимилиан все это на своем опыте понял. И вы на его опыте поняли и тоже теперь знаете.

Оцените статью
Записки одного CTO
Добавить комментарий