вторник, 7 января 2020 г.

Управление продуктом: команда, методы, практики (вер.01 07.01.20). Пакет 2.

Глава 5. В которой Лидия знакомится с целеполаганием, замыслом и функцией целевой системы.

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

"Прежде, чем мы разберемся с тем, что такое неопределенность, давайте поймем, а что такое решение вообще?" - Викрам взглянул на нее с легкой иронией. Лидия откусила печеньку, запила чаем и задумалась. Интуитивно все было понятно, но четкая формулировка ей в голову не приходила. "Хорошо, давай свой вариант", - сдалась она секунд через десять размышлений. "Решением может называться как сам процесс так и результат выбора цели и способа действий. Фон Нейман называл решением акт выбора из заданного набора альтернатив по заданному критерию. Я обычно говорю, что решение заключается в выборе или корректировке цели, оценке ее достижимости и выборе такого курса действий, который вызывает наименьшее противодействие со стороны стейкхолдеров. Другими словами, решение не то, чтобы должно полностью удовлетворять интересы, оно скорее должно подходить им, не вызывать отторжения. Стейкхолдеры не должны быть довольны решением, хорошее решение - это всего лишь приемлемое решение". "Ты знаешь, по такому критерию в Any Corp просто гении принятия решений, у нас любое решение компромиссное настолько, что из него вся суть уходит". "Решение без жертвы решением не является, мы об этом говорили, когда обсуждали развилки. Хорошо, уточню этот момент отдельно. 

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

Другими словами, не должно быть ситуации 'девочка, ты хочешь гулять и мороженное или тебя в угол поставить?' Альтернативы должны находиться на пространстве выборов, где мы ухудшаем одни характеристики за счет других. Если можно улучшить обе характеристики, надо просто их улучшить. Чтобы начать правильно думать о развилках и пространстве выборов, надо понять, что такое прагматическое мышление и факт-событийная модель мира. Но для этого надо перевернуть обычные представления о том, что такое факт, объект, событие и начать смотреть на мир совсем иначе. Чтобы понимать, что такое альтернативы, надо научиться видеть такую штуку как поток. 

Поток (flow, stream) - пространственно-временная структура составного объекта, для которого справедливо следующее:
- у каждой части этого составного объекта есть начальное и целевое состояние 
- все преобразования между начальным и конечным состоянием непрерывно происходят в границах этой пространственно-временной структуры
- составной объект и все его части полностью входят в область обсуждения без исключений.
Примеры: движение поезда Сапсан 752/761 (один и тот же подвижной состав), калиево-натриевый насос, поток материалов и автокомпонентов при проектировании и производстве автомобиля, покупательская петля в торговом зале магазина.
Контрпримеры: обмен товарно-транспортными накладными между организациями, передача данных между ИТ-системами, движение балки моста под нагрузкой.

Как видите, чтобы понять, что такое поток, надо понять, что такое объект, что такое состояние объекта и как все это связано с поведением объекта, его свойствами. Вообще, с объектами дело обстоит все не так просто, как кажется. Не такое это простое дело - найти правильный объект".
Викрам подошел к своему столу, достал из рюкзака блистер с таблетками и спросил Лидию: "Какой это объект?" "Таблетка, блистер, упаковка. Тут их три, они вложены друг в друга, таблетка является частью блистера, блистер является частью упаковки", - быстро ответила Лидия. "Типично менеджерский взгляд, - Викрам получил ожидаемый ответ и дальше он шел на автомате. - Конечно, он верный. И в самом деле тут есть объект таблетка и производные от него. Но это выделение объекта-как-модуля, логистический и производственный аспект выделения объектов. Менеджерам важно учитывать изготовление и отгрузку, а для этого нужно выделять объекты-как-модули. Но вот какой объект здесь увидит врач или бактериолог?" Лидия задумалась на пару секунд и выдала: "Доза, дозировка". "Да, врач увидит здесь другой объект - разовую дозу и курсовую дозу лекарства. Это выделение объектов-как-компонентов. Выделять объекты-как-компоненты обычно намного сложнее, в школе нас этому не учат. Все легко видят такие объекты как отель, самолет, магазин или навигатор, и могут легко сказать про свойства и возможные состояния этих объектов. Мы легко представляем себе жизненный цикл самолета или отеля, канал Дискавери нам в помощь. Но мы не обращаем особого внимания на набор состояний заполненного номера и не можем с ходу сказать какие свойства у него есть. То же самое с посадочным местом в самолете, клиентским визитом в магазин или парикмахерскую или с поездкой по навигатору. Компоненты увидеть намного сложнее, чем модули. Хотя бы потому, что компоненты существуют только во время использования системы, а модули как часть потока появляются намного раньше, в стадии изготовления. Из-за важности и сложности выделения компонент в хорошем методе принципам выделения и компонент и модулей уделяется много внимания. Если вернуться к таблеткам, то можно подметить интересный факт - именно компонентное выделение объектов по большей части определяет модульность. То есть сколько будет в таблетке действующего вещества, сколько таблеток в упаковке - все эти решения проектировщиком принимаются прежде всего исходя из того, для чего и как будет использоваться лекарство. Но пример с лекарством еще достаточно простой, а вот если взять бактерию, то ситуация станет сложнее. У бактерий как объектов есть свойство устойчивости к антибиотикам. То есть некоторые антибиотики вообще никак не влияют на жизнедеятельность некоторых штаммов бактерий, хотя другие штаммы той же самой бактерии от этого антибиотика погибают. Интересно тут то, как у бактерии появляется устойчивость к антибиотикам. Вначале появляется одна-единственная бактерия, которая устойчива к лекарству. А затем в штамме происходит горизонтальный перенос генов устойчивости и вот через какое-то небольшое время уже весь штамм становится устойчив к лекарству, оно перестает на него действовать. Другими словами, когда мы подбираем лекарство для лечения или проектируем антибиотик, то объектом у нас выступает не бактерия, а штамм". "Это терминологические тонкости, которые никак не влияют на наши действия", - Лидия была скептична. "Смотрите, одним из механизмов защиты бактерий от лекарства может быть закрытие колонии защитной пленкой. Колония просто закрывает себя куполом и лекарство не может добраться до бактерий. Этого свойства у отдельной бактерии нет, оно появляется только у штамма. Так что правильный выбор объекта крайне важен. В начале проекта системные инженеры довольно много времени тратят на формирование наиболее подходящего набора объектов в области обсуждения, потому что правильный выбор объекта во многом определяет ход мысли. В особенности сложно дело обстоит с проектами НИОКР. Там вообще бывает непонятно, какой объект мы изучаем, его зачастую приходится конструировать в ходе исследования. Для этого исследователи создают новые понятия, которые могут описать объект и его свойства, и затем проверяют верность такой концептуализации. В качестве нейтрального примера приведу пример с витамином С и цингой. Витамины как концепт открыли чуть больше ста лет назад, хотя про их действие, про их характеристики, знали еще в 15 веке".

