Previous Entry Share Next Entry
Моделируем мышление (1) Системное мышление vs мышление системами
П
metanymous wrote in metapractice
Пришла ко мне рассылка одного из центров НЛП. Продают семинары по системному мышлению, обещают научить системно мыслить. Кибернетическая парадигма, обратная связь. Со времён Грегори Бейтсона в НЛП, увы, в этой части ничего не изменилось.
http://ailev.livejournal.com/1173114.html


--(dmitry_thinker) Вы не могли бы подсказать (хотя бы ссылкой на Ваши посты), что можно почитать современного (на русском или английском языке) про системное мышление, что могло бы обогатить НЛП? То есть что-то сверх кибернетической парадигмы.
http://ailev.livejournal.com/1173114.html?thread=12528762#t12528762
--(ailev) Да хоть мою книжку по системноинженерному мышлению, она на русском:



Системноинженерное мышление в управлении жизненным циклом
http://techinvestlab.ru/files/systems_engineering_thinking/systems_engineering_thinking--TechInvestLab_2014.pdf





Системноинженерное мышление в управлении жизненным ц

"Системноинженерное мышление в управлении жизненным циклом" -- это материалы учебного курса TechInvestLab, который можно использовать как в ВУЗах (так, этот материал был использован в семестровом курсе 2014 года для пятикурсников межфакультетской кафедры технологического предпринимательства МФТИ в весеннем семестре 2014г.), так и в системах повышения квалификации инженеров и менеджеров (например, он был использован для организации четырёх дней тьюториала корпоративным университетом ГК "Росатом" зимой-весной 2014г. для участников программы Global Professionals, а также во ВНИИХОЛОДМАШе в ходе проекта повышения квалификации сотрудников). Материалы курса неоднократно обсуждались на заседаниях Русского отделения INCOSE и в SEMAT. Это черновые "рабочие" материалы, в которых пока не было уделено внимания гладкости и художественности изложения.

представление минимально связного и компактного мате

Практическую направленность курса гарантируют разбирательства с примерами из проектов проходящих этот курс. То есть материалы курса привязываются к практике и разъясняются в ходе преподавательской или консультационной работы (так называемый flip teaching -- "перевернутое обучение", т.е. лекционная/объяснительная работа преподавателя отсутствует, зато преподаватель/тьютор/консультант помогает выполнять упражнения -- т.е. помогает в "домашних заданиях"). Так что эти материалы никак не подходят для того, чтобы быть "самоучителем", они предполагают обязательную работу с преподавателем или консультантом.

Главная задача этого текста -- компактное представление минимально связного и компактного материала по системноинженерному мышлению. Специфика курса в том, что его содержание базируется не на постоянно отстающей от требований времени учебной литературе, а на международных стандартах системной инженерии, разработанных или обновлённых за последние примерно пять лет -- ISO 15288, ISO 42010, ISO 15926, ISO 81346, OMG Essence. Раздел инженерии предпринятия является факультативным и дан не столько для подробного изучения, сколько для ознакомления с тем, как изложенные принципы системноинженерного мышления могут быть применены к нестандартным для классической инженерии сложным системам.

Просьба присылать ваши замечания и предложения по поводу данных материалов
Анатолию Левенчуку (ailev@asmp.msk.su).

1. Системная инженерия

1. Системная инженерия
Курс "Системноинженерное мышление в управлении жизненным циклом" является
одной из двух частей курса "Введение в системную инженерию" (второй частью
будет "Практики жизненного цикла системной инженерии"). Так что перед тем,
как приступить к собственно изучению курса, необходимо будет разобраться с
тем, что такое системная инженерия.

Самое современное определение системной инженерии дано в Guide to the
Systems Engineering Body of Knowledge (руководство по корпусу знаний системной
инженерии,
http://www.sebokwiki.org/wiki/Guide_to_the_Systems_Engineering_Body_of_Knowledg
e_%28SEBoK%29).

Короткое определение: системная инженерия

Короткое определение: системная инженерия -- это междисциплинарный подход и способы обеспечения воплощения успешной системы. (Systems engineering is an interdisciplinary approach and means to enable the realization of successful systems). В этом определении можно подчеркнуть:

