Дисциплина практики и как её описывать.

Главное в практике --- именно эта «невидимая» часть: дисциплина/теория/модель предметной области. Мышление «по дисциплине» (дисциплину ума, дисциплину использования понятий теории при мышлении) у какого-то человека нельзя просто проверить, использование дисциплинированного (а не дикого, «самодеятельного», «народного») мышления в деятельности трудно обсуждать, описание дисциплины мышления в общем случае непонятно как делать.

Скажем, сама методология --- это тоже практика. Казалось бы, инженеры могли бы почитать об этой дисциплине в учебниках, которые писали праксиологи, которые писали философы-методологи. Но получилось всё совсем не так. Более того, когда потребовалось описать саму практику методологии, способа записи практик не нашлось --- методологии-то как практики в этот момент у инженеров не было!

Donald Firesmith рассказывал, что они с друзьями занимались в начале 80-х объект-ориентированным программированием, что тогда было остромодно и ново. Как-то его вызвал начальник и сказал: «у тебя производительность программирования стала в последнее время в несколько раз выше, чем у остальных в нашей компании. Научи их своему методу работы». Дональд пошёл на своё рабочее место думать над новым заданием, и понял, что не понимает --- что такое «метод работы», чему же он должен научить других сотрудников? Что происходит в ходе выполнения программистского проекта методом объектно-ориентированного программирования? Ему было понятно, что он работает уже не так, как до знакомства с объектно-ориентированным программированием, но как описать эту разницу в работе? Внешне ведь это выглядело просто как «сижу и думаю, а о чём думаю вечерами обсуждаю с друзьями», описывать нужно было не столько внешнее поведение (что и как писать), сколько происходящее «в мозгах» --- да ещё и не само поведение, а «метод работы», задающий правила происходящего «в мозгах» поведения для многих и многих разных программистских проектов.

Так он с друзьями начал разрабатывать новую дисциплину «инженерия методов». Конечно, методология и традиция методологии, а также соображения по общей теории деятельности ему не были знакомы --- он же был не философ! Поэтому у него с друзьями были собственные догадки/гипотезы о том, какие должны быть основные объекты методологии. Скоро выяснилось, что никакой метод/способ работы не может быть перенесён из того конкретного проекта, в котором он был разработан, в другой проект. Ситуация (технология и особенности целевой системы в конкретном проекте) меняла всё заранее пошагово записанное поведение-образец. И тогда инженерию методов переименовали в ситуационную инженерию методов (situational method engineering), чтобы подчеркнуть тот факт, что каждый метод работы зависит от ситуации, а между ситуациями выживает не сам метод как предзаданная последовательность операций, а только какие-то его части. В разных школах ситуационной инженерии методов эти части назывались компонентами/components, кусочками/chunks, ломтиками/slices, фрагментами/fragments и т.д. --- главным образом компонентами выступали «артефакты» (рабочие продукты --- над чем работаем), «процессы», «инструменты», вариантов было много. Языки ситуационной инженерии методов (то есть языки переизобретённой инженерами методологии), каждый из которых определял свой набор «компонент метода» оформлялись в виде стандартов, по которым далее разрабатывались описания самых разных методов. Этих методов инженерной работы (описаний того, как нужно начинать работу в инженерном проекте и как нужно заканчивать) существует огромное количество --- их десятки тысяч.

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

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

  • первое, ориентированное на методологов, которым нужно было описывать методы работы и систематизировать эти методы работы. Это прежде всего стандарты OPF, ISO 24744 и OMG SPEM 2.0. В этих стандартах было стремление к строгости, модели были трудночитаемы[1].
  • второе, ориентированное прежде всего на удобство пользователей описаний метода (инженеров), а не на методологов. Пока это поколение стандартов состоит из стандарта OMG Essence[2], версия 1.0 которого была выпущена в ноябре 2014. Там давался свой набор объектов, который должен был описывать метод разработки и развития системы (language), одним из основных понятий которого стала альфа как объект внимания к изменениям в проекте, а также дополнительно некоторый «пример» из основных (kernel) семи альф (возможности, стейкхолдеры, программная система, требования, команда, работы, способ работы), к которому нужно было приводить все остальные альфы как подальфы.