Викрам достал телефон, что-то искал несколько секунд и включил личного помощника, который стал зачитывать найденный Викрамом текст: "Как люди 500 лет умирали от цинги, при этом владея знаниями, как лечить эту болезнь.
В 1500 году до н.э. египтяне знали, что если будешь есть печень, то будешь лучше видеть в темноте. Они не подозревали про существование витамина А, но уже понимали как он действует. Точно также европейцы в 1400-х годах не подозревали про существование витамина С, но знали, что свежая еда и цитрусовые предотвращают появление цинги.
Но дальше произошло то, что можно было бы назвать комедией ошибок, над которой не особо посмеешься. Европейцы, которые вообще-то считают себя довольно умным народом, по меньшей мере семь раз забыли и переоткрыли этот секрет борьбы со страшной болезнью, которая унесла жизни более миллиона моряков, больше, чем погибло во всех морских сражениях за тот же самый период. А ведь цинга  бушевала и на суше, в осажденных крепостях, тюрьмах, удаленных поселках. Васко де Гама, первооткрыватель Индии, а затем Губернатор Португальской Индии и вице-король Индии, из-за цинги потерял 100 человек своей экспедиции из 160.
Почему же европейцы, которые знали как лечить цингу в 1400-х, переоткрывали это знание в 1593, 1614, 1707, 1734, 1747, 1794, пока, наконец, в 1904 году не выяснили все окончательно? Ответ простой - плохая коммуникация и неважное состояние науки.
Люди - это одни из немногих животных, организм которых не вырабатывает витамин С. Но при нормальном питании мы получаем его в достатке с пищей, и его запаса в организме хватает на 4 недели. Если мы будем только тратить запасы, например, питаться только консервами и макаронами, то через 4 недели может начаться цинга. Тонкость здесь заключается в том, что витамин С разрушается при высокой температуре, например, при готовке и на открытом воздухе, так что в обработанной еде или в еде, которая долго хранилась, вы его не обнаружите. В 1400-х годах итальянские моряки знали, что цитрусовые фрукты предотвращают появление цинги, а португальские моряки даже выращивали апельсиновые деревья на островах, которые лежали вдоль морских путей, но это знание было впоследствие утрачено.
Но что же случилось с повторными открытиями этого знания в 1593, 1614, 1707 и далее? Ведь цинга уносила жизни еще сотни лет подряд? Почему великие державы потеряли 1,000,000 подготовленных моряков от этой болезни, все время владея простым и доступным секретом ее лечения? Открытия 1593-1794 были просто проигнорированы, потому что шли вразрез с общепринятым тогда представлением, что цинга вызывалась “внутренним гнилостным разложением, вызванным плохим пищеварением”. Да, я думаю, мало у кого хорошо пахло изо рта в то время, в эту идею было легко поверить. Британский флот в начале 19 века использовал лимоны для профилактики и лечения цинги, но это знание было утрачено в 1867 году, когда лимоны заменили соком лаймов. Сок - это обработанный фрукт, а если его еще подержать в тепле и на свету, и хранить в медных трубках, то витамина С в нем почти не останется. Но утрата соком лаймов лечебных свойств прошла незамеченной потому что корабли стали быстрее, плавания стали короче, питание на суше получше, и моряки просто не успевали потерять накопленные в организме запасы. Кто-то в снабжении, наверное, получил премию и звездочку за оптимизацию, а флот приобрел скрытую проблему. В длительных морских походах моряки продолжали умирали от цинги, и сок лаймов не спасал. И тогда выдвинули новую теорию, которая говорила, что цинга вызывается пищевым отравлением из-за некачественной пайки консервных банок, а некоторые даже говорили что причиной цинги был упадок боевого духа или плохая гигиена.
В 1907 году провели эксперименты на морских свинках. Это был удачный выбор подопытного животного, они точно также как и люди не вырабатывают витамин С в организме и поэтому у них может развиться цинга. И когда обнаружился факт, что свежая еда спасет от цинги, идея, наконец, прилипла и овладела общественностью. Мы все теперь знаем, что надо есть свежую пищу и пить витамин С. Цинга причинила огромное количество страданий, унесла множество жизней, и привела к огромным последствиям для человечества, потому что трудно ожидать милосердия к туземцам от команды моряков, у которых половина товарищей умерла на их глазах в страшных мучениях. И что печально, все это время люди владели знаниями по тому, как легко и просто лечить эту болезнь.
Что интересно, Петр 1 при создании морского флота организовал поставку лимонов и апельсинов с юга Европы, хотя обеспечение флота клюквой по американскому примеру или квашенной капустой по немецкому могло решить проблему гораздо проще. В 1932 году за окончательное доказательство того, что цинга вызывается недостатком витамина С, дали Нобелевскую премию."

"В наших проектах ничуть не лучше, - сказала Лидия и усмехнулась. - Мы тоже все время повторно открываем уже имеющиеся знания".
Викрам улыбнулся и продолжил рассуждение. "Опять-таки, налицо были факты - симптомы цинги, плохое питание, но если в голове нет понятия о витамине С, то эти факты между собой никак не связаны. А если они не связаны, то нельзя сделать ничего полезного, того, что предотвратило бы цингу. Связь между понятиями идет либо через эмпирики типа той, что лимоны спасают от цинги, либо через объекты, понятия, концепции, типа той, за которую дали Нобелевскую премию по медицине в 1932. Витамин С - это понятие, который связывает причинно-следственной связью дефицит этого витамина в организме с проявлениями цинги. Если у вас есть такое понятие, вы можете не просто пользоваться эмпириками, вам не надо как Петру 1 везти апельсины из Италии для Балтийского флота за бешенные деньги, вы можете просто дать им квашенной капусты или клюквы да даже простого картофеля, потому что понятие витамина привязано к целой группе объектов, к пространственно-временной структуре, экстенту. Ваше мышление дисциплинируется, появляется переносимая между различными ситуациями логика планирования и действий. Вам не нужны знания того, как действовать в конкретной ситуации с заранее известными объектами, вам не нужны эмпирики, вы их создаете по месту и по необходимости из понятий. Понятия и логика связей между ними собирают в себе факты, но они же позволяют вычислить другие возможные факты и понять последствия действий. Другими словами, системные инженеры не просто используют какие-то концепты для решения задач, они всегда измеряют корректность использования концепта, делают его операционализацию через какой-то измеримый операнд. Например, корректное применение концепта витамина С очевидно должно снижать количество случаев заболеваемости цингой. Применение концепции вакцинации должно снижать количество заболеваний и особенно количество эпидемий. Применение концепции социальных сетей должно увеличивать количество слабых связей между людьми. Это все и есть операционализация понятий, перевод абстракций в численно измеримые факты". 

"Знание немногих принципов освобождает от знания многих фактов? Так?" - Лидия улыбнулась. Сейчас все всё знают, вопрос не в знаниях, а в умении применять концепции к реальной жизни, строить модели. Под моделью я подразумеваю структуру, которая описывает область обсуждения. Модель состоит из концептуальной схемы (структуры фактов) и набора базовых фактов, относящихся к области обсуждения. Но мало построить модель, надо потом еще и действовать в соответствии с тем, что эта модель предсказывает. У людей это плохо получается, даже в тех случаях, когда модели общепризнаны, как, например, схемы сбалансированного питания и соблюдение режима физической активности. Мы в массе своей не применяем эти самые общепризнанные истины в реальной жизни. Мы плохо и нерегулярно питаемся и мало двигаемся. Что уж говорить о сложных моделях, которые заложены в управлении проектами или управлении рисками, их понять еще сложнее, а следствия их применения к реальным проектам еще менее приятные, чем в случае с диетой и физкультурой. Надо ведь признавать ошибочность принятых решений, менять контракты и обязательства, вести крайне неприятные разговоры и принимать трудные решения. Поэтому знать люди знают, но вот применять к своей жизни не спешат. Поэтому скорее речь идет о том, что вначале надо начать правильно действовать, а потом структурировать опыт в правильный метод. В общем, основы андрогогики. Это кадетов можно загнать на 5 лет в военное училище, дать им основы большого метода, потом пять лет службы и загнать 25-летних толковых офицеров в академию, где дать уже метод в полном объеме. И вот тогда, спустя лет 15 подготовки, какой-то существенный процент прошедших такой путь будет владеть методом. Дальше вопрос нагона лидов в эту воронку. Но этот путь не годится для коммерческих компаний, у нас среднее время работы 18 месяцев, мы не можем насаживать метод целиком и сверху. Мы можем его только проращивать снизу и только в том, объеме, который люди считают полезным, нужным и применимым. Взрослые не будут учить то, что считают ненужным. Черт, я когда смотрю статистику по просмотрам на своем канале в YouTube четко понимаю, что у меня есть 15 секунд, чтобы объяснить почему зрителю надо потратить еще 15 минут на просмотр ключевой части объяснения. Дети, по крайней мере у нас, могут годами учить английский или математику потому что так сказали взрослые. Со взрослыми такой трюк уже не прокатывает". Викрам взял полную руку маркеров и стал рисовать на флип-чарте диаграмму и попутно объяснять.

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

Рассуждения и выводы в системном подходе всегда иерархичны и их можно структурировать по пирамиде Минто.
Приведу пример организационно-технического решения. Один из моих первых проектов, еще во время дипломного проекта, была комната для допросов в полицейском участке. Ключевое требование там было с одной стороны возможность записи всех разговоров и наблюдать за интервью, а с другой отсутствие возможности подслушивать разговоры подследственных с адвокатами при выключенной записи. Технически это была простая задача, но вот организационная часть решения получилась не такой простой. Из-за того, что полиция имеет не самую лучшую репутацию, люди просто не верили, что их не подслушивают и отказывались вести разговоры в этом помещении. А конвоирование туда-сюда резко ухудшало ситуацию с загрузкой комнаты для допросов. И тогда мы сыграли ровно на этой вере в коррумпированность полицейских - мы открыли анонимный ящик, на который полицейские могли скинуть доказательства того, что комнату незаконно прослушивают. Кто мог доказать такой факт, получал сумму денег, достаточную, чтобы выйти на пенсию. Логика была такая - если реально можно прослушать, то обязательно найдется такой полицейский, который воспользуется этим призом. Но поскольку такой технической возможности не было, наша ставка была надежной, и при этом мы быстро создали необходимый уровень доверия к нашему варианту решения. Сама комната и оборудование была техническим решением, а анонимный ящик и премия за whistle-blowing организационным решением.
Когда я говорю про научно обоснованный выбор, то подразумеваю постоянное уточнение модели. Например, при наблюдении звездного неба, Луны и Солнца без приборов птолемеевская модель хорошо и точно описывала и предсказывала движение и положение звезд и светил. Но по мере уточнения набора базовых фактов, траекторий движения, эта модель все больше усложнялась до тех пор, пока не стала полностью непрактичной для целей навигации. И тогда ей на смену пришла гелиоцентрическая модель Коперника. В реальном бизнесе такие штуки постоянно случаются с продуктовыми и маркетинговыми гипотезами и в области управления рисками - по мере пополнения набора базовых фактов существующие модели теряют свою предсказательную и описательную силу и нам надо их уточнять.
И тогда мы приходим к идее коллективного мышления и моделирования области обсуждения. И практика коллективного мышления и моделирования требует от нас особого, прагматического общения. В прагматическом общении у нас каждая коммуникация имеет смысл в том плане, что приближает нас к созданию целевой системы. И чтобы обсуждать прагматическое общение, нам нужен семантический треугольник.

