Перейти к основному содержимому

Карта инженерных возможностей

Обзор Карты инженерных возможностей

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

Настройка карты инженерных возможностей

INFO

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

Чтобы настроить карту инженерных возможностей:

  1. В правом верхнем углу нажмите на шестерёнку.
  2. В раскрывающемся меню выберете Enterprise settings.
  3. На открывшейся странице в левой панели пролистайте до раздела Gitlife Insight и выберете пункт Engineering Index Configuration Center. Откроется страница со списком предудущих и текущей версии настроек.
  4. В правом верхнем углу нажмите кнопку Create. Откроется окно создания настроек карты инженерных практик с предзаполненными по предыдущей версией этапами (столбцы) и метриками (пунткы в столбцах).
  5. Настройте этапы производственного процесса:
    • чтобы изменить последовательность этапов (столбцов) используйте перетаскивание столбцов;
    • чтобы отредактировать этап разработки нажмите на его заголовок и в открывшемся окне в поле Name измените название этапа, в поле Stage Score укажите максимальное количество очков за этап;
    • чтобы удалить этап разработки нажмите на его заголовок и в открывшемся окне нажмите кнопку Delete;
    • чтобы создать новый этап в правой части нажмите кнопку + Add, укажите название этапа и максимальное количество очков за этап.
  6. Настройте метрики инженерных практик:
    • чтобы просмотреть и удалить лишние метрики в правом верхнем углу нажмите кнопку View all Indicators, в открывшемся окне найдите лишние метрики и нажмите кнопку Delete напротив лишних метрик;
    • чтобы создать новые метрики
    • чтобы соотнести метрики с этапами разработки используйте перетаскивание;
    • чтобы переименовать метрику нажмите на неё и в открывшемся окне введите новое название в поле Name;
    • при необходимости измените идентификатор метрики в поле Code;
    • при необходимости измените описание уровней метрик в соответствующих полях;
  7. Нажмите кнопку Publish.

Созданные настройки начнут действовать с текущего момента.

INFO

Изменение метрик и показатели можно будет увидеть на следующий день, так как метрики собираются один раз в день.

Расчёт Engineering Score

Расчёт Engineering Score

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

Engineering Score (104) = Requirement (24) + Development (20) + Testing (20) + Pre-Release (20) + Release (20)

Расчёт Engineering Maximum Score

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

Расчёт баллов для индикаторов и групп индикаторов

Количество баллов, установленное для группы индикаторов делится на количество индикаторов. Например, для группы установлено максимальное количество баллов 20, количество индикаторов 3, тогда для каждого индикатора в этой группе максимальное количество баллов 20 / 3 = 6,67.

За достижение каждого уровня индикатора начисляются баллы. Если индикатор на самом нижнем уровне (WEAK или None), то для него количество баллов будет 0.

Нулевой уровень индикатора

За первый уровень (Poor) будет начислено: 1 * (максимальное количество баллов для группы индикаторов / количество уровней индикатора)

Например, если максимальное количество баллов для группы из трёх индикаторов (как в примере выше) 20 / 3 = 6,67 и количество уровней индикатора 4 (нулевой уровень индикатора не учитывается так как за его достижение не начисляются баллы), то для индикатора из данной группы за достижение первого уровня будет начислено:

1 * (6,67 / 4) = 1,67

Первый уровень индикатора

За второй уровень (L0) будет начислено: 2 * (максимальное количество баллов для группы индикаторов / количество уровней индикатора)

Например, если максимальное количество баллов для группы из трёх индикаторов (как в примере выше) 20 / 3 = 6,67 и количество уровней индикатора 4 (нулевой уровень индикатора не учитывается так как за его достижение не начисляются баллы), то для индикатора из данной группы за достижение первого уровня будет начислено:

2 * (6,67 / 4) = 3,34

Второй уровень индикатора

За третий уровень (L1) будет начислено: 3 * (максимальное количество баллов для группы индикаторов / количество уровней индикатора)

Например, если максимальное количество баллов для группы из трёх индикаторов (как в примере выше) 20 / 3 = 6,67 и количество уровней индикатора 4 (нулевой уровень индикатора не учитывается так как за его достижение не начисляются баллы), то для индикатора из данной группы за достижение первого уровня будет начислено:

3 * (6,67 / 4) = 5

Третий уровень индикатора

За четвёртый уровень (L2) будет начислено: 4 * (максимальное количество баллов для группы индикаторов / количество уровней индикатора)

Например, если максимальное количество баллов для группы из трёх индикаторов (как в примере выше) 20 / 3 = 6,67 и количество уровней индикатора 4 (нулевой уровень индикатора не учитывается так как за его достижение не начисляются баллы), то для индикатора из данной группы за достижение первого уровня будет начислено:

4 * (6,67 / 4) = 6,67

