Роли
Когда мы говорим о сложной деятельности, нам приходится говорить также об участии в этой деятельности других людей. Но даже без других людей: только свою сложную деятельность можно рассматривать с разных сторон. Для этого нам полезно будет поговорить о ролях.
До этого, если мы хотели указать на чье-то ролевое поведение, мы могли только сказать «все физические объекты, которые актуально или потенциально осуществляют разработку».
Мы можем так и поступать, но будет каждый раз длинно и неудобно, а еще мы видим, что такой способ задать эти объекты неизбежно ссылается на свои отношения с системой в которую входит (наш проект, в котором кто-то осуществляет разработку).
Так что можно задать тип «роль», который будет это и значить, но еще обладать какими-то интересными нам свойствами.
Роль --- функциональный объект, часть проекта (а не агента, как было бы интуитивно думать). Мы можем указать, где в системе она у нас находится, как бы сказать, где находится слот под любой такой физический объект и какими свойствами этот слот обладает.
То, что у вас есть привычные роли, значит, что какие-то части вас имеют «совместимую форму» с тем, что от вас ожидается разными системами.
Еще у вас всегда есть система «агент, стремящийся адаптироваться ко всему набору сред, в которых он находится» и вы своими частями играете много ролей в этой системе (но также там скорее всего есть и роли, которые играют другие агенты своими частями).
Для того, чтобы говорить о частях агента, мы так и говорим --- части личности, и если мы захотим сделать функциональное/ролевое рассмотрение здесь, то мы будем рассматривать самого агента (с его функционированием) как систему, а его части все так же будут играть роли внутри личности этого агента. Может даже возникать путаница с тем, какие роли агент играет для системы-себя и для внешних систем, потому что как правила агент не может совсем остановить игру ролей для системы-себя.
Таким образом, ролевое рассмотрение для нас проводится по единым правилам на любом масштабе (оказывается безмасштабным).
Вам может казаться, что роли, которые вы играете, существуют внутри вас, но мы предлагаем переключиться с этого бытового интуитивного понимания на другое, в котором роли --- это части тех систем, в которых они исполняют определенные функции.
Итого мы разбиваем бытовое понимание «меня, содержащего много ролей» на системы, имеющие много функциональных частей, в том числе ролей.
Посмотрите на примерах:
В России есть Президент. Это роль, которую могут играть разные люди. Роль «президент России» --- функциональная часть России, а не конкретного человека, который ее сейчас играет, хотя они сейчас и совпадают в пространстве и времени. Когда человек перестанет играть роль, сама роль останется частью системы государственного управления России, а не уйдет вместе с ним.
Или, например, в семье есть муж. Сейчас роль мужа в этой семье может играть один человек, а потом другой. Муж --- роль в семье, а не часть конкретного Пети. Как только Петя выходит из семьи он перестает быть мужем.
А во внутренней системе Васи, например, есть роль «контролер ресурсов», и он отказывается от каких-то дел/возможностей/активностей, если Вася и так загружены. Эта роль может на первый взгляд выглядеть как рабочая роль, и Вася можете задаваться вопросом, почему вдруг он ведет себя не по своей обычной роли --- например, на работе у Васи обычная загрузка; но «контролер ресурсов» работает на системе «весь агент Вася».
В вашем доме есть стол (например, в значении «подставка для тарелок, когда вы едите»). Это функция, которую могут исполнять разные предметы --- и то, что вы купили в магазине, и оно называлось «стол» и то, что вы купили в магазине, а оно называлось «стул» или даже «ящик», и то, что вы вообще не покупали в магазине, а принесли из леса (плоский камень).
У агента есть свойства, которые позволяют играть роль, --- необходимые компетенции/мастерства, интенция занять эту роль в проекте, что-то еще. Аналогично у предмета есть свойства, которые позволяют исполнять функцию, --- чтобы что-то могло быть столом, оно должно иметь достаточно плоскую поверхность, чтобы на нее можно было что-то поставить.
Функциональное рассмотрение вещей --- то же самое, что ролевое рассмотрение людей. Привычнее для одушевленных сущностей говорить о ролях, но в целом идея та же, это функциональное рассмотрение агентов --- какое у них назначение в системе, в которую они встроены.
Собственно, когда мы рассматриваем функциональное разбиение системы, мы всегда можем про каждую часть сказать «любая штука, которая делает Х по отношению к надсистеме» и/или «любая штука, которая делает Х по отношению к определенной штуке».
Про роль будем говорить следующее:
- Интерес (concern): объекты интереса, области интереса, предметы интереса. Это те объекты, которые привлекают внимание и выделяются из фона естественным образом для какой-то роли. Вы сделали такое рассмотрение в первой домашке. Если я иду на кухню готовить борщ (нахожусь в роли повара в этот момент), то деятельностный (ролевой) интерес в проекте «готовка борща» могут вызывать: рабочее место, ингредиенты, посуда и т.п. Не деятельностным, не ролевым (для этой роли) я назову интерес к, например, отношениям между людьми на этой кухне, отделке стен на кухне, птичке за окном. В этом полезно выделять важные характеристики, --- меня будет интересовать в продуктах их свежесть, в рабочем месте --- его чистота, приспособленность к готовке и так далее.
- Предпочтение: что эта роль хочет, чтобы происходило с этими характеристиками объектов. Если вы выделили какой-то предмет интереса исходя из роли, но не можете сформулировать по нему предпочтения --- этот объект не входит в интересы этой роли (а возможно вы просто хотите, чтобы этот объект существовал). Повар хочет, чтобы рабочее место было максимально удобным, ингредиенты свежими, посуда чистой и в достаточном количестве.
Для каждого объекта, выделенного из фона на прошлом шаге, я заявляю, что́ я хочу чтобы с ними происходило, или в какое состояние чтобы они пришли. Еще я могу заявить предпочтение, которое касается сразу нескольких объектов интереса, или какого-то сложного их взаимодействия. Можно представлять себе интерес как переменную, а предпочтение --- как значение переменной.