Как строятся модели коллективного мышления по достижению общей цели
"Вы замечали, в каких случаях возникают холивары и споры о терминах? Они возникают в тех случаях, когда у людей нет общей цели, нет привязки к конкретному изменению куска мира. Как только людям надо согласовать действия по достижению разделяемой цели, они сразу начинают договариваться. А если цели нет, начинается бесконечное уточнение терминологии, определений, находятся смысловые оттенки, которые вдруг становятся предельно важными. Мы описываем метод для того, чтобы внутри какой-то коллаборации договориться по тому, как мы проектируем и строим определенный класс систем. И при создании метода мы используем прагматический подход. Неважно, что люди думают, важно, что они делают. И если люди в одной и той же ситуации ведут себя одинаково, то можно сказать, что они думают одинаково. Нет различий в действиях - нет различий в мышлении". "Другими словами, метод должен быть привязан к конкретным фактам, которые важны для участников проекта?" "Именно так. Для людей мир есть не совокупность объектов, а совокупность фактов. Но что такое факт? Это просто любое выражение, которое бизнес считает истинным.
То есть у нас есть такой объект, как положение вещей, ситуация. Это положение вещей может быть фактическими обстоятельствами, то есть происходить прямо сейчас, быть актуальным событием. Либо оно может быть каким-то целевым. Проще всего рассматривать положение вещей как какой-то набор событий, где события - это момент создания или появления объекта, перехода его в определенное состояние. Какой-то набор событий характеризует начальное, целевое и промежуточные состояния объекта, которые и образуют поток. 

Область обсуждения - это совокупность конкретных и абстрактных объектов, которые относятся к области реального мира, и которые выбраны в соответствии с интересом, который эти вещи представляют для целевой системы и ее окружения. Другими словами, вот у нас есть целевая система, есть ее окружение - системный контекст, операционный контекст и бизнес-контекст, который еще называют организационным контекстом. Для того, чтобы описать, как мы будет проектировать и строить целевую систему, как она будет работать, с чем взаимодействовать, и какую пользу она принесет организации, которая приобрела эту систему, мы выделяем какой-то набор конкретных объектов в реальном мире и абстрактных, возможных к существованию в области обсуждения объектов. Допустим, если мы строим дом, то даже если мы еще не купили участок, не вырыли котлован и не залили фундамент, мы все равно можем обсуждать строительство дома как будто эти объекты существуют, хотя существуют они только в логическом пространстве конкретного метода. Метод определяет, какие физические и абстрактные объекты будут составлять область обсуждения, universe of discourse и как эти объекты моделируются. Все это делается для того, чтобы все люди занимались логически обоснованной, полезной работой. А то часто подходишь к человеку, начинаешь разбираться, чем он занят, и выясняется, что работа, которую он делает, не нужна для получения результата. И тогда я слышу в ответ - ну, по крайней мере я делаю что-то. Меня этот подход поражает, это все равно что я приду к доктору и пожалуюсь на то, что у меня в ухе стреляет, а он начнет мне ногу отпиливать со словами  - ну, по крайней мере я делаю что-то". "Давай я приземлю для себя понимание. Правильно ли я поняла, что область обсуждения - это все то, что хранится в PLM? Все объекты PLM - это и есть область обсуждения?"
Викрам помотал головой: "PLM - это знаки, выражения. Содержание PLM - это модель области обсуждения, это то, что находится слева от пунктирной линии. Сама область обсуждения находится в реальном мире, в объективной, а точнее в межсубъектной реальности и в абстрактных логически существующих объектах". 

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

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

Лидия посидела, подумала и сказала: "Можно было сказать намного проще. 
1. Есть какое-то состояние дел, ситуация. 
2. У конкретных людей есть по поводу этой ситуации предложение что-то с ней сделать. 
3. Эти люди формулируют свою позицию по поводу этой ситуации. 

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

 "Да, такие абстрактные объекты тоже есть. Давайте на простом примере разберем? Например, возьмем отпуск. Есть Трудовой кодекс и в нем прописана такой абстрактный объект как отпуск. На конкретном рабочем месте будет конкретный промежуток времени, в котором человек будет не на работе, будет конкретный объект с пространственно-временным объемом. Но когда мы будем обсуждать график отпусков в конкретной команде, выбирать когда и кто пойдет на какой срок, мы все равно будем оперировать абстракциями - право на отпуск, продолжительность, очередность, минимальная длительность, отгулянный отпуск. Это все абстрактные объекты, прописанные в законе, с существованием которых мы соглашаемся потому что у нас здесь одинаковое понимание, одинаковые концепты. Потому что как выделяется объект в мире, неважно, конкретный он или абстрактный? Объектом мы называем что-то, на чем задерживается наше внимание. Все, что можно постичь или понять. Если мы можем понять деньги, архитектуру, команду, маршрутизацию IP пакетов и алгоритмы, то они существуют в области обсуждения нашего проекта точно также как это кресло или Солнце". "Ты меня опять запутал. Чем отличаются абстрактные объекты в области обсуждения от понятий?" "Понятия - это знания, это шкафы и полочки, по которым мы сортируем факты. Объект - это что-то доступное коллективному восприятию, пусть даже и эфемерное, абстрактное. Например, если мы совместно договоримся, что такое лояльность работодателю, архитектура, эффективность, бережливость, то мы сможем увидеть эти абстрактные объекты. Вот смотрим на какую-то ситуацию, я говорю, что это лояльное поведение и вы с этим соглашаетесь. Мы видим это разделяемое понятие в конкретной ситуации, это разделяемое понятие является частью области обсуждения. А подойдет третий человек, с которым мы не договорились что такое лояльность, и он будет с нами не согласен. Скажет, что нет, это поведение нелояльное. Объект - это какая-то часть мира, на которой несколько человек могут сосредоточить внимание". "То есть область обсуждения подразумевает смысловую согласованность стейкхолдеров? То, про что ты вчера говорил 'нет различия в действиях, нет различия в понимании'?" "Да, хотя и необязательно именно смысловую согласованность, по крайней мере непротиворечивость. Потому что если области деятельности не пересекаются, то какая разница, что другая рабочая группа себе думает, на функциональное взаимодействие это не влияет".

"Хорошо, эта часть более-менее ясна. Но ведь в проекте обсуждать приходится прошлое, настоящее и будущее, следовательно, в области обсуждения должны быть объекты прошлого, которое уже недоступно, будущего, которое не определено, и только настоящее можно обсудить, привязать к нему понятия и увидеть в области обсуждения абстрактные объекты?" "Да, тут мы вступаем на сложную территорию", - признался Викрам. "То есть это была еще и простая часть?" - усмехнулась Лидия. Викрам улыбнулся и продолжил: "Для того, чтобы обсуждать прошедшие и будущие события, мы должны разделить область обсуждения еще на три части - на настоящее, на прошлое и на будущее. В системной инженерии говорят, что у ситуации есть признак актуальности. Ситуация является актуальной, текущей, если события происходят прямо сейчас и стейкхолдеры потенциально могут проверить ее, сформировать свое мнение по поводу ситуации, привязать понятия, договориться о том, какие понятия должны быть разделяемыми, войти в онтологию, стать частью коллективного мышления. Хотя если это космический корабль на орбите или как в нашем случае автомобиль, который уехал за две тысячи километров, то есть определенные сложности с практической пользой от признака актуальности ситуации. В таких случаях мы в рассуждениях все равно опираемся только на модели". "Подожди, Викрам, это что, получается, актуальность это когда говорили-говорили про Брекзит, воображали себе что-то, а потом он раз, произошел, и все оказалось совсем не так, как люди себе представляли, и они начали переосмысливать свои слова?" "Ну, можно взять и более банальный пример, чем Брекзит, например, рождение детей. Можно что угодно воображать и как угодно готовиться к их появлению и воспитанию, но в реальности путь каждого родителя особенный. Пример Брекзита, впрочем, тоже подойдет. Так вот, мы делим ситуации на текущие и не текущие. По большому счету, когда мы говорим про текущую ситуацию, мы говорим, что она межсубъектна, что каждый человек может пойти и посмотреть своими глазами, составить свое мнение по поводу того, что происходит. И, конечно, когда мы говорим, что онтология проекта привязывается к реальным вещам, в первую очередь под этим подразумевается, что каждое понятие в конкретной голове соотносится с конкретными и абстрактными объектами в области обсуждения. Что метод и его описание, которые находятся слева от пунктирной линии, как-то соотносятся с областью обсуждения, которая находится справа от пунктирной линии".

Они посидели пару минут в тишине. Время уже было позднее и Викрам поглядывал на часы. "Две вещи пока непонятны и кажутся излишним переусложнением:
1. Зачем различать семантику и концепты? Зачем нужно отдельно говорить про понятия, если общение все равно идет через символы, диаграммы, тексты?
2. Почему мы говорим, что вещи в области обсуждения существуют, хотя фактическое существование физических объектов в текущий момент и логическое, вероятностное существование объектов в будущем явно разные штуки? Область обсуждения становится такой свалкой объектов, в которую намешано все в кучу".

Викрам задумался на целую минуту, Лидия пошла к кофе-машине, налила себе чашку эспрессо и села в кресло. Викрам крутил в руке маркер и что-то задумчиво бормотал под нос.

