Найти в Дзене

01. Управление проектами. OMG Essence. ГОСТ Р 57195-2016

В качестве основы для систематизации воспользуемся подходом, предложенном в стандарте ситуационной инженерии методов OMG Essence и его российском аналоге ГОСТ Р 57195-2016 "Ядро и язык для методов системной и программной инженерии. Общие положения". OMG Essence Стандарт OMG Essence разработан консорциумом Object Management Group (OMG), известным по UML, BPMN и другим стандартам. Официально принят в 2008 году. Создан как ответ на проблему "методологического провала" – когда компании внедряют тяжелые методологии но не получают отдачи, так как теряется их суть и гибкость (http://sewiki.ru/OMG_Essence). В основе стандарта лежат работы Ивара Якобсона (Ivar Jacobson, https://www.ivarjacobson.com/essence-explained-agile-tools) и его концепция "Kernel & Language for Software Engineering Methods" (SEMAT). В настоящее время действует редакция стандарта 1.2, принятая в 2018 г. (https://www.omg.org/spec/Essence/1.2/About-Essence). Также выпущена бета версия редакции 2.0 (https://www.omg.org/spec/

В качестве основы для систематизации воспользуемся подходом, предложенном в стандарте ситуационной инженерии методов OMG Essence и его российском аналоге ГОСТ Р 57195-2016 "Ядро и язык для методов системной и программной инженерии. Общие положения".

OMG Essence

Стандарт OMG Essence разработан консорциумом Object Management Group (OMG), известным по UML, BPMN и другим стандартам. Официально принят в 2008 году. Создан как ответ на проблему "методологического провала" – когда компании внедряют тяжелые методологии но не получают отдачи, так как теряется их суть и гибкость (http://sewiki.ru/OMG_Essence). В основе стандарта лежат работы Ивара Якобсона (Ivar Jacobson, https://www.ivarjacobson.com/essence-explained-agile-tools) и его концепция "Kernel & Language for Software Engineering Methods" (SEMAT). В настоящее время действует редакция стандарта 1.2, принятая в 2018 г. (https://www.omg.org/spec/Essence/1.2/About-Essence). Также выпущена бета версия редакции 2.0 (https://www.omg.org/spec/Essence/2.0/Beta1/About-Essence).

По существу Essence, – это не методология, а мета-стандарт (язык для описания методологий). Он предназначен для:

  1. Унификации всех подходов к разработке ПО (Agile, Waterfall, Scrum, Kanban и др.) на основе общих, неизменных понятий.
  2. Оценки и улучшения состояния проекта в любой момент времени.
  3. Создания и адаптации практик и методологий под конкретные нужды команды и проекта.

Ключевые концепции

1. Ядро (Kernel)

Рис. 1 Области интересов ядра
Рис. 1 Области интересов ядра

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

  • "Клиент" (Customer): Данная область охватывает все, что связано с фактическим использованием продукта, создаваемого в проекте;
  • "Решение" (Solution): Эта область концентрируется на вопросах спецификации, проектирования, разработки и материализации самого продукта;
  • "Деятельность" (Endeavor): Здесь в фокусе внимания находится внутренняя организация процесса: команда, ее структура, применяемые методы, практики и технологии работы.

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

2. Альфы (Alphas)

Ядро описывает проект через 7 ключевых сущностей "Alpha" (от Abstract-Level Progress Health Attribute) – "Альфа".

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

Рис. 2 Альфы ядра и связи между ними в пердставлении OMG Essence
Рис. 2 Альфы ядра и связи между ними в пердставлении OMG Essence

Ядро включает в себя следующие взаимосвязанные Альфы, в областях интересов ядра:

  • возможность (Opportunity);
  • заинтересованные стороны (Stakeholders);
  • требования (Requirements);
  • программная система (Software System);
  • работа (Work);
  • команда (Team);
  • технология работы (Way of Working).
Рис. 3 Альфы ядра и связи между ними в пердставлении ГОСТ Р 57195-2016
Рис. 3 Альфы ядра и связи между ними в пердставлении ГОСТ Р 57195-2016

3. Состояния (States) и Контрольные списки (Checklists)

Каждая Альфа имеет четкую последовательность состояний, через которые она должна пройти для успеха проекта. Например, состояние "Решение" проходит путь от "Архитектура выбрана" до "Решение протестировано". Смена состояния Альфы обычно происходит как результат выполнения работ. Фиксация факта смены состояния обозначается как событие. Для оценки достижения Альфой конкретного состояния используются контрольные списки (чек-листы)

4. Практики (Practices)

Essence не заменяет Scrum, DevOps или тестирование, а описывает их как "Практики" – модульные, комбинируемые блоки, которые помогают продвигать Альфы по их состояниям.

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

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

5. Работы (Work) и Рабочие продукты (Work products)

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

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

Рис. 4 Практики и их связь с остальными концепциями
Рис. 4 Практики и их связь с остальными концепциями

Рабочие продукты могут быть конструктами, либо артефактами.

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

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

Оценка состояния рабочих продуктов используется для составления ответов на вопросы чек-листов Альфы.

6. Игровое поле (Game Board)

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

Рис. 5 Доска прогресса проекта
Рис. 5 Доска прогресса проекта

Также Essence определяет и оперирует такими понятиями, как "Компетенции", "Пространство действий", "Ресурсы".

ГОСТ Р 57195-2016 "Ядро и язык для методов системной и программной инженерии. Общие положения" (https://docs.cntd.ru/document/1200141167), – это полный аналог и официальная версия OMG Essence 1.1. Содержательно они идентичны. Все ключевые концепции полностью заимствованы из OMG Essence без изменений.

Таким образом, OMG Essence (ГОСТ Р 57195-2016), – это универсальный язык и карта для навигации по любому проекту разработки, который помогает командам сосредоточиться на главном и осознанно выбирать и комбинировать практики, а не слепо следовать предписанной методологии проектного управления.

Наблюдения

Рассмотрение ключевых концепций OMG Essence позволило сделать несколько выводов, важных для дальнейшего изложения.

  1. Стандарт является объектно-ориентированным. Это отличает его от множества современных методов управления проектами, которые строятся на процессном подходе, то есть используют процессный взгляд на деятельность. Это нельзя считать достаточно адекватным решением. Проект по существу конечен и не повторяем и, потому, является антитезой процессу.
  2. Стандарт расширяет объем используемых при управлении проектом сущностей, делая картину максимально всесторонней и полной.
  3. Стандарт создавался OMG для проектов по разработке ПО, потому его подход к проекту более инженерный, нежели организационный. Если оценивать соответствие основных положений Essence уровням системной сложности (https://dzen.ru/a/Z7JFHSHoCCVn_fpw?share_to=link), то его следует отнести к инженерному аспекту. Организационный и социо-динамический аспекты раскрываются в нем лишь отчасти.

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