В нашем курсе мы используем часть языка современной версии стандарта OMG Essence в качестве основных понятий дисциплины методологии, гармонизировав её с достижениями многих других исследователей-методологов. Но эти семь основных альф устарели, ибо они отражали не методологию, а были уже моделью популярного на тот момент метода создания и развития программных систем, включающего, например, требования (от этой альфы в современной программной инженерии отказались, рабочие продукты, отражающие требования, в последние пять лет в большинстве проектов перестали разрабатывать).

Методология (у инженеров это до сих пор может быть «ситуационная инженерия методов», ибо они справедливо считают, что методы работы создают и развивают ровно так же, как создают и развивают компьютерные программы --- разве что программы работают на компьютерах, а методы работают на людях и их оборудовании) представляет собой практику, состоящую из дисциплины/теории/модели деятельности плюс технологии для моделирования самых разных практик/методов/труда/процессов создания и развития систем.

Каким ролям нужно мастерство в методологии? Тем, кому приходится заниматься описанием практик (и новых, и уже существующих), которые должны учить практикам, которые должны распознавать устаревшие практики и предлагать заменить их новыми практиками (а для этого уметь сравнивать практики, обсуждать практики).

Визионерами по части методов/практик являются культуртрегеры, которые определяют необходимость в работе с какой-то практикой. Регламенты, стандарты, справочники по разным методам/практикам пишут методологи совместно с предметными экспертами (SME, subject matter expert) в соответствующей предметной области, а при подготовке материалов курсов (учебники, задания) к ним добавляются методисты (специалисты по instructional design, их мастерство --- находить эффективные способы объяснения материала, подбирать задачи и упражнения и советовать способы удержания мотивации к обучению). Конечно, если рассматривать обучение кого-то практике как изготовление мастерства, то потребуется задействовать множество разных ролей (мы даже не помянули ещё роль ученика/студента, роль педагога, но и это не весь список), это подробней изучается в курсе «Мастерство обучать образованных»[3]. Так что никакого обучения без методологии не бывает, никакой инженерии без методологии не бывает: если кто-то что-то делает/трудится/практикует, то всегда делает работы «как-то так, а не по-другому». И тут нужна методология, чтобы как-то обсуждать метод/практику работы, обсуждать деятельность в её отличии от других деятельностей, обсуждать техно-эволюцию деятельностей/труда, обсуждать разделение труда.

Новая дисциплина чаще всего появляется как результат каких-то фундаментальных исследований. Фундаментальные исследования предполагают предложение, проверку и улучшение гипотез/предложений/догадок по новым объектам внимания и их отношениям, существование которых раньше не обсуждалось. Скажем, квантовые вычисления как дисциплина развивается на базе фундаментальных физических исследований в квантовой физике. К этой дисциплине потом добавляются технологии: прежде всего сами квантовые компьютеры --- и получается практика квантовых вычислений (называемая по дисциплине). В дисциплине квантового компьютинга[4] вводится понятие квантовой информации и единицы её измерения кубита --- это новые понятия, которые сначала были высказаны как гипотезы. Квантовый компьютер эквивалентен обычному компьютеру (то есть универсален по критерию Тьюринга: может выполнять все вычисления, что и машина Тьюринга, что и мозг человека --- разница только в эффективности вычислений по тем или иным алгоритмам).

Гипотезы (например, существование квантовой информации и операций с ней) проверяются логикой, а потом ставятся проверочные эксперименты --- точны ли в выражении реальности модели/теории больше, чем модели/теории с другими догадками. И если эти догадки более точны, то их принимают всерьёз. В том числе поддерживают технологией. Так, догадки в части энергии атомного ядра поддержали технологией атомной бомбы («открытие на кончике пера» дисциплины, а затем создание технологии для практики/метода атомных взрывов). Догадки по части квантовых вычислений в части дисциплины были поддержаны созданием технологии квантовых компьютеров.

