turkhale

Искать "турханов sdu2020"
На Пикабу
поставил 0 плюсов и 0 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
8357 рейтинг 80 подписчиков 0 подписок 75 постов 5 в горячем

Как создать модель рабочей практики в формате научной статьи?

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


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


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


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


Системная инженерия наработала конкретные приемы:

- сортировки базовых фактов

- выделения вещей и событий

- классификации типов вещей и событий

- создания моделей и метамоделей рабочих практик на основе этих сортировок и классификаций.


Что такое практика?

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

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


Что такое модель?

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


Другие определения

Область обсуждения (universe of discourse, domain): совокупность физических или абстрактных объектов, относящихся к области реального мира, которые выбраны в соответствии с интересом, который они представляют для системы, подлежащей моделированию, и ее окружением.

Метамодель - модель, которая описывает другую модель.


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

Проблема 1. "3 километра терминов и определений". Решение - структурирование области обсуждения (domain partitioning and contexts definition). В хранилище проекта должна появиться папка "Область обсуждения".

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

Проблема 3. "Как объединить каталоги?". Решение - PBS, WBS, SBS и другие разбиения. Универсальных решений нет, но подход единый.

Проблема 4. Измерение неизмеримого. "Что измеряет панель Google Analytics?".


Решение - концептуализация предметной области как заказчика так и разработчика плюс операционализация концептов.


Создание и применение (мета)модели практики для выявления и прохождения развилок проекта (project and design trade-offs). Научные статьи как метод рефлексии над ходом проекта и принятыми решениями.

Показать полностью

Логика не улучшает бизнес, она дает ему устойчивость

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

Логика дает устойчивость. Хочешь выжить - учись думать логично, вероятность серьезных ошибок будет меньше. Ну крутые решения чаще нелогичны.

Студенты регулярно путают состав и структуру системы. Давайте приведу простую иллюстрацию

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


Структура не равна составу.


Управление составом изделия - это PDM, product data management, управление данными по изделию.

Состав - это компоненты. Управление составом - это планирование и контроль перечня компонентов и указанием какой компонент входит в какую сборку.


Управление структурой изделия - это MBSA, model-based systems architecture, системная архитектура.

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


Составом ПО не управляют, это бессмысленно. У ПО есть конфигурация. Управление конфигурацией - это CM, configuration management.

http://rsdn.org/article/Methodologies/CM_basics_part1.xml

http://rsdn.org/article/Methodologies/CM_basics_part2.xml


У изделий тоже есть конфигурация и она не равна составу и структуре. Но в паре предложений о ней не расскажешь, как минимум надо читать книжку:

Студенты регулярно путают состав и структуру системы. Давайте приведу простую иллюстрацию Системная инженерия, Менеджмент
Показать полностью 1

Стало окончательно понятно

что хорошо продается иллюзия понимания сложных вопросов

Про слонов и менеджмент

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

Композитор, который не хотел, чтобы его музыку слушали

Идея фоновой музыки для человечества в целом оказалась более сложной, чем теория относительности.

Больше 50 лет люди безуспешно пытались научиться слушать фоновую музыку, ее изобретатель, Эрик Сати, спился от горя (но попутно помог вырасти ДеБюсси), а мы и сейчас слушаем его произведения.

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

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

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

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

Показать полностью

Толстый тренер по фитнесу

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

Чем предметная область создания ИТ-систем отличается от предметной области клиента? Почему для автоматизации любой бизнес-функции нужны ТЗ, use case, user story, архитектура, настройки конфигурации, а для того, чтобы разрабатывать это никто даже ТЗ на Jira+Confluence не пишет? Ведь для каждого более-менее большого проекта будут свои процессы согласования, планирования, свой график встреч, свои технологии. Казалось бы, у вас как у разработчика ПО тоже есть процесс разработки, который должен быть нормально автоматизирован. Но я редко вижу, чтобы получив ТЗ заказчика и составив планы работ, команда принялась бы думать, как она автоматизирует свою деятельность, будет улучшать и поддерживать эту автоматизацию, пишет ТЗ на инфраструктуру разработки и описывает практики работы. Делает это все с использованием DDD, event storming и других штук, которые она применяет у клиента.

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


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

