§3.04 Функция и состав: различение
Время: 60 мин чтение + 40 мин = 100 мин Что узнаешь: почему системный мыслитель начинает с вопроса «зачем?», а не «из чего?», и как это различение меняет и анализ существующих систем, и проектирование новых
В одном предложении: функция отвечает на вопрос «зачем существует система», состав - на вопрос «из чего она сделана», и именно функция должна определять состав, а не наоборот, потому что одна и та же функция может быть реализована множеством разных составов.
Сигнатура понятий:
- Функция системы — это желаемое действие или результат, ради которого система существует; отвечает на вопрос «зачем?» и определяет, что система должна производить
- Состав системы — это совокупность компонентов и связей между ними; отвечает на вопрос «из чего?» и описывает, как реализована функция
- Функциональный подход — это метод анализа и проектирования, при котором функция определяется первой и служит критерием выбора состава
Мем, который снимается. «Чтобы понять систему, нужно знать, из чего она состоит.» Это правда о составе, но не о функции. Если вы описываете молоток как «ручку из дерева и металлический боёк», вы описываете состав. Если вы описываете его как «инструмент для вбивания гвоздей», вы описываете функцию и сразу видите, что функцию может выполнить камень, другой инструмент или пневматический механизм. Фиксация на составе скрывает альтернативные решения; фиксация на функции открывает пространство возможностей.
Определение из источника.
В Pack (PD.FORM.027) функция системы определена как желаемое действие или свойство, ради которого система создаётся или выделяется из окружения. Функция не зависит от способа реализации: она описывает, что система должна делать, а не как. Состав - перечень компонентов и структура их связей, реализующая функцию. Принцип функционального подхода: проектирование начинается с функции, выбор состава — это второй шаг. Нарушение этого порядка приводит к «проектированию изнутри», когда состав ограничивает функцию вместо того, чтобы её реализовывать.
Развитие мысли.
Различение функции и состава имеет практические последствия для анализа, проектирования и изменения систем.
При анализе: когда что-то «не работает», первый вопрос - «какую функцию это должно выполнять?» Если ответ неясен, проблема не в составе: проблема в том, что функция не была зафиксирована. Команда без чёткой функции («зачем мы существуем?») будет оптимизировать состав бесконечно, не становясь лучше.
При проектировании: функциональный подход требует сначала ответить «что должна делать система?», и только потом «из чего она будет сделана?». Это защищает от преждевременной фиксации на конкретной технологии или структуре. Архитектор, начинающий с функции («система должна позволять пользователям находить релевантный контент за секунды»), рассматривает больше вариантов состава, чем архитектор, начинающий с технологии («мы будем использовать базу данных X»).
При изменении: если систему нужно улучшить, функциональный подход сначала проверяет, не изменилась ли функция. Часто «неработающая» система просто выполняет не ту функцию, которая нужна сейчас, потому что функция изменилась, а состав остался прежним. Pack в IWE - пример: его функция («хранить структурированное знание для переиспользования») может оставаться неизменной, а состав (форматы, структура, инструменты) может полностью меняться под новые возможности агентов.
Метод - минимальный шаг. Практика «Функция первая» (40 мин):
- Возьмите три объекта с вашего рабочего стола или три системы из вашей работы (5 мин).
- Для каждого объекта сначала запишите функцию (зачем он существует?) одним предложением (15 мин).
- Потом запишите состав (из чего он сделан?) (10 мин).
- Проверьте: изменилось ли ваше понимание объекта, когда вы начали с функции? Видите ли вы альтернативные способы реализовать ту же функцию? (10 мин).
- Зафиксируйте наблюдение в Pack.
Пример из жизни. Михаил - руководитель направления, должен был провести «стратегическую сессию» для своей команды. Он начал с состава: «Нам нужен фасилитатор, два дня оффсайта, три рабочих сессии по четыре часа». Когда коллега спросил «Зачем тебе стратегическая сессия?», Михаил остановился. Функция была: «команда должна согласовать приоритеты на следующие полгода». Оказалось, для этой функции не нужен оффсайт, достаточно трёх онлайн-встреч по два часа с правильным процессом. Начав с функции, Михаил сэкономил неделю подготовки и бюджет на оффсайт.
Типичная ошибка. «Функция и так понятна, не нужно её формулировать явно.» На самом деле именно тогда, когда функция «очевидна», она чаще всего не согласована между участниками. Разные люди в одной команде часто понимают функцию системы по-разному, и это приводит к конфликтам при выборе состава. Явная формулировка функции вскрывает это расхождение. Вторая ошибка: путать функцию с описанием работы («система обрабатывает заявки» — это описание, не функция; «система позволяет клиентам получить ответ в течение часа» — это функция).
Степени мастерства:
| Степень | Что происходит | Критерий перехода |
|---|---|---|
| 1. Объясняю | Могу объяснить разницу между функцией и составом и привести пример каждого для реального объекта | Один раз выполнил практику «Функция первая» |
| 2. Умею | Могу для любого проекта или инструмента сначала сформулировать функцию, потом описать состав | Есть запись: объект + функция + состав |
| 3. Навык | При встрече с новой системой автоматически задаю вопрос «Какова её функция?» раньше, чем спрашиваю «Из чего она состоит?» | Регулярность: в каждом анализе фиксирую функцию явно |
| 4. Мастерство | Помогаю командам сформулировать функцию системы, когда она неочевидна или не согласована между участниками | Есть кейс, где явная формулировка функции изменила решение команды |
Проверка себя.
- Понимание: вы можете объяснить, почему «из чего сделано» не отвечает на вопрос «зачем существует».
- Поведение: когда вам предлагают «улучшить» систему, вы сначала уточняете её функцию, прежде чем обсуждать изменения состава.
- Застревание: если обсуждение системы немедленно переходит в технические детали без ответа на «зачем», вы обсуждаете состав без функции. Остановите и спросите: «Что эта система должна делать?»
Что дальше. Функция описывает, зачем система существует. Но функции могут быть разных видов: одни физически воплощены, другие существуют только как назначение, не как тело. Следующий подраздел - о различении функционального и физического объекта: почему некоторые системы не имеют единого физического тела, и как с этим работать.