Skip to content

§3.04 Функция и состав: различение

Время: 60 мин чтение + 40 мин = 100 мин Что узнаешь: почему системный мыслитель начинает с вопроса «зачем?», а не «из чего?», и как это различение меняет и анализ существующих систем, и проектирование новых

В одном предложении: функция отвечает на вопрос «зачем существует система», состав - на вопрос «из чего она сделана», и именно функция должна определять состав, а не наоборот, потому что одна и та же функция может быть реализована множеством разных составов.


Сигнатура понятий:

  • Функция системы — это желаемое действие или результат, ради которого система существует; отвечает на вопрос «зачем?» и определяет, что система должна производить
  • Состав системы — это совокупность компонентов и связей между ними; отвечает на вопрос «из чего?» и описывает, как реализована функция
  • Функциональный подход — это метод анализа и проектирования, при котором функция определяется первой и служит критерием выбора состава

Мем, который снимается. «Чтобы понять систему, нужно знать, из чего она состоит.» Это правда о составе, но не о функции. Если вы описываете молоток как «ручку из дерева и металлический боёк», вы описываете состав. Если вы описываете его как «инструмент для вбивания гвоздей», вы описываете функцию и сразу видите, что функцию может выполнить камень, другой инструмент или пневматический механизм. Фиксация на составе скрывает альтернативные решения; фиксация на функции открывает пространство возможностей.


Определение из источника.

В Pack (PD.FORM.027) функция системы определена как желаемое действие или свойство, ради которого система создаётся или выделяется из окружения. Функция не зависит от способа реализации: она описывает, что система должна делать, а не как. Состав - перечень компонентов и структура их связей, реализующая функцию. Принцип функционального подхода: проектирование начинается с функции, выбор состава — это второй шаг. Нарушение этого порядка приводит к «проектированию изнутри», когда состав ограничивает функцию вместо того, чтобы её реализовывать.


Развитие мысли.

Различение функции и состава имеет практические последствия для анализа, проектирования и изменения систем.

При анализе: когда что-то «не работает», первый вопрос - «какую функцию это должно выполнять?» Если ответ неясен, проблема не в составе: проблема в том, что функция не была зафиксирована. Команда без чёткой функции («зачем мы существуем?») будет оптимизировать состав бесконечно, не становясь лучше.

При проектировании: функциональный подход требует сначала ответить «что должна делать система?», и только потом «из чего она будет сделана?». Это защищает от преждевременной фиксации на конкретной технологии или структуре. Архитектор, начинающий с функции («система должна позволять пользователям находить релевантный контент за секунды»), рассматривает больше вариантов состава, чем архитектор, начинающий с технологии («мы будем использовать базу данных X»).

При изменении: если систему нужно улучшить, функциональный подход сначала проверяет, не изменилась ли функция. Часто «неработающая» система просто выполняет не ту функцию, которая нужна сейчас, потому что функция изменилась, а состав остался прежним. Pack в IWE - пример: его функция («хранить структурированное знание для переиспользования») может оставаться неизменной, а состав (форматы, структура, инструменты) может полностью меняться под новые возможности агентов.


Метод - минимальный шаг. Практика «Функция первая» (40 мин):

  1. Возьмите три объекта с вашего рабочего стола или три системы из вашей работы (5 мин).
  2. Для каждого объекта сначала запишите функцию (зачем он существует?) одним предложением (15 мин).
  3. Потом запишите состав (из чего он сделан?) (10 мин).
  4. Проверьте: изменилось ли ваше понимание объекта, когда вы начали с функции? Видите ли вы альтернативные способы реализовать ту же функцию? (10 мин).
  5. Зафиксируйте наблюдение в Pack.

Пример из жизни. Михаил - руководитель направления, должен был провести «стратегическую сессию» для своей команды. Он начал с состава: «Нам нужен фасилитатор, два дня оффсайта, три рабочих сессии по четыре часа». Когда коллега спросил «Зачем тебе стратегическая сессия?», Михаил остановился. Функция была: «команда должна согласовать приоритеты на следующие полгода». Оказалось, для этой функции не нужен оффсайт, достаточно трёх онлайн-встреч по два часа с правильным процессом. Начав с функции, Михаил сэкономил неделю подготовки и бюджет на оффсайт.


Типичная ошибка. «Функция и так понятна, не нужно её формулировать явно.» На самом деле именно тогда, когда функция «очевидна», она чаще всего не согласована между участниками. Разные люди в одной команде часто понимают функцию системы по-разному, и это приводит к конфликтам при выборе состава. Явная формулировка функции вскрывает это расхождение. Вторая ошибка: путать функцию с описанием работы («система обрабатывает заявки» — это описание, не функция; «система позволяет клиентам получить ответ в течение часа» — это функция).


Степени мастерства:

СтепеньЧто происходитКритерий перехода
1. ОбъясняюМогу объяснить разницу между функцией и составом и привести пример каждого для реального объектаОдин раз выполнил практику «Функция первая»
2. УмеюМогу для любого проекта или инструмента сначала сформулировать функцию, потом описать составЕсть запись: объект + функция + состав
3. НавыкПри встрече с новой системой автоматически задаю вопрос «Какова её функция?» раньше, чем спрашиваю «Из чего она состоит?»Регулярность: в каждом анализе фиксирую функцию явно
4. МастерствоПомогаю командам сформулировать функцию системы, когда она неочевидна или не согласована между участникамиЕсть кейс, где явная формулировка функции изменила решение команды

Проверка себя.

  • Понимание: вы можете объяснить, почему «из чего сделано» не отвечает на вопрос «зачем существует».
  • Поведение: когда вам предлагают «улучшить» систему, вы сначала уточняете её функцию, прежде чем обсуждать изменения состава.
  • Застревание: если обсуждение системы немедленно переходит в технические детали без ответа на «зачем», вы обсуждаете состав без функции. Остановите и спросите: «Что эта система должна делать?»

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