● Успешные системы -- это то, чем занимается системная инженерия. Слово "успешные" тут крайне важно и означает, что система должна удовлетворить нужды заказчиков, пользователей и других стейкхолдеров (стейкхолдеры -- это те, кто затрагивается системой, или кто затрагивает систему).

● Слово "системы" используется в очень специальном значении: это "системы" из системного подхода. TechInvestLab, 14 июня 2014 3

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

● Слово "воплощение" (realization, "перевод в реальность") означает буквально это: создание материальной (из вещества и полей) успешной системы.


По-английски "системная инженерия" -- systems engineering, хотя более ранние написания были как system engineering. Правильная интерпретация (и правильный перевод) -- именно "системная" (подразумевающая использование системного подхода) инженерия, а не "инженерия систем" (engineering of systems) -- когда любой "объект" обзывается "системой", но не используется системный подход во всей его полноте.


Edited at 2015-03-21 01:05 pm (UTC)

K 0[p:#t"=,LK䉈 !K4OqUűijG~E Md`]τaJBd

Более длинное определение включает ещё одну фразу: Она фокусируется на целостном и параллельном понимании нужд стейкхолдеров; исследования возможностей; документирования требований; и синтезирования, проверки, приёмки и постепенного появления инженерных решений, в то время как в расчёт принимается полная проблема, от исследования концепции системы до вывода
системы из эксплуатации

(It focuses on holistically and concurrently understanding stakeholder needs; exploring opportunities; documenting requirements; and synthesizing, verifying, validating, and evolving solutions while considering the complete problem, from system concept exploration through system disposal). Тут нужно подчеркнуть:

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

● Параллельность выполнения самых разных практик (а не последовательность, как можно было бы подумать, прочитав перечисление практик)

● Много особенностей, которые будут понятны позднее (различение нужд пользователей и требований, проверки и приёмки, упор на синтез для противопоставления "аналитическим" дисциплинам и т.д.). TechInvestLab, 14 июня 2014

4 Упражнение: посмотрите разные определения системной инженерии и найдите их сходство и различия

(http://www.sebokwiki.org/wiki/Systems_Engineering_%28glossary%29,
http://www.sie.arizona.edu/sysengr/whatis/whatis.html,
http://syse.pdx.edu/program/about.php и так далее -- погуглите, чтобы найти больше определений). Обратите внимание на разнообразие используемой в этих определениях терминологии.


Edited at 2015-03-21 01:18 pm (UTC)

Кто ответственен за правильность проекта, правильн

Кто ответственен за правильность проекта, правильность выбранного решения? Системные инженеры в этих проектах: именно они должны придумать такие технические решения, чтобы при изготовлении, эксплуатации и последующем выводе из эксплуатации всех этих сложнейших проектов не было неожиданностей. И эти системные инженеры справляются -- каждый год сверхсложные проекты прошлых лет становятся просто сложными, а сложные проекты -- типовыми. Это не значит, что такие проекты, как полёт на луну или создание атомной станции становятся более простыми. Нет, не становятся: наоборот. Сложность этих проектов год от года растёт за счёт опережающего роста требований, прежде
всего требований безопасности.

Создавать такие сложные системы могут только большие многодисциплинарные TechInvestLab, 14 июня 2014 9 коллективы, которые требуют какой-то междисциплинарной организации в разделении умственного труда. Именно вопросы удержания междисциплинарной целостности и организации междисциплинарных работ и решает системная инженерия. Она:

● удерживает целое всего инженерного решения для самых разных стейкхолдеров. Это основной предмет курса "Системноинженерное мышление в управлении жизненном циклом"

● Использует практики системной инженерии для создания успешного решения. Это основной предмет курса "Практики жизненного цикла моделеориентированной системной инженерии" (тут нужно отметить, что классическая системная инженерия и моделеориентированная системная инженерия немного отличаются, но с течением времени вся системная инженерия станет моделеориентированной, и необходимость добавлять
слово "моделеориентированная исчезнет" -- но об этом позже).

Но почему системную инженерию назвали именно системной, а не какой-то другой инженерией? Потому как на сегодняшний день единственным способом удержать сверхсложное целое в междисциплинарных проектах является использование системного подхода, в котором термин "система" используется в специальном смысле, и который подразумевает специальное устройство мышления для применяющих системный подход людей.

Схемное мышление

Философская линия Гуссерля-Витгенштейна-Бунге гласит, что знание выражается фактами: мы ничего не можем сказать про объекты мира, представляя их понятиями языка, но мы можем представлять отношения объектов мира, представляя их выраженными в понятиях фактами. Следуя этой линии рассуждения, мы не можем давать определения отдельным понятиям, мы можем определять только совокупности понятий в их отношениях друг с другом. Так, для определения понятия "целевая система инженерного проекта" нужны другие TechInvestLab, 14 июня 2014 14 понятия ("стейкхолдер", "описание системы", "работы", "возможности" и т.д.).

Современные онтологические рассуждения следуют правилам логики (дисциплина, занимающаяся правилами рассуждений), чаще всего аристотелевой логики (аристотелева логика в логике представляет собой некий аналог евклидовой геометрии в геометрии, ибо бывают и весьма "необычные" неевклидовы геометрии и неаристотелевы логики).

Это означает, что в нашем курсе мы будем использовать диаграммы, отражающие основные факты об отношениях объектов в предметной области системного мышления, системной инженерии, ситуационной инженерии методов и других дисциплин. Рассуждения после этого будут строиться с учётом представляемых фактов.

В данном курсе мы будем мягко относиться к логической стороне дела и не будем требовать полностью формальных (понятных даже компьютерам) суждений, но следование в рассуждениях предлагаемым диаграммам ("схемам") необходимо. Иногда говорят про "схемное мышление" -- мышление, которое следует некоторым предварительно заданным понятийным схемам. Схемность мышления вовсе не означает ограниченность мышления. Оно означает просто, что объекты реального мира "подводятся под понятия" никогда не по одному, а соответствующими схемам группами, и между объектами реального мира предполагаются прописанные в схеме отношения.

Например, схема инженерного проекта предполагает набо

Например, схема инженерного проекта предполагает набор из семи понятий:

Система

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

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

Ситуация -- это когда нужно что-то делать, и нужно понять, что именно делать [кстати, обратили внимание, что в определении ситуации неявно присутствует понятие деятельности? Это и есть схемное мышление: трогаешь одно понятие, а через определение или через схему в рассуждение притягиваются другие связанные с ним понятия]

Те, кто знают схему -- это и есть "семантическое сообщество". Они знают, что "команда применяет технологии", как бы ни называлась "команда" (бригада, компания, рабочая группа", как бы ни произносилось "применяет" (использует, опирается на, задействует, владеет), как бы по-разному появлялись бы в речи TechInvestLab, 14 июня 2014 16 "технологии" (способы работы и инструменты, методы и их поддержка, производственная среда).

Знание курса предполагает не просто знание основных схем этого курса (запоминания онтологии предметной области), а умение рассуждать с использованием этих схем -- подводить объекты реального мира под понятия на схемах и вести рассуждение в терминах этих понятий.

Можно ли научить системной инженерии?

Знания системной инженерии в голову укладываются ступенечками, от простого к сложному. Как выделить такие ступеньки? Что нужно тренировать в мозгу, какую непривычную мозгу мыслительную работу делать привычной? Тут я должен ввести понятие контринтуитивности. Мы живем в интуитивно понимаемом мире. Наши мозги ездят по интуитивным, невесть откуда взявшимся мыслительным рельсам в очень известном направлении, как трамвай – одним и тем же маршрутом. Мы родились, постепенно откуда-то у нас эти рельсы в мозгу проложились, и мышление по ним ездит, и ездит обычно мимо удобных способов решения задач, делая невозможным решение задач сложных.

Вот, посмотрел в окно – а там земля плоская. Когда мне говорят, что Земля круглая, я что отвечаю? Я говорю: «это неправда, посмотрите в окно». Мне отвечают: «вы что, Земля круглая, потому что если посмотреть за горизонт..., а я упорствую: «Вы мне рассказываете много всего лишнего, что там за горизонтом, за горизонтом я и сам вижу, что ничего нет. Вы мне про горизонт и что за ним, а я про Землю, вот же она – Земля плоская». Смотрите: вся моя жизненная интуиция показывает, что Земля плоская, я по ней хожу, вот этими ногами хожу и уж ноги-то точно знают, что Земля не круглая! Но каким-то людям, которых заботят масштабы не только 10 километров, но и 1000 километров, в голову откуда-то приходит мысль про «Земля – круглая», они начинают так мыслить.

Через некоторое время выясняется, что кроме Земли ещё и Космос с его вакуумом есть, космические корабли там летают «всё время падая, но никогда не падая». Вот это я уже понять не могу, потому что при идее плоской Земли летание космических кораблей по кругу с достаточной скоростью, чтобы не падать никогда – это понять невозможно. Мысль о круглой земле контринтуитивна, она соответствует «народной теории» (folk theory), она нетехнологична.

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

Пытаются отмоделировать мышление гения

Гений почему-то, сам часто не осознавая, сделал что-то совсем не так, как все остальные, он просто начал что-то делать в противоречии с интуицией всех остальных, и у него начало получаться. А все остальные действуют интуитивно, «по-народному», «как все», и у них не получается. И пока на уровень сознания гения, или тех людей, которые пытаются отмоделировать мышление гения, не вышло, в чем именно эта контринтуитивность, вы не можете передать это знание другим людям, не можете никого этому научить.

Вы не можете научить системного инженера, если вы не знаете на уровне сознания, что он делает. Вы не можете человека научить стать просветленным за определенное время, если вы не понимаете, в чём именно содержание просветления. Чем отличается искусство от технологии? В искусстве -- один раз свезло, вдохновение было, получился шедевр. Другой раз не свезло, вдохновения нет, не будет шедевра. В инженерии мы так не можем, нам нужно работать, нам
нужны технологии, дающие неизменно превосходный результат.

Меня учили в детстве: никогда не работай с художниками, всегда работай с архитекторами. Почему, знаете? Художник – он всегда ждет вдохновения, у него вот такой подход к своему творчеству, и его именно так учат. А архитектор получает абсолютно то же самое образование в смысле всех творческих техник, но его приучают, чтобы он сдавал работы в срок, чтобы он учитывал техзадание, что нужно приходить на работу, а рабочий день начинается во сколько и заканчивается во сколько. С архитектором ты будешь уверен в результате, который будет соответствовать каким-то критериям качества, ожиданиям заказчика, и будет получен вовремя. А рисуют архитекторы обычно не хуже художника, так что и с этим всё в порядке.

Я дисциплине ума, наличию рельс для мышления уделяю этому много внимания – как в системной инженерии, так и любой другой дисциплине. У художника вроде как дисциплины ума нет, и его искусство передается как? Ученик смотрит на десятки, тысячи, сотни работ, учится ловить сленг профессионалов, смотрит, как работают настоящие мастера с ними рядом. Далее из трёх у десяти учеников в голове появляются какие-то правильные рельсы для трамваев их профессиональных мыслей. А у семи из десятка – не появляются. Ибо это не обучение в классическом смысле слова.

Когда вы находите правильные объекты и правильные мыслительные операции, и правильные упражнения – то ученики после обучения даже не будут понимать, что им было трудно делать до обучения. Они будут неспособны вспомнить, по каким рельсам катилось их мышление до обучения, и поэтому они будут изумляться поведению необученных новичков, включая собственному поведению в период до освоения той или иной практики. Спросите моего ребёнка, почему он очень плохо умножал всего год назад – он не сможет объяснить, почему. Сейчас умножение для него вполне естественно, и не требует напряжения всех его умственных сил, как это было год назад.

Назовём это свойство прохождения какого-то порога понимания метанойей. Слово удивительное, попробуйте его написать в разных падежах, да ещё и во
множественном числе, получите очень интересные эффекты. Это слово пришло из религиозных практик и означает «перемену мыслей», полный разрыв прошлого и текущего мышления. Ты занимаешься, занимаешься в какой-нибудь семинарии, и вроде как мышление у тебя не так поставлено, как это ожидают от тебя священники. Потом вдруг в какой-то момент щелк – и ты демонстрируешь всем, что вот у тебя такое же мышление, как это принято у священнослужителя, с этого момента ты «настоящий», а не притворяешься. Вот слово это – метанойя, такой малый западный вариант просветления. Слово "метанойя" рекомендовал использовать и гуру менеджмента Питер Сенж вместо слова "обучение", ибо слово "обучение" с его точки зрения уже совсем затасканное и не означает коренную смену образа мышления в результате обучения.

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

Главная метанойя системной инженерии

Главная метанойя системной инженерии в том, что вы начинаете думать о мире, как состоящем из систем, и описываемом многодисциплинарно для каждой
системы. Это крайне контринтуитивно, поэтому требует специального обучения и последующей длительной тренировки такого системного мышления.

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

Эту "тривиальность" вполне можно добавить в список синонимов к "интуитивности" (ибо использование "интуитивности" иногда идёт вразрез с бытовым пониманием и означает ровно наоборот -- "нетривиальность, полученную инсайтом, вдохновением, озарением").

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

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

Системное мышление и ЭВМ

Итак, в конце восьмидесятых стало очевидным, что в сложных технических устройствах завелось что-то трудноуловимое, что уже не охватывается мышлением среднего человека. Почему только тогда?

Вспомните 1985-й год, где в СССР были персональные компьютеры, хоть какие-нибудь? IBM PC выпускался на Западе только с 1980 года, в СССР его практически не видели ещё. Какого размера тогда были доступные компьютеры? Если не считать простейших калькуляторов, то самая маленька СМ-4 была размером со стенной шкаф. Но вычислительная мощность у неё была несопоставимо меньше, чем у меня сейчас в телефоне – в разы и разы меньше. Если взять разрешение экрана современного телефона, то в крупных научных институтах пикселей на экранов всех компьютеров, наверное, не хватало бы в 1985 году, чтобы сравниться с числом пикселей экрана этого карманного телефона.

Я уже молчу про цветные пиксели, тогда ещё экраны были главным образом монохромными. Компьютеры ставились в машинных залах с фальшполами, это был 85-й год. У меня самого СМ-4 была с номером 00047, в 1982 году. Это как раз вот 82-й год, а с сентября 85-го решением политбюро ввели информатику в школах СССР. До власти дошло, что что-то такое происходит в военной сфере именно потому, что компьютеров мало и простые солдаты недостаточно обучены для адекватной работы операторами сложной военной техники.

Принимались безумные решения по линии «догнать и перегнать», то есть не развивать свои разработки, великолепную машину БЭСМ-6, а «слизать» мейнфреймы IBM. В этот момент уже начали выпускать и мини-компьютеры. Та самая СМ-4 – это была копия PDP-11. Наши ЕС ЭВМ – это IBMsystem/360. И в этих условиях вся страна вдруг начала учить информатику.

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

Системное мышление алгоритмикой

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

Алгоритмика с пелёнок

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

Раньше считалось, что учить алгоритмику нужно на примере математики. Люди из группы «Аттик» сказали, что нужно мир математики заменить на мир двигающегося на клетчатом поле робота с командами «вверх», «вниз», «влево», «вправо», «закрасить клетку». Я думаю, это многим знакомо, потому что я
рассказываю самый обычный школьный курс для седьмого класса.

Что же произошло в 2011 году? Люди из группы «Аттик» сказали: давайте мы оставим минимум понятий, необходимых для программирования – последовательность команд, подпрограмма, цикл «раз», условный оператор. Необходимость освоения синтаксиса по возможности исключим, язык у нас будет графический – нарисованные плашки с иконками-командами нужно будет укладывать мышкой в фиксированный набор ячеек для команд. При таком подходе можно учить даже тех, кто читать не умеет! «Вот эта плашка-стрелочка заполняет вот это вот место» -- вот и весь синтаксис. Мир был сделан совсем маленьким, команд движения роботом стало даже не четыре (по направлениям), а три (только «вперед» и повороты вправо и влево). И вот этим крохотным синтаксисом в крохотном мире смогли овладевать дети в детских садах, и не только в подготовительной группе, но даже и в старшей.

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

И если раньше это называлось «школьная алгоритмика», то появляются первые работы, первые доклады об успехах, в которых закрепляется термин «дошкольная алгоритмика». Алгоритмика – это ведь не просто расхожая уже «информатика для малышей», понимаемая как крайне упрощенная «логика» с задачками типа «вот уточки розовые, уточки желтые, вперемешку, найди общий признак и рассортируй на две кучки». Да, нынешние учебники «Информатика» в большинстве своём вообще не содержат алгоритмики, которая про составление и записи планов действий в неопределенном будущем. В «дошкольной алгоритмике» дети реальные программы пишут, причем не все взрослые такие программы смогут написать, смогут решить предлагаемые дошколятам задачи. Почему? У этих взрослых в голове просто нет этих «рельсов для мышления» в части алгоритмики.

Образование для системного мышления

Когда с простейшим синтаксисом и учебным миром мы проходим ступенечку понимания с маленькими детками и кладём первый участок этих «рельс
алгоритмического мышления», то дальше оказывается возможным пройти и весь курс седьмого класса. Секрет был просто в облегчении прохождения маленькой первой части большого сложного курса. Дитенка не может сразу одолеть сложный текстовый синтаксис, сложный мир робота, понятия алгоритмики. А упрощённый синтаксис и упрощенный мир на меньшем числе операторов алгоритмического языка он одолеть может, и после одоления первой ступеньки этой лестницы сложности дальше легко проходится вся лестница – до самой её вершины. На это изобретение ушло двадцать лет, а без первой ступеньки вся лестница была недоступна.

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

Программа магистерского курса системной инженерии

В качестве примера можно взять программу магистерского курса системной инженерии, который даёт великобританский Loughborough University, всего в этом курсе 180 кредитов (условно можно считать, что один кредит -- это 10 аудиторных учебных часов плюс столько же на самостоятельную подготовку). Обратите внимание на обязательные предметы: системное мышление, системная архитектура, "мягкие" системы (системы, включающие в себя людей), системное конструирование/проектирование (в английском используется одно слово: design, создание трехмерной кострукции материальной системы) -- это всё вместе занимает 60 кредитов , и столько же времени отводится на обязательный индивидуальный учебный проект. Ну, и ещё 60 кредитов тратится на курсы по выбору (инженерные и менеджерские возможности, управление инновациями и предпринимательство, холистическая инженерия, проверка и приёмка, понимание сложности, датчики и приводы).

Групповое распределённое системное мышление

Учебный проект обычно выполняется командой, в которой участвуют инженеры разных специальностей. Студенты-будущие системные инженеры обычно не любят работать в такой команде: через очень короткое время выясняется, что все представители разных специальностей имеют разные интересы (например, при конструировании автономного робота нужно согласовывать прочность механики, мощность тяжёлой батарейки, мощности моторов, скорость и тем самым тяжесть компьютеров и т.д. -- участники проекта каждый обосновывает необходимость его инженерных решений, несовместимых с требованиями других участников, а системный инженер вынужден решать появляющиеся проблемы). Студенту объясняется, что это и есть его работа: отныне и в будущем он всегда будет в эпицентре разработки, и его задачей как раз является решение всех проблем, возникающих от противоречий требований разных инженерных дисциплин. Его как раз учат адекватному мыслительному аппарату, позволяющему решать такие проблемы, и на этом учебном проекте он должен тренировать свои навыки системноинженерного мышления и учиться получать удовольствие от того, что он
решает казалось бы неразрешимые проблемы.

Четыре поколения версий системного мышления

Система2

Первое поколение -- это алхинженерия ("алхимическая" инженерия), по аналогии с алхимией по сравнению с химией. Помните алхимические неформальные описания химических реакций в те времена, когда не было ещё развитой химической нотации и понимания различий между химическими элементами и сложными веществами? Вот пример ...
(http://gothicsstyle.ru/2011/02/02/srednevekovaya-alximiya-recepty/)

Современное пояснение: "Философская ртуть -- свинец. Прокалив его, получаем массикот (желтую окись свинца). Это зеленый лев, который при дальнейшем прокаливании превращается в красного льва--красный сурик. Затем алхимик нагревает сурик с кислый виноградным спиртом -- винным уксусом, который растворяет окись свинца. После выпаривания остается свинцовый сахар -- нечистый ацетат свинца (чистый Рb (С2Н302) 2 · 3Н20--это бесцветные прозрачные кристаллы). При его постепенном нагревании в растворе сперва перегоняется кристаллизационная вода (флегма), затем горючая вода -- «пригорелоуксусный спирт» (ацетон) и, наконец, красно-бурая маслянистая жидкость. В реторте остается черная масса, или черный дракон. Это мелко раздробленный свинец. При соприкосновении с раскаленным углем он начинает тлеть и превращается в желтую окись свинца: черный дракон пожрал свой хвост и обратился в зеленого льва. Его опять переводят в свинцовый сахар и повторяют все вновь.

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

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

Re: Четыре поколения версий системного мышления



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

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

Системноинженерное мышление коллективно

Системноинженерное мышление коллективно
Ещё одной особенностью теоретической основы системной инженерии является то, что она должна учитывать коллективный характер человеческой деятельности. То есть понятие "система" каким-то образом должно быть увязано с другими понятиями, имеющимися в инженерном проекте -- это явно не понятие "система" в безлюдном мире типа мира естественных наук. Нет, системноинженерное мышление должно учитывать существование людей, оно должно облегчать согласование многочисленных людских интересов по поводу создания успешных систем, должно облегчать коллективную работу. Это означает, что в основе системноинженерного мышления должно быть целостное представление о человеческой деятельности (т.е. повторяющихся, типовых, присутствующих в культуре способах достижения цели -- отдельное уникальное "действие" ведь "деятельностью" не назовут) по созданию успешных систем. Системноинженерное мышление должно помогать размышлять не только о собственно целевой системе инженерного проекта (подводной лодке, компьютере, атомной электростанции, медицинском приборе), но и о системе деятельности ("проекте", обеспечивающей системе), которая создаёт эту целевую систему. Тем самым в основании системноинженерного мышления лежат:

● Системный подход (как думать о системах)
● Ситуационная инженерия методов (как думать о деятельности)

Как описывать инженерную деятельность

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

Описанием инженерной деятельности занимаются в рамках дисциплины "ситуационная инженерия методов". Она была основана идеологами объект-ориентированного движения, которые задали два основных структурированных (ибо неструктурированные в форме "просто книжки" никто не отменял) вида описания своих способов работы:

● использование "языков паттернов" (ищутся некоторые "паттерны" -- неформально определяемые способы решения задач, при этом каждый паттерн описывается по заранее известному шаблону, в который обычно входит описание проблемы и типовой способ её решения). Ассорти ссылок про языки паттернов тут:
http://ailev.livejournal.com/487783.html.

Паттерны -- это чистой воды эвристики, никаких попыток выйти на какие-то более-менее формальные "языки паттернов" не делалось. Само слово "язык" в
словосочетании "язык паттернов" используется неформально (просто чтобы указать на то, что в проекте используются разные паттерны в разных сочетаниях, как слова из какого-то языка).

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

Описание метода в настоящем курсе системноинженерног

Настоящий курс системноинженерного мышления будет использовать адаптированный (существенно упрощённый, изменённый для работы с системноинженерными, а не софтверными проектами, а также переведённый на русский язык) стандарт OMG Essence. Этот стандарт разработан в рамках
инициативы SEMAT (http://semat.org).

Утверждение его происходит в консорциуме по стандартизации OMG (Object Management Group, http://www.omg.org).

Адаптация для системной инженерии проводилась TechInvestLab (http://techinvestlab.ru).

Обсуждение этой адаптации и перевода на русский язык проходило на заседаниях Русского отделения INCOSE (http://incose_ru.livejournal.com).


Схема - диаграмма - онтология


Система

Это схема инженерного проекта, она же диаграмма альф инженерного проекта, она же диаграмма основ системной инженерии (systems engineering essence, от OMG Essence -- "основа", имени стандарта, где подобная диаграмма была предложена), она же диаграмма инженерной деятельности, она же онтология инженерного проекта.

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

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

Что мы обсуждаем по диаграмме альф инженерного проекта:

● О чём в проекте нельзя забывать
● Где границы инженерного проекта, отделяющие его от других проектов
● Кто в проекте за что ответственен
● Какие максимальные риски, которые на себя может взять команда и её отдельные члены
● В каком состоянии сейчас проект, что уже сделано и что нужно ещё сделать для получения успешной системы
● ... многое другое, ибо эта диаграмма отражает основные изменяющиеся в ходе проекта сущности и основные связи этих сущностей.

Рекомендуется эту диаграмму распечатать как плакат и повесить на стенку в том помещении, где работают системные инженеры. Это должно гарантировать, что при размышлениях о "воплощении системы" не будут забыты "стейкхолдеры", при обсуждении "команды" не будут забыты "технологии" и т.д.: схема задаёт некоторую мыслительную конструкцию, которой необходимо следовать в рассуждениях. Это не теория, использование данной схемы должно быть практикой.

Альфы -- это функциональные (выполняющие определённую функцию, играющие определённую роль, идеальные) объекты, по которым мы судим о продвижении (progress, "как много мы уже сделали?") и здоровье (health, "в проекте всё идёт хорошо") проекта. Альфы -- это абстракция того же сорта, какого "физическое тело" является абстракцией реальных физических объектов (да, это физическое тело имеет массу, а геометрическая точка имеет координаты.

Но мы связываем физические тела и математические точки как идеальные объекты с реальными объектами, и после надлежащего тренинга "склеиваем" в мышлении идеальные и реальные объекты. Поэтому об экземплярах альф в проекте принято говорить так, как будто они вполне реальны и существуют в мире, несмотря на все абстракции.

Альфы фиксируют компактное описание мира/теорию, удобную для решения каких-то практических проблем. Это нужно, чтобы иметь возможность повторно использовать известные нам способы рассуждений и решения задач для самых разных объектов. Так, мы думаем о "физическом теле" и "математических точках" единообразно, "как в учебниках физики и геометрии", а применимо это мышление к самым разным "реальным объектам вокруг нас" -- от летящей после удара ногой болонки до крутящегося по марсианской орбите космического корабля. В этой экономии мышления (учимся думать один раз, затем похоже думаем в самых разных ситуациях) и заключается смысл разделения альф и рабочих продуктов.

Например, учимся думать о "требованиях" -- а применяем потом это мышление к конкретным рабочим продуктам, которые можно найти на производстве "в реале": спецификациям требований, требованиям из текстов стандартов, user stories на карточках, записям в базе данных системы управления требованиями и т.д..

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

Формально ALPHA это Abstract-Level Progress Health Attribute, но неформально это просто "идеальный рабочий продукт", названный "альфой" для уменьшения путаницы с "реальными рабочими продуктами" и аббревиатура для него была подобрана задним числом. Альфы -- это то, что изменяется в проекте, и изменения чего мы хотим понимать, отслеживать, обеспечивать, направлять, контролировать.

Экономия мышления через альфу

Экономия мышления заключается в том, что часто одна альфа представляет до десятка разных рабочих продуктов. Обсуждение и мышление тем самым ведётся только для одного объекта, и только при разбирательстве с какими-то конкретными деталями вытаскиваются отдельные рабочие продукты.

Например, "воплощение системы готово к проведению пуско-наладочных работ?" -- в то же время доказательство готовности воплощения системы к пуско-наладочным работам может быть разбросано (кроме факта наличия самих рабочих продуктов, представляющих воплощение системы "в металле") по десяткам разных рабочих продуктов: документов типа актов сдачи работ различными подрядчиками, актов предварительных испытаний, писем контрагентов, записей в базах данных систем управления активами предприятия, сообщений о наличии расходных материалов и т.д.

Альфы обозначаются значком, напоминающим альфу (в диаграмме Основ системной инженерии именно эти значки), со вписанным названием альфы.

?

Log in

No account? Create an account