Дисциплина может быть прикладной, она появляется тогда в результате прикладных исследований, которые устроены точно так же, как фундаментальные в части метода исследований: догадки, критика, улучшение догадок, принятие всерьёз (на время! Ибо потом будут новые догадки, более точные) тех догадок, которые оказались лучше по сравнению с другими догадками.

Альфы, состояние которых меняет практика в проекте, тоже появляются путём догадок, логической их критики, улучшений.

Монографий, стандартов, справочников (работа методолога) и даже учебных курсов (работа методиста) по самым разным фундаментальным и прикладным дисциплинам с их предложениями альф для каждой предметной области много, научных статей много, описаний практического опыта достаточно (не нужно самому делать эксперименты, они уже проведены, хотя проводившие их люди могли и не называть это «экспериментом», они «просто работали» с использованием понятий какой-то дисциплины). Так что достаточно отобрать какой-то набор альф из уже известной литературы, гармонизировать их между собой, изложить в виде учебного курса или справочника --- это такое «мета-исследование», исследование по материалам других исследований. Учебник тут уже переход к разработке (instructional design как дисциплина разработки учебных продуктов), и это хорошая форма выходного результата: дисциплина ведь «оживает» только после «загрузки» в чью-то голову (хотя есть вариант оживления её в виде компьютерной программы, использующей её понятия и выполняющей фрагменты её предметного мышления в экзокортексе). А затем эта дисциплина должна быть поддержана технологией.

В частности, дисциплина/теория самой методологии в варианте настоящего курса не была придумана с нуля в результате фундаментальных научных исследований, предполагающих какие-то догадки о понятиях, которых не было раньше. Нет, она была документирована как культурно-обусловленная. Авторами курса был выявлен минимальный набор понятий самых разных школ методологии, которые опираются на понятия системного подхода в его инженерной версии (второе поколение системного подхода) и далее немного адаптирован к третьей версии (учёт безмасштабности и некоторая деантропоморфизация агента/IPU --- выход за пределы агента как чистого «биологического человека»). Технология к этой мыслительной дисциплине предполагается обычная для мыслительных дисциплин: какой-нибудь моделер, начиная от «ручки-бумажки» для текстовых моделей невысокого уровня формальности, заканчивая универсальным моделером для табличного моделирования типа notion.so, coda.io (и может быть ещё много самых разных вариантов моделеров).

Этот набор методологических понятий и понятий системного мышления был изложен в виде не слишком учебного «текста книги» (без задач и заданий по моделированию) --- это была методологическая работа для курса методологии. Затем был разработан курс (добавлены более подробные и понятные объяснения, указаны наиболее часто встречающиеся «новичковые ошибки», появились задачи, задания на табличное моделирование/«мышление моделированием», задания на чтение литературы и текстовое моделирование/«мышление письмом» для удержания мозга на некоторое время в мышлении с использованием понятий дисциплины курса в приложении к реальной жизни), это была методическая работа (instructional design). Причём в ходе методической работы были использованы материалы множества дисциплин, прописаны связи со многими другими курсами: помним, что в одном курсе может излагаться несколько разных дисциплин. Так, в курсе методологии много отсылок «назад» к курсу системного мышления и «вперёд» к курсам системной инженерии и менеджмента.

В ходе управления конфигурацией и изменениями были устранены конфигурационные коллизии: как курс методологии и его вариант дисциплины методологии теперь согласован со всеми остальными курсами программы курсов Школы системного менеджмента и дисциплинами, которые раскрываются в этих курсах, так и все остальные курсы и раскрывающиеся в них версии дисциплин согласованы с курсом методологии. Непрерывно идут (материал курса по факту был переписан восемь раз) изменения курса по двум линиям: изменение текущей версии дисциплины методологии (отражение мирового прогресса в методологии) и изменения в части согласованности материала курса с другими курсами программы ШСМ. Конечно, это всё описывает не просто «создание курса», а «создание и развитие курса», соответствует третьему поколению системного подхода и современной системной инженерии.

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

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

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