И это еще не все. Когда процесс разработки описан в Jira или системе управления документооборотом, он будет исполняться, потому что куда денешься. Но вот если разработка описана на флип-чартах, в картинках Visio или draw.io или в презентациях, то все гораздо хуже. Такие модели теряют связь с реальностью вот в каком аспекте. Мы рисуем квадратики, соединяем их стрелочками и под этим подразумевается наличие причинно-следственной связи между предыдущим квадратиком и последующими. Допустим, рисуют, что "Составили ТЗ" - "Сделали постановку задачи" - "Разбили задачи по исполнителям" - "Закодили" - "Протестировали" - "Сдали заказчику". Причинно-следственная связь подразумевает, что если убрать причину, то следствия тоже исчезнут "если бы мы не наняли Васю, то все было бы отлично". В случае простенькой модельки процесса наверху без ТЗ нельзя создать код и протестировать его. То есть создаваемый кусок кода должен отвечать на пункт ТЗ. В жизни сплошь и рядом происходит ровно наоборот - ТЗ живет своей жизнью, не связанной с кодом и техническими решениями. Модель попросту неверна, но слайды с ней гуляют по компании, светятся перед заказчиком и менеджментом, иногда по ней даже строятся планы и даются обещания. Которые, конечно, не исполняются, потому что модель не отражает реальность, в ней указаны несуществующие причинно-следственные связи.

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


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

Показать полностью

Пути и варианты в пространстве выборов проекта

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

В английском языке для обозначения решения используются два разных слова - decision и solution. Например, руководитель проекта - это decision maker, тот, кто принимает управленческие решения, а руководитель проектного отдела, который ведет работы по подсистеме - это solution architect, тот кто принимает технические, проектные решения. Если уходить от составных терминов "управленческие решения" и "проектные решения" и пытаться сказать проще, то наиболее близким по смыслу будут слова "пути" и "варианты" соответственно.


Какие есть пути достижения цели? Другими словами, какие цепочки действий надо выполнить и какие ресурсы и средства нужны, чтобы их выполнить и прийти туда, куда надо?


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


Первый набор вопросов задается руководителями и ответы на них ищутся в дисциплине проектного управления (P3M, portfolio, program and systems management). Второй набор вопросов задается системным инженерам и ответы на них ищутся в дисциплине системной инженерии (MBSE, model-based systems engineering).


Пути определяет руководитель проекта, а варианты - системный инженер.

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


Начинается все с определения проблемы.

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

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


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

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

Из Martin 2003


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

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

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

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


Системная инженерия описывает проблемы и варианты решения проблем с помощью наборов требований. Каждому варианту наборов требований для предлагаемого решения (целевой системы) соответствует своя системная архитектура. Хотим сделать МЦК? Свой набор требований и своя архитектура такого решения проблемы. Хотим запустить МЦД? Свой набор требований и своя архитектура. Даже если мы будем решать проблему рекламной кампанией "Работай из дома, езди попозже", все равно будет свой набор требований и архитектура.

И на каждый вариант, который описан требованиями и архитектурой, будет свой набор путей реализации, который определяется проектным менеджментом.

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

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

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

Чек-лист систем в обеспечении:

- Люди и организации

- Здания, сооружения и оборудование

- Материалы и поставщики

- Услуги и сервисы

- Процессы и методы

- Инструменты и технологии

- Политики и процедуры

- Информация и данные

- Знания

- и многое-многое другое


После того, как мы создали целевую систему и вмешались в бизнес-процесс, у нас меняется не только сам процесс, но и его контекст. Запуск МЦД повлиял на работу метрополитена, операционный и бизнес контексты изменились. И это тоже надо моделировать. В презентациях ИТ-проектов часто можно встретить слайды AS IS и TO BE, это оно. Набор требований как раз и описывает целевую ситуацию, то, как будет устроен бизнес-процесс после внедрения целевой системы, какие будут сценарии выполнения работы, концепция использования целевой системы, какие у нее будут режимы функционирования и характеристики. А проработанная системная архитектура ответит на вопросы за счет чего эти требования будут реализованы.

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

Но вмешательство не всегда несет только улучшения. Мы меняем старое известное на новое неизвестное. У нас появляется неизвестность и риски.


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

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


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

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

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


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

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

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

Пути и варианты в пространстве выборов проекта Проект, Сложный выбор, Система, Длиннопост

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

Итого, когда мы говорим про принятие решений, всегда надо понимать, делаем мы выбор между вариантами или между путями.


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


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


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

Показать полностью 9
Отличная работа, все прочитано!