Аннотация
рассмотрена задача автоматизированной диагностики процессов разработки программного обеспечения на основе данных систем контроля версий. Показано, что существующие инструменты инженерной аналитики преимущественно реализуют сценарий управленческого контроля производительности сотрудников, что в силу закона Гудхарта приводит к деградации собираемых показателей и сопротивлению команд. Предложена архитектура информационной системы, в которой защита приватности участников и противодействие закону Гудхарта являются не дополнительной функцией, а условием реализации программного интерфейса: ролевая сегрегация видимости данных реализована на уровне REST API по принципу защиты в глубину и возвращает отказ доступа на уровне сервиса, а не маскирует данные в пользовательском интерфейсе. В качестве методологической основы использованы исследовательская модель DORA в актуальной пятиметричной редакции и фреймворк SPACE как принцип многомерности диагностики. Описаны состав измеряемых метрик и алгоритмы их расчета на основе инкрементально собираемых данных GitLab: время прохождения изменений, частота развертываний, доля неудачных изменений, декомпозированное время жизни запроса на слияние, распределение размеров запросов на слияние и показатель устойчивости команды Bus Factor по модулям кодовой базы. Реализован минимально жизнеспособный продукт системы с тремя ролевыми дашбордами, парной визуализацией показателей скорости и качества, прозрачностью алгоритмов расчета, экспортом отчетов и развертыванием средствами docker-compose, пригодным для сценариев локализации обрабатываемых данных. Результаты применимы для диагностики процессов разработки в командах, использующих GitLab.

Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