Именно дисциплина определяет, какой технологией она может быть поддержана, а не технология (в данном случае моделер) определяет дисциплину. Функциональную нагрузку в практике несёт именно дисциплинарная часть, и именно по дисциплине называют всю практику на конкретном предприятии. Методология --- это прежде всего дисциплина. А моделер как технология для практики методологии может быть ровно тот же самый, что и для многих других дисциплин (как моделировать создание и развитие целевой системы, как моделировать создание и развитие предприятия::создатель, будет подробней рассказано в курсах системной инженерии и менеджмента, а также более подробно дано в прикладных курсах по отдельным подпрактикам прикладной инженерии и менеджмента).

Дисциплина в практике меняется относительно редко, чаще всего речь идёт о цикле изменений в 10-20 лет, раньше это было больше, но сейчас это может быть и меньше. Например, системный подход относительно стабилен, знания его текущей третьей версии могут продержаться лет десять-пятнадцать, знания второй версии продержались почти тридцать лет. А вот технологии меняются много чаще. Моделеры для того же системного подхода меняют свои поколения каждые 4 года (средняя скорость смены поколений в информационных технологиях. Например, в 2019 году появился стандарт описания функциональной структуры системы для моделирования физических систем SSP, system structure and parametrization, а в 2020 году появились первые моделеры, его поддерживающие[5] --- технологии моделирования тоже меняются быстро). Но все эти моделеры по факту поддерживают одну и ту же много медленней меняющуюся дисциплину, даже не всю дисциплину, а какие-то её части. SSP --- это больше про физическое имитационное моделирование/simulations функциональности технических систем. Это инструментарий, скорее, ещё первой версии системного мышления, причём учитывающий многоуровневость только в функциональном разбиении системы. Так что даже системным этот инструментарий можно назвать довольно условно, хотя авторы включили слово «система» в название метода. Всегда обращайте вниманиесначала на дату используемой версии вашей дисциплины,и только потом на дату выпуска технологии! Иначе вы получите что-то типа самого современного инструментария поддержки теории флогистона.

Нельзя успокаиваться после получения мастерства в какой-то дисциплине. Так, состояние state-of-the-art (SoTA, «лучшее известное на сегодняшний момент») дисциплины описывается в учебниках и курсах через пять лет после его появления в результате исследований, ещё пять лет проходит до начала массового изучения дисциплины в вузах (дисциплина попадает в учебные планы не сразу!), и всего через десять лет после окончания вуза можно обнаружить, что владеешь каким-то уже совсем антикварным пониманием дисциплины --- двадцатилетней «свежести».

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

Lean manufacturing (элегантное/минимализированное/бережливое производство) впервые был упомянут в статье 1988 года[6], прошло более тридцати лет с момента появления этой практики! Нужно регулярно отслеживать не только относительно частые смены технологии в практике, но и относительно редкие изменения в дисциплине!

Что делать со своим образованием в этих условиях, рассказывается в курсе «Образование для образованных»[7] (краткий совет там --- уделять внимание фундаментальным трансдисциплинам интеллект-стека, в том числе методологии, которые позволят отслеживать изменения технологии и изменения практик и быстрее овладевать новыми версиями практик).


  1. https://www.researchgate.net/publication/220349352_Situational_Method_Engineering_State-of-the-Art_Review ↩︎

  2. http://www.omg.org/spec/Essence/ ↩︎

  3. https://system-school.ru/teaching ↩︎

  4. https://en.wikipedia.org/wiki/Quantum_computing ↩︎

  5. https://ssp-standard.org/ ↩︎

  6. Термин «lean» был впервые предложен John Krafcik в его статье 1988 года, "Triumph of the Lean Production System". Эта статья была основана на материале его магистерской дипломной работы в Слоановской школе управления MIT. ↩︎

  7. https://system-school.ru/uptodate ↩︎