"Вся эта громоздкая конструкция нужна только когда у нас достаточно большой проект. В случае простого проекта, когда у нас есть 20 человек, считая представителя заказчика, углы смысла и выражения схлопываются, у вас получается набор ситуаций, событий на одном конце и выражений, которые описывают эти ситуации и события на другом конце. Все 20 человек, в пределах малого числа Данбара, могут настолько плотно между собой общаться, что смысл выражения всем очевиден. Но если у вас есть проект на 1,500 человек, как у нас, то в нем неизбежно появляются различные сообщества. В системной инженерии говорят, что есть смысловые сообщества и речевые сообщества. Допустим, у нас есть фул-стэк разработчики на Java, часть из которых сидит в Германии, а часть в России. Они говорят об одних и тех же вещах, оперируют одинаковыми смыслами, но при этом терминология у них различная, хотя бы в плане немецкого и русского языка. 

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

Викрам подошел к флип-чарту, перевернул на чистый лист и стал рисовать: "Вот у нас есть Скрам-команды, каждая из которых работает над своей частью системы. У каждой команды есть своя онтология, свое пространство смыслов и своя терминология, свой метод работы. При этом пространство смыслов и словарь проекта, терминология, у них различается, потому что одни занимаются аппаратной частью, вторые мехатроникой, третьи пишут обработчик реального времени, четвертые занимаются виртуализацией и бэк-апом, пятые тестируют и ставят на производство и т.д. Теперь вопрос, как организовать или, как у вас тут принято говорить, фасилитировать собрание Agile Release Train во время PI?" Тут Лидия заинтересовалась потому что бардак на Program Increment был болезненным местом в любом крупном проекте.
"Суть Скрама в том, что на каждом спринте мы обсуждаем изменившуюся область обсуждения, причем дельта изменения у нас имеет признак актуальности. То есть мы обсуждаем не изменившееся описание системы и ее контекста, а изменившийся реальный мир, поэтому нам гораздо проще привязывать разные смыслы и терминологию к реальности. Вместо абстрактной строчки в плане проекта 'мы сделаем то-то и то-то' у вас есть реальная штука, которую можно обсуждать. Проверяемый кусок межсубъектной реальности. И когда разные стейкхолдеры в разных командах наблюдают эту дельту области обсуждения, у них в голове рождаются смыслы. То есть у них в голове появляются:
- понятия своей предметной области - бухгалтерские проводки, проектные ресурсы, клиентскую петлю или кассовый разрыв;
- факты, фиксация событий, которые произошли в проекте, с какой-то ролевой позиции. Приход товара на склад (событие) порождает множество фактов - изменение остатков, движение товара, изменение баланса, появление накладной. Количество фактов, которое порождает событие, зависит от количества точек зрения в проекте;
- правила, универсальные обязательства команды по отношению друг к другу;
- вопросы, уточнения, которые им нужны, чтобы конкретизировать понятия, уточнить классификацию вещей, которые они увидели;
- смыслы выражений.

Смыслы выражений, в свою очередь, делятся на три типа - факты и правила.
Поэтому когда мы говорим про смысл, как про что-то, что подразумевается под словом, диаграммой или выражением естественного языка, то смысл будет сводиться к одной из четырех вещей - понятию, факту, правилу или вопросу. Я еще раз дам определения:
Понятие - это единица знания, созданная уникальной комбинацией характеристик (по ISO 1087-1).
Смысл выражения - смысл выражения, которое не является парадоксом и которое не изменяет смысл после перефразирования или перевода, включая замену слов на синонимы.
Вопрос - смысл вопросительного выражения. Надо разделять вопрос в как формулировку в каком-то языке и вопрос как смысл. Если мы зададим вопрос на двух языках, скажем, английском и немецком, то у нас будут две формулировки, два синтаксических вопроса, при этом у обоих формулировок будет один смысл, один семантический вопрос.
Факт - смысл выражения, которое считается истинным.
Правило - смысл выражения, которое обязывает к чему-то.

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

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

Теперь поговорим про логическое и физическое существование объектов в области обсуждения. Объекты в области обсуждения могут находиться в прошлом, настоящем и будущем. Скажем, мука существовала раньше, хотя сейчас она часть булки, а если оставить булку во влажном и теплом месте, то булка покроется плесенью. Булка как объект проверяема, вот она лежит на столе. Тому, что булка была сделана из муки, есть свидетельства, хотя самой муки уже нет, она превратилась в булку. И мы понимаем, что если булка будет заражена грибком, то на ней вырастет плесень. Такая булка с плесенью находится в возможном мире будущего. И если с прошлым и настоящим все более-менее понятно, то вот с тем, откуда берется логическое существование булки с плесенью в возможном мире будущего, стоит поговорить отдельно. Для этого мы используем разделение объектов в области обсуждения на цели и средства достижения целей. Орг.единицы при этом - это те агенты, которые определяют эти самые цели и средства достижения целей. Принятие решений и заключается в определении этих целей и средств их достижения.
Для того, чтобы сделать работу мы объединяемся в организационные единицы - предприятия, организации, комитеты, проектные группы, Agile release Trains и т.п. Орг.единицы фиксируют какое-то текущее состояние и устанавливают конечные цели своей деятельности. Для проекта это будет AS IS и TO BE, у коммерческого предприятия есть набор стратегических целей, некоммерческая организация имеет миссию и видение. Для того, чтобы достичь этих конечных целей, орг.единица определяет средства их достижения. Конечные цели описываются в двух аспектах - какого-то идеального состояния, видения, и желаемого достижимого результата, который можно описать по SMART. Средства достижения целей уточняются:
- приказами, которые поддерживают достижение желаемого результата;
- стратегией и тактикой;
- и комплексом организационных способностей.

Что такое орг.способность? Вот есть орг.единица "Отдел проектирования бортовой электроники", у нее есть какие-то компетенции, например, компетенция проектирования высокочастотных печатных плат 12 класса точности 5 класса надежности. Эта орг.единица имеет стратегическую цель, на пути к которой есть проблема. Например, надо спроектировать такую плату за 4 недели, а они такой работы раньше не делали. Если существует такой сценарий, при котором компетенция решает эту проблему, то говорят, что у орг.единицы есть способность. Например, если есть такой план проекта, который позволяет спроектировать печатную плату 12/5 за 4 недели, то говорят, что у орг.единицы есть способность "Проектирование бортовой электроники по SLA12/5/4". Если говорить очень упрощенно, то орг.способность = компетенция + сценарий (бизнес-процесс, типовой проект, ноу-хау).

Запомнить это можно так:
«Орг.единица А может пилить» — это не способность, это навык. «Орг.единица А может перепилить рельсу зубочисткой в условиях полярной ночи» — это способность, компетенция в системном окружении. Онтика «наличие рельсы в ночи» — констатация возможности для орг.единицы А реализовать свою способность.
«Возможность» относится к конфигурации окружения, «компетенция» — к конфигурации орг.единицы, а «способность» — к их пересечению.
У орг.единицы обычно есть не одна орг.способность, а целый комплекс. Отдел может не только проектировать платы, но и испытывать их, отлаживать, заказывать изготовление, проводить имитационное моделирование, нагрузочное тестирование и пр.

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

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

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

Для того, чтобы различать статусы существования объектов в области обсуждения, системные инженеры используют концепцию жизненного цикла. В жизненном цикле выделяется ключевая стадия использования, воплощения системы. Это как раз тот период времени, когда объекты, которые составляют систему, ее части, имеют признак актуальности, доступны для восприятия стейкхолдерами. Причем межсубъектность системы проявляется даже раньше, после того, как ее изготовили. Но пока система не размещена в операционном контексте, пока все объекты области обсуждения не стали актуальными, пока стейкхолдеры не получили возможность их проверить, получить непосредственный опыт взаимодействия с ними, валидация функции системы невозможна. По большому счету, любой объект в области обсуждения имеет свой жизненный цикл, последовательность состояний, через которую он приходит в статус актуальности. Но как минимум жизненный цикл отслеживается для целевой системы.
Так вот, возвращаясь к конечным целям.  Конечные цели в этой терминологии - это какое-то состояние области обсуждения после завершения проекта. Какая-то желаемая для орг.единицы конфигурация области обсуждения, набор состояний объектов, которые составляют область обсуждения. Конечная цель всегда будет состоять из воплощений объектов реального мира, конечная цель межсубъектна, стейкхолдеры могут наблюдать ее и составлять о ней впечатление. И эта конфигурация записывается минимум в трех разрезах - структуры, функции и размещения. Описание этой целевой конфигурации области обсуждения и есть основное наполнение системы управления жизненным циклом системы. PDM/PLM нужна в первую очередь для того, чтобы записать цель какого-то проекта. Записать целевую конфигурацию области обсуждения есть основная функция этого класса систем. А система управления проектом нужна для планирования и учета действий по переходу из текущего состояния в это целевое, записанное в PDM/PLM, поэтому все попытки поставить проектное управление без внедрения управления конфигурацией обречены на неудачу".

"Так это то, что произошло у нас в проекте?" "Именно. Управление проектом - это контролируемый переход к базису конфигурации, планирование и учет средств достижения конечной цели". 