Четвёртый уровень индикатора

INFO

Не для каждого индикатора установлено все 4 уровня. Есть индикаторы, у которых 2 или 3 уровня. Формула расчёта при этом останется прежней, однако индикация в интерфейсе будет как для неполностью выполняемых инженерных практик.

Для группы индикаторов количество баллов складывается из баллов индикаторов группы.

Индикаторы карты инженерных возможностей

Список индикаторов с расшифровкой уровней, где: L0 - уровень 0 - начальный уровень соблюдения практики. L1 - уровень 1 - средний уровень соблюдения практики. L2 - уровень 2 - высокий уровень соблюдения практики.

T01 - Task Complate Rate:

  • L0 - за последние 30 дней среднее значение Complate Rate достигает 60%;
  • L1 - за последние 30 дней среднее значение Complate Rate достигает 70%;
  • L2 - за последние 30 дней среднее значение Complate Rate достигает 80%.

T05 - Full Security Scan:

  • L0 - для репозитория включено сканирование;
  • L1 - за последние 7 дней проводилось полное сканирование безопасности репозитория;
  • L2 - за последние 3 дня проводилось полное сканирование безопасности репозитория.

T06 - Defect Density - Full:

  • L0 - Количество дефектов с высоким уровнем риска меньше 0.5% на тысячу строк всего кода в репозитории;
  • L1 - Количество дефектов с высоким уровнем риска меньше 0.05% на тысячу строк всего кода в репозитории.

T07 - Thousand line Bug Rate: Thousand line Bug Rate = количество дефектов/(количество добавленных строк кода + количество удалённых строк кода) * 1000

  • L0 - за последние 3 месяца Thousand line Bug Rate меньше 5%;
  • L1 - за последние 3 месяца Thousand line Bug Rate меньше 3%;
  • L3 - за последние 3 месяца Thousand line Bug Rate меньше 1%;

T09 - Code Review Ability:

  • L0 - за последние 30 дней количество комментариев больше 1 (не включая комментрирование своих же запросов на слияние);
  • L1 - за последние 30 дней количество комментариев на 1000 строк больше 1;
  • L2 - за последние 30 дней количество комментариев на 1000 строк больше 4;

T10 - PR-Return Rate:

  • L0 - за последние 30 дней процент возвращенный на доработку запросов на слияние больше 3%;
  • L1 - за последние 30 дней процент возвращенный на доработку запросов на слияние больше 6%;
  • L2 - за последние 30 дней процент возвращенный на доработку запросов на слияние больше 10%;.

T11 - Requirement Association:

  • L0 - включена проверка коммитов на наличие идентификаторов задач из Gitlife Team.

T14 - Pipeline Health:

  • L0 - процент успешно завершенных сборок сборочным конвейером >= 70%;
  • L1 - процент успешно завершенных сборок сборочным конвейером >= 80%;
  • L2 - процент успешно завершенных сборок сборочным конвейером >= 90%.

T15 - Requirement Manage:

  • L0 - за последние 14 дней было создано новое требование ,в котором заполнены поля описание и ответсвенный;
  • L1 - все требования, находящиеся в статусах категории In progress изменяют статус в течение 14 дней;
  • L2 - за последние 30 дней требования проходили производственный процесс не более чем за 14 дней.

T17 - Pipeline Build Frequency:

  • L0 - за последние 30 дней не менее 1 успешно завершенной сборки сборочным конвейером;
  • L1 - за последние 30 дней не менее 3 успешно завершенных сборок сборочным конвейером;
  • L2 - за последние 30 дней не менее 5 успешно завершенных сборок сборочным конвейером;

T18 - Defect Density - Increment:

  • L0 - Количество дефектов с высоким уровнем риска меньше 0.5% на тысячу строк всего добавленного кода;
  • L1 - Количество дефектов с высоким уровнем риска меньше 0.05% на тысячу строк всего добавленного кода;.

T134 - Branch Standard:

  • L0 - название новых веток в репозитории соответсвует стандарту;
  • L1 - название ветки репозитория по умолчанию соответствует стандарту. Для dev-ветки и ветки по умолчанию включена защита;
  • L2 - соблюдены правла L1 а также количество веток в репозитории меньше 20, и период жини веток меньше 2 месяцев.

T135 - Pull Request:

  • L0 - за последние 7 дней создан 1 или более запросов на слияние;
  • L1 - соблюдены требования L0 а также проведено 1 или более ревью и слияние запроса на слияние.

T136 - Static Code Scan:

  • L0 - включено сканирование для репозитория;
  • L1 - включено сканирование для запросов на слияние;
  • L2 - включено quality access control.

T199 - All approval vied:

  • L0 - один ревьюер;
  • L1 - два ревьюера;
  • L2 - более двух ревьюеров.