Я посвящаю эту книгу своей жене. И хочу, чтобы ее когда-нибудь прочитала моя дочь. Без них этого труда, как и большинства моих мыслей и чувств, никогда бы не было.
Чему посвящена эта книга?
Конструированию сложных систем и реализации проектов – и всему, что с этим связано.
Способам целеполагания, точному и вероятностному планированию, созданию команды и анализу своих действий. А также многому другому.
Что Вы здесь встретите?
• Основные понятия, подходы и примеры из теории систем, теории целеполагания, теории кризисов и катастроф, теории принятия решений, пропущенные через призму практической деятельности автора.
• Рекомендации, как делать можно. И как не нужно!
• Размышления, почему мир так нелогичен и несправедлив и как его исправить по отношению к своему проекту (и самому себе любимому, разумеется).
• И гипотезы автора – не все из них являются проверенными с использованием статистических и/или аналитических подходов, но я буду рад их обсудить, ведь в споре рождается истина, ведь так?
Чего Вы здесь не найдете?
• Сложных формул. Простые будут – куда уж без них!
• Непонятных определений. Все определения будут даваться на примерах.
• Выражений типа «это очевидно» и «это тривиально». Как показывает практика, за этими словосочетаниями скрывается непонимание самим рассказчиком сути предмета.
В общем, работать будем по Ричарду Фейнману.
Интересный был человек: Нобелевский лауреат, ведущий физик-ядерщик, художник, участник бразильских карнавалов, профессиональный взломщик сейфов.
Главное, человек, не понимающий, какое отношение к науке имеет скука.
Процитируем его перед началом нашего курса (точнее уж, его первую жену Арлин):
Не все ли равно, что думают другие?
Из одной системы нам еще долго не выбраться – из Солнечной.
Станислав Ежи Лец, польский поэт, философ и сатирик
Основой нашего курса, как уже говорилось, является теория систем и системного анализа. Поэтому вначале, хотим мы того или нет, требуется дать базовые понятия и определения.
Теорию систем и системный анализ возможно назвать прямыми наследниками философии.
Так же, как философы, специалисты в области системного анализа изучают взаимосвязи и образы функционирования всего.
Ярким примером является тематика диссертаций по этой специальности. Это:
• Вопросы построения социокибернетических систем управления государствами.
• Системные способы кормления рогатого скота.
• Анализ структуры систем защиты информации.
• Анализ системных подходов в беспилотном транспорте. В частности, автору принадлежит честь являться доктором наук именно в области, связанной с шаблонами создания беспилотной наземной техники.
Тем не менее вопросы системного анализа имеют значительно бо́льшую практическую ориентированность, чем только философскую. Так, теория систем лежит в основе:
• методологий проектного управления;
• макроэкономических расчетов;
• методик тайм-менеджмента;
• подходов оптимального конструирования;
• способов бизнес-целеполагания;
• и (это мне еще вспомнят последователи Альтшуллера!) теории решения изобретательских задач.
Достаточно сказать, что крупнейшее аналитическое агентство США, составляющее абсолютно ВСЕ прогнозы для правительства и крупнейших промышленных структур – RAND Corporation, – исторически является одним из крупнейших в мире центров системного анализа.
RAND дал человечеству множество уникальных открытий – от первых систем машинного перевода до теории игр и основ стратегической доктрины ядерного сдерживания США.
Тот же Джон Нэш (его блестяще сыграл Рассел Кроу в оскароносных «Играх Разума») работал именно в RAND.
С Альфой, откуда пошла теория систем, мы разобрались. Омега же – для чего существует эта наука и одновременно ее собственная цель – отражена в ее полном названии «General System Theory and System Analysis» (теория систем и системный анализ).
Анализ систем, ради чего, в каком виде и каким образом существуют различные системы, – вот то, что изучают специалисты-системщики. Это тот базовый аппарат, который будем использовать и мы.
Что положило начало нашим исследованиям, мы выяснили. К чему мы хотим прийти – будем считать, что тоже.
Осталось внести ясность в базовую терминологию, и дальше уже пойдет легче (ведь правда, правда пойдет?).
Итак, само слово система возникло, как и другие вечные термины, в Древней Греции в V веке до н. э. и означало сочетание, организм, устройство, организацию, строй, союз. Но не будем углубляться в историю!
Мы (и значительное количество системных аналитиков) под общим определением системы понимаем множество элементов, находящихся в связях друг с другом, которое образует некую структуру c несколькими возможными состояниями и имеет единственную цель существования в каждом аспекте своего рассмотрения.
Отсюда проистекают несколько других сущностей, которые также нужно определить. Ну извините, придется немного потерпеть – все-таки это глава терминологического введения!
Итак:
• Элемент – это простейшая неделимая часть системы. Ее атом, если угодно.
• Связь – любой способ взаимодействия между элементами: материальный, энергетический, информационный, логический.
• Структура – расположение, порядок, строение, топология элементов.
• Состояние – множество существенных свойств, которым система обладает в данный момент времени.
• Поведение – способность системы переходить из одного состояния в другое и эффекты, связанные с данным переходом.
• Внешняя среда – то, что окружает систему.
И наконец, два последних, самых важных определения: Аспект и Цель.
Каждая система может рассматриваться с различных точек зрения. Человек, например, это и трудовая единица, и биологический организм, и мыслящая сущность. Компьютер – и набор микросхем, и платформа для исполнения команд, и предмет обихода. Общество – и субъект экономического рассмотрения, и совокупность индивидов, и историческая единица.
Аспект – то, с какой стороны рассматривается система.
Цель – РАДИ ЧЕГО система осуществляет свое существование в данном Аспекте рассмотрения.
Я уложил все системы в одну фразу, и всю жизнь – в один афоризм.
Оскар Уайльд
Сам термин система является достаточно многозначным, его смысловые оттенки варьируются в зависимости от смысла задачи и требований к детализации самого термина.
Приведем далее (по мере увеличения специализированности формулировок) три класса типичных определений понятия система с использованием аппарата математической (или аналитической) формализации.
Для простоты здесь и далее тип определения будем обозначать через DN, где D – сокращение от definition; N – количество факторов, учитываемых в определении.
Определения данного типа применимы к практически произвольного вида системам, начиная от жилого здания и кончая космической станцией.
Система есть нечто целое:
S = A(1,0).
Данное определение выражает факт существования и целостность системы. Двоичное суждение A(1,0) отображает наличие или отсутствие данных качеств.
Система есть организованное множество:
S = (org,M),
где org – оператор организации; М – целевое множество.
Система есть множество вещей, свойств и отношений:
S = (m,n,r),
где m – вещи, n – свойства, r – отношения.
Определения данного типа уже обеспечивают возможность некоторого аналитического анализа, например топологического (формы, структуры – в D4) и аппаратом ТАУ (теории автоматического управления) в D5.
Примерами таких систем являются живая клетка, радиосигнал, трансмиссия автомобиля. Итак:
Система есть множество элементов, образующих структуру и обеспечивающих определенное поведение в условиях окружающей среды.
S = (е, ST, BE, E),
где е – элементы системы, ST – структура системы, BE – ее поведение, E – окружающая среда.
Система есть множество входов, множество выходов, множество состояний, характеризуемых оператором перехода и оператором выходов:
S = (X, Y, Z, H, ),
где X – входы, Y – выходы, Z – состояния, H – оператор входов, G – оператор выходов.
Усложненная D5, дополненная фактором времени и функциональными связями:
S = (T, X, Y, Z, H, G, κ, ϕ),
где X – входы, Y – выходы, Z – состояния, H – оператор входов, G – оператор выходов, κ – функциональная связь в уравнении y(t2) = k(x(t1), z(t1), t2), ϕ – функциональная связь в уравнении z(t2) = phi(x(t1), z(t1), t2).
Начиная с данного уровня детализации, определение системы сложно сформулировать в виде законченной фразы на естественном языке. Определения сложности 6 и выше в основном используются для описания специализированных систем и особенностей их функционирования.
D6 хорошо подходит для описания биологических и квазибиологических (т. е. подобных биологическим) систем:
S = (GN, KD, MB, EV, FC, RP),
где GN – генофонд системы, KD – граничные и комфортные условия существования, MB – обменные процессы, EV – процессы развития (модификации) системы, FC – способы (методы) функционирования, RP – возможные функции репродукции.
D7 используется в частности в моделях искусственного интеллекта (в нейрокибернетических исследованиях) и формализуется следующим образом:
S = (F, SL, R, FL, FO, LP, RE),
где F – тип выбранной модели представления, SL – структура связей (link structure), R – матрица вероятностей переходов, FL – совокупностей способностей (функций – learning functions) самообучения, FO – совокупностей способностей (функций – organization functions) самоорганизации, LP – проводимости связей (link performance), RE – правила возбуждения моделей (rules of excitation).
Определение, адаптированное для организационных систем, например отдельных проектных групп или целых организаций:
S = (PL, RO, RI, EX, PR, TD, SV, CR, EF),
где PL – цели и планы (planning), RO – внешние ресурсы (outer resources), RI – внутренние ресурсы (inner resources), EX – исполнители (executioners), PR – процессы (processes), TD – временные задержки (time delays), SV – способы мониторинга (supervision), CR – способы управления (control routines), EF – генерируемые системой эффекты – сущности, события (effects).
Те, кто могут что-то в подробностях представить, способны сотворить невозможное.
Алан Тьюринг, английский математик, отец-основатель кибернетики
Как мы определили в прошлой главе, у каждой системы есть единственная цель. Методологиям правильного определения этой цели посвящена данная глава.
Аббревиатура S.M.A.R.T. используется в различных областях человеческой деятельности. Когда вбиваешь ее в любой поисковик, чаще всего сначала выходит механизм самодиагностики жестких дисков (которые «винчестеры» – не путать с дробовиками!).
Нас же эта аббревиатура интересует с более (для нас) прикладной точки зрения. Это гениальный, универсальный и обладающий огромным потенциалом развития механизм целеполагания.
Да, именно так. Методология S.M.A.R.T. применительно к задачам бизнес-целеполагания и системного анализа была изобретена в 1981 году Джорджем Дораном, Артуром Миллером и Джеймсом Каннингэмом (George Doran, Arthur Miller, James Cunningham: «There’s a S.M.A.R.T. way to write management goals and objectives»).
Лучшее объяснение – всегда на понятном примере. Методология S.M.A.R.T. свидетельствует о том, что цель должна быть (на примере проекта – нас же интересуют именно они, верно?) следующей.
• S. – Specific – конкретной и единственной.
• M. – Measurable – измеримой: что вы хотите получить в результате в килограммах, рублях, клиентах или автомашинах.
• A. – Achievable – достижимой. Ведь мы все – от конкретного человека до государства – любим ставить себе недостижимые цели? От «с Нового года похудею на двадцать килограммов» до «к 2050 году перегоним Китай по плотности населения». Животные, кстати, в этом умнее нас: они планируют только то, на что реально способны.
• R. – Relevant – цель должна быть релевантной, нужной. Например, можно поставить себе цель стать мастером спорта по шахматам через десять лет. Но спросите себя – зачем?
• T. – Timely – время на достижение цели должно быть лимитировано и не соответствовать поговорке «Или ишак сдохнет, или падишах умрет». Когда у нас закончатся периоды точного (не стратегического, оно должно быть обязательно, а с постоянным увеличением точных показателей каждый год) планирования на десять лет вперед, мы обязательно всех победим. В перспективе. Ближайшей.
Да, про шахматы на десять лет вперед тоже не нужно загадывать. На себе проверено – бесполезно!
Ура! Мы можем дать нормальное, формализованное введение нашей книге. И все благодаря рассмотренной нами концепции S.M.A.R.T. (кстати, smart в переводе с английского означает не только умный и умелый, но и «страдания» – смотря как Вы к этой методологии будете подходить).
Итак, чему же учит наша книга, в чем ее цель?
S-Specific. Отражать в Ваших проектах то, что Вам нужно, и так, как Вы считаете нужным.
M-Measurable. Количество сил и средств, потраченных на формулирование, реализацию и сдачу.
A-Achievable. Да, если Вы хотите. Если же нет – о чем нам говорить?
R-Relevant. Время – основная универсальная валюта. Ваше время (теоретически) для Вас должно быть особенно дорого. И сколько Вы его потратили (трудоемкость), и на сколько Вам его уменьшили (нервы). Разве это не так?)
T-Timely. В итоге у нас получится 11—12 лекций. Это меньше трех месяцев. Компактный, понятный, ограниченный срок.
В следующих главах мы рассмотрим с Вами особенности и подходы к самому процессу проектирования – достижению выбранной цели. Сейчас достаточно сказать, что в том случае, когда цели меняются с течением времени, необходимо закладывать саму возможность данного процесса изменения в структуру целеполагания.
Автором было предложено расширение методологии S.M.A.R.T., обеспечивающее учет такого свойства целей современных проектов, как постоянная изменчивость (эволюционность), необходимость разделения функционала проекта на мелкие независимые (атомарные) функции и, наконец, ограниченность имеющихся ресурсов.
Результатам стала методология S.M.A.R.T.E.S.T.= S.M.A.R.T.+
• E – Evolution. Цель проекта меняется со временем.
Неважно, вы проектируете по Agile, изменяют техническое задание по окончании этапа проектирования либо изменились предпочтения целевой аудитории вашего продукта.
• S – Set of functions. Цель может быть достигнута путем решения (параллельного, последовательного или комбинированного – это не так важно) ряда задач. Каждая из этих задач должна являться атомарной – относительно простой и независимой от других.
Примерами здесь является проектирование любой программной библиотеки или – внезапно – диссертации: кандидатской или докторской. Собственно, написание которых и натолкнуло на формулирование данного элемента целеполагания.
• T – Tolerance limits. Достаточно очевидное, казалось бы, расширение. Действительно, уже в оригинальном SMART мы ставим ограничение на время, но почему-то не на другие ресурсы.
А ведь мы всегда ограничены деньгами, трудовыми единицами, доступными рынками… В общем, в процессе корректного целеполагания необходимо максимально трезво представлять себе ограничения, с которыми Вы можете столкнуться. Да, они могут меняться со временем, но на то разработанная методология и ориентирована – на эволюционные цели.
Если Вы думаете, что понимаете квантовую механику, значит, Вы не понимаете квантовую механику.
Ричард Фейнман, Нобелевский лауреат, физик-ядерщик
S.M.A.R.T. – изначально методика для менеджеров, которые не должны и не могут разбираться в сложных технических аспектах любого современного продукта.
Когда же мы говорим о разработке какого-то программного обеспечения, каких-то изделий, то желательно использовать более сложные и конкретные методики, интегрирующие в себе не только целеполагание, но и способы проверки степени достижения поставленной цели в каждый момент времени. К счастью, в восьмидесятые годы в NASA была разработана прекрасная методика, позволяющая гибко объединять вопросы и KPI в самом процессе целеполагания, а затем и оценивания итогового проекта.
Речь идет о созданной Виктором Басили (Victor Basili) методике отказоустойчивого проектирования под названием GQM – Goal, Question, Metric (цель, вопрос, оценка). Данная методика имеет три уровня – страты существования.
1. Концептуальный – целевой (goal) уровень.
На этом уровне формируется цель, представляющая собой вещественный объект или абстрактную сущность (object or entity в оригинале), при этом в качестве данного объекта или сущности могут рассматриваться:
o продукты (products): программный код, физическое изделие, теоретическая концепция и т. д.;
o процессы (processes): тестирования, верификации и валидации программного кода; дизайна изделий; налаживания сбыта и проч.;
o ресурсы (resources): материальные, финансовые, информационные, трудовые и проч.
2. Операционный уровень – уровень вопросов (questions).
На данном уровне появляются вопросы, которые должны быть заданы, чтобы четко определить цель.
Примеры удачных вопросов для различных видов целей.
o Является ли производительность данного (конкретного) процесса достаточно удовлетворительной с точки зрения команды?
o Ухудшается ли точность станка со временем?
o Будет ли лучше безопасность рестайлинга автомобиля?
3. Квантитативный уровень – уровень метрик (metrics). Здесь определяются метрики – способы определения количественных оценок на каждый заданный вопрос. Метрики делятся на два типа – объективные и субъективные.
Примеры объективных метрик:
• количество линий кода;
• процент отказов;
• максимальная длина пути на одной заправке.
Примеры субъективных метрик:
• удовлетворенность клиентов по 10-балльной шкале;
• аккуратность вождения по 5-балльной шкале;
• относительное улучшение самочувствия после лечения.
Важно!
Уровни GQM определяются последовательно – сверху вниз, от целей к вопросам, а затем к определяющим их метрикам.
При этом цели должны соответствовать от двух до пяти вопросов, для каждого из которых целесообразно определять от двух до пяти метрик.
Определяемая в GQM цель представляет собой векторную сущность, состоящую из пяти элементов.
• Object: объект целеполагания. То, что создается (изучается), – продукт или процесс. Например, программный код или автомобиль.
• Purpose: назначение исследования. Для чего проводится GQM-анализ – для целей лучшего понимания свойств объекта, для его сравнения с аналогами, для определения его эффективности и проч.
• Quality Focus: акцент исследования. Какое конкретно свойство (совокупность свойств) объекта должно рассматриваться – например цена, надежность и проч.
• Viewpoint: аспект рассмотрения. С чьей точки зрения должны быть получены ответы на вопросы исследования, кто интерпретирует результаты исследования, например менеджер, команда или клиенты.
• Environment: внешняя среда, контекст рассмотрения. В каких условиях рассматривается объект целеполагания, какие внешние факторы являются существенными для процесса его исследования: например рынок России или развертывание производства в старых цехах.