Конечная цель существует только в логическом измерении. Текущее состояние области обсуждения, актуальный набор объектов и цель соединены между собой средствами достижения конечной цели - орг.способностями, тактикой и стратегией и приказами. Другими словами, если на старте проекта у нас область обсуждения в основном наполнена объектами с логическим существованием, то к завершению проекта она должна быть наполнена только реальными объектами с физическим существованием и абстрактными объектами. PDM учитывает только объекты с физическим существованием и тех объектов с логическим существованием, которые им предшествуют. По факту, PDM хранит знания о том, как проектировать, закупать или изготавливать и производить систему. Можно сказать еще, что она хранит знания по жизненному циклу системы".

"А где тогда учитываются абстрактные объекты области обсуждения?" "В системе управления корпоративной архитектурой, т.н. enterprise architecture management, системе управления требованиями, requirement management system либо в управлении системной архитектурой, systems architecture management".

Цель, замысел, функция целевой системы и сервис целевой системы

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

Теперь вернемся к вопросу как в области обсуждения выделяются вещи. Любая вещь нужна нам для чего-то, мы обращаем внимание на ее существование только потому, что она играет какую-то роль в нашей жизни. В системной инженерии говорят, что объект исполняет функцию. Причем эта функция есть только в связи с другими существующими объектами. К примеру, если перенести нефтяной танкер на сто лет назад, когда не было терминалов, нефтеперерабатывающих заводов, навигационных систем, команды, которая может управляться с таким судном, то и сам танкер как вещь не существовал бы. Танкер существует только в отношении некоторого операционного контекста, системного окружения. Точно также, как слова приобретают смысл только в окружении других слов, вещи получают назначение только во взаимосвязи с другими вещами. Возьмем для примера классический пример галеона. Галеон как военно-транспортный корабль имел свое назначение и выполнял изначальную функцию только в окружении множества других вещей - команды, обученной на нем ходить, навигационных средств 16 века, портовых сооружений, грузов, арсеналов и пушек, адмиралов, которые думали о морских сражениях определенным образом, купцов, которые определенным образом торговали, рынков и т.п. Как только этот контекст изменился, появились линкоры и фрегаты. И сейчас те галеоны, которые есть, выполняют совсем другую функцию, чем они выполняли пятьсот лет назад. На них нельзя регулярно перевозить грузы и пассажиров, они просто не вписываются в существующий контекст. Точно также берем любой другой объект и его функция будет определяться операционным окружением, другими вещами, с которыми этот объект взаимодействует. Отсюда вытекает основное правило определения операционного контекста.

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

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

И если определение операционного контекста можно сделать с высокой степенью определенности, то где и как провести границы бизнес-контекста, для которого определяются риски, возможности и эффекты - это всегда вопрос договоренностей, компромиссов и соглашений. Бизнес-контекст очень зависит от горизонта планирования, используемых моделей оценки, микроэкономики предприятия, иногда политики и макроэкономики, экологии и прочих штук. Этот вопрос лежит сильно за границами классической системной инженерии в области предпринимательства, менеджмента и архитектурной работы с цепочками и сетями создания и захвата ценности. Для обсуждения всех этих штук одной функции целевой системы недостаточно, поэтому вводится понятие сервиса целевой системы. Типичный пример - один магазин торговой сети в городе не способен дать целевую выручку и прибыль, но если открыть их 10 или 50, то все вместе они дадут необходимый для городского окружения уровень сервиса и выйдут на целевые показатели. Цепочки создания и захвата ценности обсуждаются всегда в терминах сервисов, а не функций. Поэтому в системном подходе мы будем в основном рассматривать три составные вещи - целевую систему, ее операционное окружение и жизненный цикл как совокупность всех сквозных потоков, которые необходимы для воплощения целевой системы, которые образуют все сценарии ее эксплуатации и обслуживания, а также вывода из эксплуатации. И замысел мы будем понимать в ограниченном смысле того, что целевая система выполняет заданную функцию в операционном окружении, решает проблему. А вот достижение бизнес-эффектов и исполнение бизнес-замысла лежит в руках других ролей, системный подход здесь не сильно помогает, речь идет о социальной инженерии, практиках пиар, политике. Мы предоставляем другим орг.способность, а что они с ней будут делать, какая будет стратегия применения итогового комплекса орг.способностей нас уже не волнует.

Теперь я бы хотел вернуться к понятию решения как выбора цели и решения как выбора пути. Всего есть три компоненты принятия решений - альтернативы, ресурсы и согласование стейкхолдерами, у которых есть возможность влиять на ситуацию сейчас или в будущем. Эти решения могут быть упакованы в три вида моделей:
1. Модели требований, которые описывают альтернативы, ресурсы и согласование стейкхолдерами желаемой конфигурации целевой системы и состояния операционного и бизнес-контекста
2. Архитектурные модели, которые описывают варианты, ресурсы и интересы стейкхолдеров по реализации функции целевой системой
3. Модели жизненного цикла, которые описывают варианты, ресурсы и интересы стейкхолдеров по путям и способам реализации имеющихся согласованных наборов требований и вариантов архитектур.

Но уже поздно и мы все устали. С этой точки рассуждений и начнем нашу следующую беседу, пока, Лидия. Но Лидия уже спала в кресле и не слышала его. Викрам встал, собрал свои вещи и вышел из офиса. На небе была полная Луна, падал легкий снег. Он застегнулся до горла, накинул капюшон и зашагал в сторону метро.

суббота, 14 декабря 2019 г.

Соломенный учитель

by Keith Devlin, the Executive Director of the Human-Sciences and Technologies Advanced Research Institute (H-STAR) at Stanford University and The Math Guy on NPR's Weekend Edition.


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

Первые часто прибегают к тактике соломенных человечков. Это особо часто происходит во время Математических войн в США, обсуждение в которых сейчас сосредоточено вокруг Основных Стандартов Штатов по математике.

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

Возможно, такие учителя существуют, но я пока их не встречал. То же самое можно сказать про соломенных учителей, для которых получение правильного ответа неважно. Учителя так не поступают, для них важны знания, процедуры и правильные ответы.

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

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


В практическом плане это означает, что вам надо:

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

И это то, что делает хороший учитель математики. И еще раз, для протокола, оба этих навыка описаны в Основных Стандартах, которые все так обсуждают.

воскресенье, 8 декабря 2019 г.

Минимально жизнеспособный желтый. Когда маркетинг тупит с неймингом

Минимально жизнеспособный желтый, минимально жизнеспособная любовь, минимально жизнеспособный принцип Гейзенберга. Что не так с этими терминами? К абстракциям неудобно применять понятие жизнеспособности. Можно, конечно, сказать, что идея нежизнеспособна или подход неприменим к данной ситуации, но смысл такого выражения все равно будет далек от точного смысла концепции MVP. 

Поэтому когда я увидел текст:
В новой книге ITIL ® 4 Create, deliver and support, которая, правда, пока что доступна только по подписке, описан довольно «простой» подход к определению охвата любой практики. Он называется «минимальная жизнеспособная практика» (minimum viable practice, MVP). Источник.
То сразу зацепился за эту формулировку. И потом стал думать, а что же конкретно мне здесь не нравится и какой термин точнее передаст смысл понятия minimum viable practice


Мой вариант - минимально полезное знание. Объясню ход мыслей:

Системноинженерное определение понятия MVP. 
MVP - это воплощение системы в такой минимальной (самой дешевой) конфигурации, функция которой способна заменять функции конкурирующих систем для конкретного окружения.
Что представляет собой MVP на жизненном цикле системы? 
Задам первый вопрос: относится он к описанию или к воплощению системы? 
К воплощению. 
Продолжу: в какой стадии появляется MVP? 
В стадии изготовления, сборки, комплексирования, приемки, использования или вывода из эксплуатации? В стадии использования. 


MVP - это такое воплощение системы, которое способно хоть как-то конкурировать в конкретном контексте использования с теми штуками, которые уже есть. 

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

MVP характеризует орг. способность (system capability). Конкуренция среди систем идет по уровням сервиса в конкретных контекстах использования.
Минимальная конфигурация не означает, что ваш продукт проще конкурирующих, как может показаться с первого взгляда. Нет, я говорю про минимальную конфигурацию конкретно вашего продукта. Представим ситуацию, что легалтек расцветает и вы можете в большинстве юридических ситуаций отказаться от юриста с "Консультантом Плюс" в пользу облачного бота с думателем и нейронкой просто потому, что он дешевле, быстрее и его консультации качественнее. Конфигурация и архитектура облачного бота может быть намного сложнее, чем конфигурация "Консультант Плюс", даже если вы сделаете MVP такого бота. 
Точно также MVP авиалайнера, который стал совершать трансатлантические перелеты и заменил корабли, был технически сложнее конкурирующих продуктов, но проще, чем Боинг 747 или Айрбас А380, к которым в итоге все пришло. 


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

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

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


Итак, ключевой вывод всех этих рассуждений заключается в том, что MVP относится к воплощению системы. 


