Карта инженерных возможностей
Обзор Карты инженерных возможностей
Карта инженерных возможностей Gitlife - это интерактивная карта для определения и оценки инженерных практик организации. Карта показывает уровень соблюдения инженерных практик в организации, в проекте, в отдельных командах.
Настройка карты инженерных возможностей
INFO
Предварительно в рабочем пространстве должна быть настроена иерархическая структура работ и бизнес-процессы. Бизнес-процессы, допускающие переходы из любого статуса в любой (без последовательных переходов) не поддерживаются.
Чтобы настроить карту инженерных возможностей:
- В п равом верхнем углу нажмите на шестерёнку.
- В раскрывающемся меню выберете Enterprise settings.
- На открывшейся странице в левой панели пролистайте до раздела Gitlife Insight и выберете пункт Engineering Index Configuration Center. Откроется страница со списком предудущих и текущей версии настроек.
- В правом верхнем углу нажмите кнопку Create. Откроется окно создания настроек карты инженерных практик с предзаполненными по предыдущей версией этапами (столбцы) и метриками (пунткы в столбцах).
- Настройте этапы производственного процесса:
- чтобы изменить последовательность этапов (столбцов) используйте перетаскивание столбцов;
- чтобы отредактировать этап разработки нажмите на его заголовок и в открывшемся окне в поле Name измените название этапа, в поле Stage Score укажите максимальное количество очков за этап;
- чтобы удалить этап разработки нажмите на его заголовок и в открывшемся окне нажмите кнопку Delete;
- чтобы создать новый этап в правой части нажмите кнопку + Add, укажите название этапа и максимальное количество очков за этап.
- Настройте метрики инженерных практик:
- чтобы просмотреть и удалить лишние метрики в правом верхнем углу нажмите кнопку View all Indicators, в открывшемся окне найдите лишние метрики и нажмите кнопку Delete напротив лишних метрик;
- чтобы создать новые метрики
- чтобы соотнести метрики с этапами разработки используйте перетаскивание;
- чтобы переименовать метрику нажмите на неё и в открывшемся окне введите новое название в поле Name;
- при необходимости измените идентификатор метрики в поле Code;
- при необходимости измените описание уровней метрик в соответствующих полях;
- Нажмите кнопку Publish.
Созданные настройки начнут действовать с текущего момента.
INFO
Изменение метрик и показатели можно будет увидеть на следующий день, так как метрики собираются один раз в день.
Расчёт Engineering Score
Общее максимальное количество баллов карты инженерных возможностей складывается из максимального количества баллов для каждой группы индикаторов (стадий). Например:
Engineering Score (104) = Requirement (24) + Development (20) + Testing (20) + Pre-Release (20) + Release (20)
Максимальное количество баллов означает что все установленные индикаторы показывают высший уровень выполнения инженерных практик.
Расчёт баллов для индикаторов и групп индикаторов
Количество баллов, установленное для группы индикаторов делится на количество индикаторов. Например, для группы установлено максимальное количество баллов 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 - более двух ревьюеров.