Согласно результатам исследований, в период с 2018 по 2023 год было разработано более 500 миллионов различных программ. Для сравнения, это больше, чем за предыдущие 40 лет. Кроме того, по прогнозам специалистов:
- к 2025 году 70% ПО будет основано на low-code/no-code;
- 79% организаций при создании веб-приложений полагаются на собственные технологии;
- всё больше компаний внедряют платформы интегрированной среды разработки (IDE).
Такие тенденции меняют принципы создания нового программного обеспечения с учётом требований к его качеству и простоте использования. К тому же платформы IDE часто затрудняют процессы распределения ресурсов и коммуникации в командах, поскольку ИТ-специалисты могут работать из разных точек мира и часовых поясов.
Process mining (PM) позволяет решить данные проблемы за счёт мониторинга процессов разработки ПО, определения их соответствия требованиям и выявления областей для оптимизации.
Ниже примеры использования PM в разработке программного обеспечения.
Контроль SDLC
Жизненный цикл разработки программного обеспечения (SDLC) является обязательной структурой, определяющей задачи процесса разработки ПО на каждом из этапов:
- планирование,
- анализ технических требований,
- минимизация затрат,
- прогнозирование ошибок,
- проектирование архитектуры программного решения,
- тестирование и анализ ПО.
Process mining помогает контролировать весь жизненный цикл разработки программного обеспечения путём определения и отображения реальной модели процесса. Благодаря этому можно определить, не пропущены ли какие-либо этапы.
Мониторинг и управление проектами по разработке ПО
Как правило, срок реализации проекта по разработке софта длится от 2 до 12 месяцев. При этом руководитель должен:
- контролировать весь процесс;
- учитывать возможные риски;
- выявлять «узкие места»;
- следить за соблюдением норм качества, затратами, сроками и обеспечением коммуникаций.
Process mining даёт возможность картировать весь БП реализации проекта, позволяя команде разработчиков его контролировать, выявляя проблемы и зоны риска.
Обеспечение качества
Один из главных критериев при разработке ПО – создание высококачественного софта в кратчайшие сроки. Тем не менее, в среднем 49% проектов признаются неудачными.
В рамках проекта по созданию программных решений QA-инженеры контролируют функциональность, надёжность, удобство использования, простоту обслуживания и портативность. Process mining позволяет проводить проверку соответствия и анализировать первопричины в автоматическом режиме, что помогает контролировать QA-процессы, обеспечивая их эффективность.
Соответствие требованиям
С помощью процессной аналитики можно оценить уровень соблюдения правил, норм и стандартов компании при создании нового ПО. Таким образом, вендоры могут осуществлять мониторинг и принимать меры в тех случаях, когда продукт не соответствует установленным требованиям.
Например, бразильская компания использовала process mining для анализа разработки программного обеспечения. Выяснилось, что:
- 90% БП соответствуют порядку выполнения;
- 25% – были пропущены на этапе планирования;
- 44% – не были описаны в документации.
Анализ эффективности
Process mining предоставляет возможность создания персонализированных информационных панелей и определения KPI процесса. ИТ-специалисты могут использовать эти показатели для оценки эффективности работы программного инструмента и самого проекта.
В одном из исследований описывается применение технологии process mining к процессу разработки программного обеспечения. Удалось определить следующее:
- 3 специалиста команды технической поддержки чаще других занимаются доработкой элементов ПО;
- этап анализа в рамках модели был пропущен;
- 50% функций, в отношении которых не был проведён анализ, требовали переработки.
Управление инцидентами
Управление инцидентами – это процесс реагирования на незапланированные события или прекращение предоставления услуги. Его эффективность важна для поддержания должного уровня обслуживания и минимизации затрат.
Process mining помогает оптимизировать данный процесс путём выявления возможностей автоматизации и дальнейшего улучшения. Кроме того, благодаря функции прогнозирования ИТ-специалисты могут «предвидеть» потенциальные проблемы и своевременно применять меры по их устранению.
Распределение и координация ресурсов
Распределение ресурсов является одним из основных вопросов при разработке ПО из-за сложности взаимодействия команд и наличия зависимостей между выполняемыми операциями.
Process mining, визуализируя процесс с учётом нужных данных, позволяет руководителям проектов анализировать то, как происходит распределение ресурсов по задачам, при необходимости перераспределять их, контролировать деятельность команд и координировать работу специалистов.
По материалам AIMultiple