Резюмирую рассуждения первого пункта:
Орг. единица приобретает (acquire) целевую систему (system of interest), чтобы заменить (retire) текущую систему или комплекс (конкурирующие с целевой системы). Такая замена называется внедрением или освоением технологии (technology insertion, implementation) работы с новой системой. 
И текущая и новая технология дает орг. единице возможность (capability) выполнять какие-то рабочие задачи с каким-то уровнем качества и в каких-то объемах. Такая орг. способность зависит как от характеристик системы (systems performance), так и от того, насколько хорошо орг. единица владеет технологией использования. Поэтому системы по результатам внедрения валидируют (validation) - проверяют, насколько полно новая система закрывает потребности приобретающей стороны (user needs). 
Те системы, которые более-менее успешно закрывают типовые потребности в каком-то классе ситуаций и контекстов, называют "продуктами" (product). Продукт отличается от системы именно массовостью, которая позволяет делать типовой маркетинг и продажи для разных исполнений системы (marketing and sales pipeline), потому что ясно, что скорее всего, после внедрения проблема будет решена, и валидация пройдет успешно. Единичный экземпляр продукта называется изделием (good). 
Минимальная конфигурация продукта, который способен успешно заместить конкурирующие системы, называется MVP.


Практика - знание, модель, которая объясняет класс фактов. У знания нет сервиса и нет контекста.
Вопрос - насколько вообще можно переносить понятие минимальной жизнеспособности на практику? Для этого необходимо понять, что же такое практика
Обратимся к OMG Essence как наиболее авторитетному исследованию в этой области.
9.3.2.15 A practice is a repeatable approach to doing something with a specific objective in mind. A practice describes how to handle a specific aspect of a software engineering endeavor, including the descriptions of all relevant elements necessary to express the desired work guidance that is required to achieve the purpose of the practice. A practice can be defined as a composition of other practices.Практика - это повторяющийся подход к исполнению, направленный на получение заранее известного результата. Практика описывает как работать с определенным аспектом проекта по созданию ИТ-системы, включая описание всех относящихся к делу элементов. Практика дает указания по тому, как исполнять работу так, чтобы достичь целевого результата. Практика может состоять из других практик.
Казалось бы, это очень похоже на определение процесса. Он ведь тоже повторяющийся, тоже нацелен на получение заранее запланированного результата. В чем разница между процессом и практикой? Обратите внимание на первые два слова определения. "Повторяющийся подход". А процесс это "последовательность действий". 
Подходы абстрактны, процессы конкретны. 
Подходы работают с отвлеченными объектами: Скрам, спринт, клиент, потребность. Процессы преобразуют конкретные рабочие продукты в другие рабочие продукты: письмо от клиента в коммерческое предложение по установленной форме, которое должно быть выдано в течение 6 рабочих часов, принятое коммерческое предложение в план проекта, техническое задание и бюджет и все это за 3 дня, план проекта и ТЗ в готовый к поставке продукт и план приемочного тестирования. 

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

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


Процессы про форму, практики про содержание. 

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


И форма и содержание важны.

Примечание: для разделения практик и процессов я рекомендую соблюдать принципы наименования. Процессы именуются по шаблону "от [основной вход/стартовое событие] до [выход, результат процесса]". Например, "От заявки на подбор до завершения испытательного срока", "От запроса на коммерческое предложение до получения ответа от клиента". Практики именуются как функции, по виду деятельности, например "Анализ рисков договора", "Производственное тестирование сайтов", "Подбор персонала".

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


Ошибочное понимание практики приходит из непонимания концепции жизненного цикла системы и связи стадии использования и орг. способности.
Я заметил, что многие люди неправильно понимают формулу 
практика = дисциплина мышления + технология
Представьте, что вы внедряете CRM, но при этом набираете людей в отдел продаж с улицы и не учите их тому, что такое воронка продаж, лиды, референс визиты, выставление счетов, инфлюэнсеры, ЛПРы, не объясняете, в чем разница между RFQ и RFP и почему ТЗ на проектирование отличается от ТЗ к договору. Даже если вы очень хорошо пропишете все процессы отдела продаж, и сделаете идеальное внедрение с нужным функционалом, такой отдел будет продавать мало и плохо потому что орг. единица не владеет практикой продаж.


Как пишет про это OMG Essence:
A practice addresses a specific aspect of development or teamwork. It provides the guidance to characterize the problem, the strategy to solve the problem, and instructions to verify that the problem has indeed been addressed. It also describes what supporting evidence, if any, is needed and how to make the strategy work in real life. A practice provides a systematic and repeatable way of work focused on the achievement of an objective. When the practice is made up by activities, the completion criteria derived from them are used to verify if the produced result achieves the practice’s objective. To evaluate the practice performance and the objectives’ achievement, selected measures can be associated to it. Measures are estimated and collected during the practice execution.Практика отвечает на вопрос как коллектив (sic! Shared ontology detected) организует определенный аспект разработки (и любой другой деятельности). Она дает руководство по уточнению специфики решаемой проблемы, определяет стратегию ее решения и инструкции по тому, как проверять, была ли решена проблема до конца или нет. Практика также описывает  какие свидетельства и факты подтвердят решение проблемы и как привязать исполнение стратегии к реальным ситуациям. Практика предоставляет повторяемый и воспроизводимый способ работ, направленный на достижение заданной цели. Когда практика собирается из отдельных видов деятельности (activities), то критерии успешного завершения этих видов деятельности используются для проверки того, привела ли практика к нужному результату. Для оценки результативности практики и степени достижения конечного результата, с практикой можно связать показатели (метрики). Тогда во время исполнения практики для этих показателей собирается массив значений.
Практика-как-знание (абстрактное, отвлеченное понятие) равна способности коллектива (орг. единицы) использовать имеющиеся ресурсы и средства как функциональные объекты практики (есть микроскоп, значит им можно колоть орехи) плюс наличие этих самых ресурсов и средств, которые можно использовать для исполнения практики (для разработки нужны компьютеры, среда разработки, стенды и Git, для проведения операций нужна операционная, хирургические инструменты, материалы и медикаменты, для проведения тренинга нужно помещение, мебель, флип-чарты, фломастеры и проектор с презентацией). 
При этом как дисциплина так и технологии понимаются в абстрактном смысле. Когда логист планирует мультимодальную перевозку, он не думает, как он будет перекладывать конкретный груз из конкретного склада в конкретный грузовик, а потом их грузовика в конкретный корабль. Это мышление прораба, который не способен подняться над конкретикой конкретной стройплощадки, но ее-то понимает во всех деталях. Логист мыслит категориями учебника по INCOTERMS, а не конкретными бортами и контейнером, на котором несмываемым маркером написано слово "ВАСЯ".

Поэтому когда говорят про жизненный цикл 2.0 в противоположность жизненному циклу 1.0, речь идет ровно об этом - замене мышления с 4Д-индивидов стадий, конкретных воплощений работ "Технический проект", "Опытный образец" и т.д., на мышление абстрактными объектами, альфами практик (OMG Essence ALPHA). Жизненный цикл 1.0 был очень близок по смыслу к верхнеуровневому графику проекта, к процессной модели, к рабочим продуктам метода. И уже в силу этого его переносимость из проекта в проект была хуже, чем у модели жизненного цикла 2.0. Привязка жизненного цикла 1.0 осуществляется за счет того, что он напрямую описывает какие рабочие продукты и результаты будут созданы и где их найти в реальном проекте. Привязка жизненного цикла 2.0 к реальности происходит за счет механизмов практик, из которых он состоит, при этом сам жизненный цикл абстрагирован от конкретных ситуаций конкретных проектов.

Жизненный цикл 1.0 составляется из орг. способностей, из воплощений, высокоуровневых процессов. Жизненный цикл 2.0 составляется из практик, конкретный смысл, содержание и контексты работ появляются только после его привязки к конкретному проекту. Видите путаницу? MVP существует только в стадии использования. Вы передали продукт пользователю, и у вас появился MVP. А практика, даже привязанная к контексту, существует в каждой стадии жизненного цикла. Минимально жизнеспособная практика начинает иметь смысл только если мы сделаем классический мыслительный ход из ГОСТ Р ИСО 57193 (ИСО15288), и скажем, что каждая практика, которую мы используем, была в какой-то момент задумана, создана и передана нам в использование, что у нее есть свой жизненный цикл, что она как-то воплощена в конкретных рабочих продуктах, процессах (имеет форму, конструкцию), в орг. способностях. 
Но ведь одно описание практики воплощается в разных контекстах, имеет множество воплощений, то есть мы должны рассматривать жизненный цикл практики как какую-то разновидность итеративного либо инкрементного жизненного цикла.


И тут нас подстерегает вторая ловушка непонимания, в которую тоже часто попадаются.


