Все сложные вещи простые

wpid-LMqj7-2011-01-7-19-15.jpgНе бывает сложных проблем, задач, решений или систем. Но, “просто” не значит “легко”. Если вы проектируете сложную систему и сразу закладываете сложности, лучше бросайте это дело и займитесь чем-нибудь другим, все равно такая система обречена на провал. Все в нашем мире устроено просто и единственная сложность, которая есть, это многообразие вариантов и комбинаций простых вещей. Мастерство тем выше, чем меньше простых составляющих нужно для получения результата. Особенно это заметно в больших системах, где сходу нельзя определить минимальное необходимое и достаточное количество простых элементов. Касательно технологических проектов и стартапов это хорошо видно: те, которые начинали с гаража/одного сервера, сейчас имеют преимущество перед теми, которые начинали с какой-то сложной схемы.

При постепенном увеличении разнообразия “деталек” уровень сложности системы нарастает тоже постепенно, к тому же в системе отсутствует ненужная избыточность, а вместо нее имеется бОльшая гибкость. Но в какой-то момент количество “деталек” становится огромным и сложность системы зашкаливает. Очень важно поймать этот момент, остановиться, посмотреть назад и сделать рефакторинг, постараться опять уменьшить количество “деталек”, например, заменив несколько очень похожих на одну более универсальную, или же уменьшив количество связей между элементами. Или же заменив комбинацию нескольких элементов одним. Тут уже конкретные действия зависят от особенностей системы и вашей фантазии.

Сложность системы можно определять по временной шкале: сколько времени нужно инженеру, чтобы разобраться, как работает система. Если срок приближается к году или даже больше, что-то явно не так. Либо же вы разрабатываете военный/космический проект, начатый еще 25 лет назад. Выгода определения сложности в человекоднях очевидна: сразу видны издержки на привлечение нового специалиста в проект, а также виден коэффициент, понижающий стоимость проекта при продаже. Чем больше времени надо на освоение системы, тем выше и эксплуатационные риски, и кадровые.

Жизненных примеров полно, хотя бы та же электроника, которая собирается вся на одной элементной базе.

Comments are closed.