Инкрементальные модели жизненного цикла как привязка к реальности, когда архитекторов не хватает.
Когда говорят про жизненный цикл, могут иметь в виду три принципиальные разные вещи - саму физическую эволюцию воплощения системы от замысла до вывода из эксплуатации, концепцию жизненного цикла как набор идей и мировоззрений о целостном взгляде на систему на всем протяжении ее существования, и модель жизненного цикла как описание эволюции системы. 
Представьте себе архитектора здания, который работает над конкретным проектом. Сам процесс возведения, эксплуатации и вывода здания из эксплуатации: от возникновения замысла в голове архитектора до сноса здания и будет воплощением жизненного цикла. Воплощение жизненного цикла межсубъектно, доступно для восприятия множеству людей, его можно использовать по назначению. Когда архитектор идет по стройке, он видит надземную и подземную часть здания, несущие конструкции, пилоны, распределение нагрузок и зоны, карты освещенности, возможные человеческие потоки и прочие штуки, которые необученный человек в здании не увидит. Понятия обычно субъективны, содержимое одной головы очень сложно переложить в другую голову. Это знают все, кто воспитывал детей или обучал взрослых. Но если команда использует практику, то подразумевается, что у нее есть разделяемые понятия (shared ontology), которые команда видит в реальности проекта (разделяемые понятия являются частью области рассмотрения, shared ontology is part of universe of discourse). 

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


Непривязанное к реальности понятие смысла не имеет, его обсуждение почти наверняка будет спором о терминах. 


Вывод: чтобы понять смысл термина minimal viable practice, надо привязать практику к конкретной области рассмотрения, к конкретной орг. способности.


Чтобы привязать понятие к жизни как можно раньше на жизненном цикле (in life cycle upstream), используются разные модели жизненных циклов, которые и будут актуальны для minimal viable practice. Речь идет об итеративных и инкрементальных моделях. 
Основное отличие между этими двумя видами моделей, которое люди чаще всего не понимают, заключается в следующем: и в том и в том случае жизненный цикл делится на части (спринты, релизы, инкременты, итерации), вопрос в том, что происходит внутри этой части. 
Инкрементальные виды моделей жизненного цикла в каждой такой части обеспечивают изменение воплощения. Типовой пример - Скрам. Уточнили потребности - уточнили требования - сделали доработку новых фич - протестировали - предъявили заказчику - сделали релиз. И левая и правая часть V-модели происходят внутри одного спринта. В результате понятия из практик модели жизненного цикла все время привязываются к конкретным индивидам в области рассмотрения проекта, это наполняет их смыслом. Инкрементом становится реальный прирост воплощения системы. Такая модель жизненного цикла еще называется эволюционной оппортунистической моделью жизненного цикла. В том смысле, что увидели возможность - реализовали ее. При этом в каждой итерации принимаются в том числе и архитектурные, принципиальные решения.
Итеративные модели жизненного цикла обычно подразумевают формирование и утверждение архитектурных требований и согласование системной архитектуры, а затем в каждой итерации идет разработка и построение частей системы. Важная особенность такой модели жизненного цикла заключается в том, что пока не закончилась разработка одной части системы, разработка другой части системы не начинается. Такие модели жизненного цикла еще называются заранее определенными многошаговыми.
Приведу пример как эти разные модели можно использовать применительно к проекту возведения здания. Скрам мог бы выглядеть так - команда беседует с заказчиками, определяет, допустим, какими должны быть кабинеты и переговорки. Потом ищет реальные здания, в которых кабинеты и переговорки больше всего похожи на то, что описали заказчики, организует референс-визиты, получает обратную связь, и дальше работает над столовой, комнатами отдыха, коридорами, туалетами, входной группой. В результате финальными итерациями проектирует здание по точным требованиям и архитектурным решениям и строит его. Либо создает подробные BIM-модели, и делает виртуальные туры по спроектированным помещениям. 
Заранее определенная многошаговая модель выглядит чуть более привычно - делается архитектурный проект, а затем прорабатываются объемно-планировочные решения и рабочие проекты для каждого помещения, по ним строятся BIM-модели, организуются виртуальные туры по спроектированным помещениям либо строятся полномасштабные макеты в павильоне. Когда все рабочие проекты по всем помещениям проработаны, финализируются проекты инженерных сетей, и собирается общий комплект проектной документации.
Когда какой вариант вида модели жизненного цикла выбирается? Зависит от того, насколько можно оценить целевую орг. способность по отдельным системным элементам. Например, понятно, что офис в промзоне будет куда больше зависеть от правильных проектных решений столовой, чем офис в центре Москвы, где вокруг множество вариантов пообедать. В случае промзоны орг. способность заводоуправления будет сильно зависеть от результата итерации/спринта проектирования и строительства столовой, поэтому аргументов в пользу итеративной модели жизненного цикла для завода в промзоне будет больше. В целом подход к выбору подходящей модели описан в статье.

Что это означает применительно к minimal viable practice? Если рассмотреть системы в обеспечении как воплощение жизненного цикла 2.0, то у вас есть два пути постановки практик - ставить по одной практике за раз, от определения до воплощения (инкрементальный подход к MV practice), и определять, какую практику вы берете в жизненный цикл каждый раз с учетом вновь открывшихся обстоятельств, либо выбрать все практики, которые вы планируете применять на старте проекта, и прорабатывать их по одной.

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


Практики, как и любые другие знания, живут в носителях - стейкхолдерах. Они и определяют границы MVP.
Приведу пример. Здание, которое несколько лет служило офисом X5 Retail Group, изначально было складом. Потом, когда стало понятно, что гораздо выгоднее переоборудовать его в офис, его переделали и это здание худо-бедно выполняло свою функцию даже несмотря на то, что архитектурные решения не очень это предполагали. Теперь его расселяют и, может быть, опять переоборудуют под склад. В данном случае, здание склада послужило MVP офиса. Почему это было возможным? 


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


Вывод: границы и конфигурацию MVP определяют стейкхолдеры.

Применительно к MV practice это означает, что для каждой практики надо определить, какие стейкхолдеры будут ее оценивать и с каких позиций они будут смотреть на орг. способность MV practice, для чего она им нужна.


Набор знаний, который нужен для классификации имеющихся средств как годные для применения в качестве  технологии практики и есть минимально полезное знание. Примеры - пирамида Минто, системная схема проекта.
Итого, мы пришли к тому, что:
- Практики есть знания и они имеют смысл только когда привязаны к области рассмотрения конкретного проекта
- Поставленная практика есть орг. способность систем в обеспечении либо ее часть
- Границы MV practice определяются субъективно стейкхолдерами систем в обеспечении (командой проекта)
- Модель жизненного цикла орг. способности, которая образуется или изменяется в результате постановки практики, может быть итеративной или инкрементальной.

Поэтому я предлагаю переводить minimal viable practice как минимально полезное знание (МПЗ). МПЗ появляется в результате применения концепций практики к реальным ситуациям. Допустим, можно прочесть книгу "Пирамида Минто", распечатать картинку со структурой пирамиды и страницу с принципами делового текста, и применить их к своей презентации, которую вы сейчас делаете. Это и будет МПЗ практики "деловое письмо по пирамиде Минто". МПЗ практики "Анализ проекта по 7 альфам" может заключаться в прохождении этих чек-листов на еженедельных встречах команды с записью поручений в протокол встреч.

Что самое смешное, МПЗ всего лишь минимизирует затраты на получение минимально полезной функции, но не гарантирует эффективного решения проблемы. Это стратегия минимизация цены ошибки, а не максимизации выигрыша. Сделать офис из склада дешево, но в эксплуатации, с учетом всех негативных эффектов такого решения, такое решение может быть намного дороже, чем правильно полностью спроектированные системы в обеспечении. Скупой платит дважды.


Так что МПЗ полезны для корпоративных и государственных проектов, где не ошибиться важнее, чем выиграть. Живите теперь с этим.

суббота, 30 ноября 2019 г.

Платья::фасоны Объекты::Атрибуты

Системный инженер Борис гулял с Сашей и ее младшей сестрой в парке. Была ранняя теплая осень, девочки о болтали о чем-то своем, а Борис просто шел по дорожке, отключив голову. Вдруг к нему подбежала Женя, его младшая: "Папа, я хочу, чтобы ты мне купил фасон, как у Саши, черный такой!" "Купить тебе фасон?" "Да, фасон, черный такой, с кружевами". "Фасон нельзя купить. Может, тебе купить платье?" "Нет, фасон, ну как ты не понимаешь!" - Женя чуть не плакала. Тут в разговор вмешалась Саша: "Ей нужна кофточка. -  И повернувшись к Жене, добавила. Фасоны бывают только у платьев, у одежды. Это свойство, а не вещь, ее купить нельзя". Тут уже не выдержал Борис и он задал уточняющий вопрос Саше: "То есть ты считаешь, что фасон может быть только свойством и не может быть вещью?" "Конечно, - удивилась Саша. - Фасоны, цвета, крой, борта - это все свойства одежды. Глупость же говорить, что есть такая вещь как цвет. Это свойство". 
"Но вообще-то цвета как отдельные вещи существуют же? Мы же можем их обсуждать? Говорить про зеленый, белый, оранжевый цвет?" "Кому надо говорить про цвета вне привязки к каким-то вещам? Можно обсуждать цвет одежды, машины или лака для ногтей, но обсуждать цвет сам по себе - это какая-то ерунда. Может, дизайнеры будут это делать, но нормальные люди нет". Борис кивнул в знак того, что он понимает о чем идет речь, но не отставал: "А как нормальные люди относятся к фразе дизайнеры обсуждали какие фасоны будут  модными в будущем сезоне?" "Нормальные люди понимают, что дизайнеры обсуждают фасоны платьев, а не фасоны сами по себе. Нельзя обсуждать свойства в отрыве от предметов, у которых эти свойства есть, это заумь какая-то". 

"Представь, что ты хозяйка магазина платьев, у тебя что, в рабочем каталоге будут позиции артикулов по строкам, а в столбцах все-все-все свойства, характеристики платьев? Фасон, силуэт, стиль, вырезы, ткань, и еще что там бывает, я не специалист?" "Да, конечно. Вещь и ее свойства". Тут Борис прищурился и задал следующий вопрос: "Хорошо, а у свойств бывают свои свойства?" Саша посмотрела на него с недоумением: "Нет, конечно". "А платье разве не свойство одежды в целом? Точно также, как фасон - свойство платья?" "Э-э-э нет, точно нет. Платье - это категория одежды. Есть одежда, у нее есть категории - куртки, штаны, платья, шапки". 

"Хорошо, категории вещь есть только для вещей?" "Ну да, конечно". "Окей, а какие есть категории платьев?" "Классические, народные, деловые, вечерние, коктейльные, слипы, их миллион". "А вот то, что ты сейчас перечислила, разве не фасоны? Мне так показалось". Саша ненадолго впала в ступор: "Ну да, конечно, такие фасоны тоже есть. Не вижу проблемы, что у категории вечернее платье будет вечерний фасон". Борис улыбнулся: "Хорошо, вернемся к тому, что ты владелица магазина платьев и у тебя есть большая табличка, где перечислены все артикулы платьев, которые ты продаешь, а в столбцах у тебя есть свойства - размеры, фасоны, силуэты, цвета. И теперь ты решила расширить бизнес и торговать еще и куртками. Что делать с табличкой?" Саша нисколько не растерялась: "Заводить вторую, с куртками". "Но ведь там тоже будут фасоны, цвета, ткани, ведь у разных категорий одежды есть общие наборы свойств?" "Ну, значит, буду вести две таблички с одинаковыми полями". "А какой-нибудь Вайлдберрис, по-твоему, ведет стотыщмиллионов табличек для всей своей номенклатуры в каталоге?" 

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

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

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

"Ну как, у тебя вместо огромной простыни с кучей ненужных и пустых полей будет 2-3 плотно заполненные таблички - каталог самих платьев с артикулами, цветом, фасоном и тканью. Будет табличка с тканями и их характеристиками - волокно, состав, толщина, режим стирки. Будет табличка фасонов с силуэтами, вырезами, акцентами и чем-то еще, о чем думают дизайнеры. И если у тебя что-то меняется, тебе не надо перелопачивать огромную таблицу, и менять кучу атрибутов, ты меняешь одну-две таблички, и у тебя снова есть актуальный каталог. Удобно". 

"Подожди, папа. - Саша замедлила шаг. А у этих новых объектов - у фасона, ткани, есть категории? Ведь должны же быть, если они есть у одежды?" "Если есть необходимость, то да, только обычно говорят не о категориях, а о классах. Объекты группируются в классы. У платьев есть суперкласс одежда и подклассы - коктейльное, свадебное и т.д. У фасонов, наверное, нет суперкласса, зато точно есть подклассы, мы про них говорили. У ткани есть суперкласс - материал, ведь одежду делают не только из тканей, но и из кожи, например, и есть подклассы - льняные, хлопковые, синтетика". "И у каждого класса-суперкласса-подкласса есть свой набор атрибутов?" "Ну да, и тут главное как сделать такую структуру классов и атрибутов, чтобы они между собой не перемешивались, чтобы не получилось как у тебя, что одно и то же слово одновременно является классом объекта и его атрибутом. Этим занимаются онтологи, инженеры данных, они придумывают такие вот модели предметных областей, чтобы было удобно и точно описывать объекты этой предметной области". 

"А ты онтолог?" "Не, когда мне нужна онтология, я всегда ищу готовую, их много разных лежит в Интернете, надо просто поискать. Каждый раз, когда я захожу на проект, я всегда изучаю типовые онтологии, ищу, например, banking ontology, aviation ontology или retail ontology. И сразу становится намного проще разговаривать с командой, потому что ты понимаешь, о каких вещах они говорят, что для них важно, о чем еще надо поговорить". "А я всегда удивлялась, как это ты можешь советовать что-то людям, если ты по этой теме ни дня не работал". "Ну, некоторые мыслительные приемы и ходы довольно универсальны. Скажем так, что в 80% случаев мой подход работает, но в 20% я ничем помочь не могу. Но 80% - это неплохой результат, не правда ли?" "100% лучше". "100% лучше. Согласился Борис. Эй, куда Женя убежала?" И они побежали искать младшую.

воскресенье, 3 ноября 2019 г.

Цена вопроса - тренажер коллективного принятия решений

Условия: 6 часов, в субботу с 11:30 до 17:30, есть домашнее задание, есть проверочные тесты.

Цена: 1000 руб. + тариф антикафе. Возврат денег, если ожидания не оправдались.

Что получаете за эти деньги?

1. Саму игру
2. Домашнее задание и его проверку
3. Доступ к тестам на освоение материала.

Кратко о тренажере. 

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

Какие решения надо принять?

1. Какой из двух вариантов производственной линии выбрать?
2. В какой очередности строить и запускать производственные участки производственной линии?
3. В какой комплектации выпускать автомобиль?
4. Какой должна быть ценовая политика?
5. Какой размер кредита по какой ставке и на какой срок надо взять для организации серийного производства?
6. Какой будет размер дивидендной выплаты и в каком диапазоне будет находиться прибыльность проекта?

В чем сложность?

Каждое решение надо будет обосновать и оформить по шаблону. Для этого надо будет постараться объяснить себе и другим почему решение должно быть именно таким.
Порядок игры.

1. Проходит совещание по запуску программы проектов (kick-off meeting). На нем руководитель программы проектов рассказывает про цели программы, объясняет замысел и планы программы, знакомит участников команд, распределяет роли и проводит обучение работе в симуляторе.
Календарный план программы в PDF.
2. Участники строят минимальную производственную линию, начинают опытное производство и начинают проектирование полномасштабной производственной линии.
Так выглядит проект полномасштабной производственной линии. Голубые фрагменты - минимальная производственная линия, которую участники строят на старте.
3. После завершения проектирования производственной линии команда организует серийное производство и выпуск автомобилей. Вам надо вести отчетность по проекту и использовать данные отчетности для принятия оперативных и стратегических решений. Всего есть четыре роли - директор по производству, директор по разработкам, маркетингу и продажам, директор по финансам и генеральный директор. У каждого свои отчеты и эти отчеты связаны между собой, чтобы их вести, вам надо будет наладить общение друг с другом.
Шаблоны отчетов - раз, два, три.
4. После завершения инвестиционной фазы программы, в конце 5-го часа игры, проходит жеребьевка и начинается аукцион. На аукционе команды делают прогнозы по доходности программы на конец 10-го дня. На каждом шаге аукциона команда может только уточнить оценку доходности программы, которую она сделала до этого. Когда одна из команд отказывается дальше уточнять свою оценку доходности, другая команда может еще раз уточнить оценку и аукцион завершается. Руководитель программы записывает текущие прогнозы по доходности каждой из команд.
5. Прогнозы и обязательства проверяются в дальнейшей симуляции работы завода до окончания игрового сценария, итоговые показатели фиксируются и сравниваются с прогнозными.
6. Побеждает та команда, которая управляла программы с фактической прибылью, уложившейся в границы прогноза. Если угадали обе команды, выигрывает та, чей диапазон прогноза доходности программы уже.
7. Участники получают доступ к тестовым заданиям и могут закрепить полученные знания, пройдя тесты.

Чему можно научиться?

1. Систематическому принятию решений и прохождению развилок на основании фактов, а не только мнений.
2. Поиску ошибок в решениях и структурированной аргументации в пользу того или иного варианта.
3. Полезному и адекватному абстрагированию и построению простой модели сложной ситуации.
4. Если пройдете тесты, то потренируетесь переносить эти знания в другие предметные области.
Фрагмент системной модели, по которой вы будете принимать инвестиционные решения.
Что может пойти не так и что я сделал, чтобы все было как надо?

1. Все. Все пойдет не так. - Я разрабатываю этот тренажер 7 месяцев и сделал 8 пилотных прогонов, собрал большинство шишек, море отрицательной и положительной обратной связи от игроков. Что-то все равно всплывет, и если это что-то вам не понравится, вы можете в любой момент выйти из игры с возвратом денег.

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

3. Производство автомобилей - это очень далеко от вашей области деятельности. - Логика симулятора линейная, все визуализировано, обычно понять, что происходит, не так сложно. Если все-таки не получается, можно в любой момент выйти из игры и забрать деньги. Кроме того, тренажер показывает действие универсальных принципов принятия решений, которые можно применить в различных областях от разработки ПО до ритейла.

4. Английский язык. - Увы, есть технические трудности русификации симулятора, с которыми пока ничего сделать не получилось. Мы работаем над этим, а пока тренажер для тех, кого минимальный технический английский не пугает. Чтобы было проще, я подготовил словарь терминов проекта. Кроме того, есть краткое руководство по игре на русском.

Хочу в игру!

1. Пока можно записаться на странице мероприятия в Facebook
2. Ссылка на ТаймПад будет завтра, 4 ноября.