Реализация задач национальной программы «Цифровая экономика Российской Федерации» [1] связана с организацией и выполнением ИТ-проектов различного вида и уровня. Современным проектам по формированию и развитию единого информационного пространства организаций свойственны: направленность проектов на задачи интеграции информационных систем и технологий, автоматизацию сквозных бизнес-процессов, которые выполняются не только в рамках одной организации, но и на межорганизационном уровне; сжатые сроки реализации; высокий уровень профессиональной квалификации участников проекта и др.
Одним из требований к информационным системам организаций в настоящее время является возможность быстрой адаптации программного обеспечения к изменениям в процессах предметной области. В связи с этим активное развитие в последнее десятилетие получили методы быстрой разработки программных систем: метод быстрой разработки программного обеспечения RАD (Rapid Аpplicаtion Development) (1991 г.) [2], метод разработки программного обеспечения SCRUM (Sprint Continious Rugby Unified Methodology) (1995 г.) [3, 4], адаптивная методология разработки программного обеспечения ASD (Adaptive software development) (1997 г.) [2], гибкая методология разработки программного обеспечения Agile (2001 г.) [5, 6]. В основе вышеперечисленных методов лежит итерационная разработка прототипов системы с активным участием заказчиков, в результате которых выпускается программный продукт с новыми функциями, имеющими наивысший приоритет. Такой подход к разработке программного обеспечения позволяет оперативно учитывать изменяющиеся требования и быстро адаптировать к ним процессы жизненного цикла системы.
Цель исследования: рассмотреть подходы к использованию методологий Agile при реализации проектов по развитию функциональных возможностей электронной информационно-образовательной среды (ЭИОС) университета. Описать методику использования Agile для управления ИТ-проектом, реализация которого требует интеграции программных систем, разработанных и сопровождаемых несколькими компаниями.
Материалы и методы исследования
Проектам по развитию ЭИОС свойственны все вышеперечисленные характеристики современных ИТ-проектов, а также:
- динамически изменяющиеся требования к программным компонентам ЭИОС;
- выполнение функций ЭИОС требует интегрированного взаимодействия нескольких программных систем;
- автоматизируемые функции реализуются как сквозные процессы различного типа (внешние, внутренние);
- программные системы, входящие в состав ЭИОС, разработаны и сопровождаются как ИТ-службами университета, так и различными ИТ-компаниями.
Учитывая состав и организацию архитектуры программно-технического комплекса ЭИОС университета, для выполнения ИТ-проекта по расширению ее функциональных возможностей – добавление новых функций, основанных на взаимодействии нескольких АИС и корпоративного информационно-образовательного портала, была выбрана методология Agile. Специфика проекта заключается в необходимости организации совместной работы нескольких ИТ-компаний, которые являются разработчиками или сопровождают автоматизированные информационные системы, входящие в состав ЭИОС университета. Структурная схема взаимодействия программных систем, обеспечивающих функционирование ЭИОС, представлена на рис. 1.
Рис. 1. Структурная схема взаимодействия программных систем, обеспечивающих функционирование ЭИОС
Использование Agile подхода для реализации данного проекта позволяет [5, 6]:
- сбалансировать вкладываемые в планирование усилия и трудозатраты с учетом того, что план будет пересматриваться в процессе осуществления проекта, причем изменения обусловлены получением новой информации, исправлением ошибок, расширением или сокращением конкретной функции;
- использовать специальные стратегии при формировании команд разработчиков, представляющих различные ИТ-компании, и организации их совместной работы;
- обеспечить активное участие владельца продукта на всех этапах проекта, что позволяет определять необходимый порядок реализации функций, сфокусироваться на разработке наиболее приоритетных для пользователей функций.
Результаты исследования и их обсуждение
Рассмотрим методику использования Agile для управления ИТ-проектом по расширению функциональных возможностей ЭИОС, реализация которых требует интеграции программных систем, разработанных и сопровождаемых несколькими компаниями.
Этап 1. Определение цели проекта.
С учетом стратегии развития ЭИОС определяются цели проведения проекта. Формируется перечень задач, обеспечивающих достижение поставленных целей.
Этап 2. Планирование проекта.
При планировании проекта специфика применения Agile заключается в его многоуровневности (рис. 2), которая проявляется в формировании плана проекта и планов итераций [6].
При Agile подходе к планированию характерны:
- ориентация на возможность внесения изменений в план проекта после выполнения итерации;
- распределение процесса планирования на весь срок выполнения проекта.
В ходе каждой итерации команда реализует одну или несколько небольших функций, и при условии успешного тестирования и получения завершенного статуса она встраивается в программный продукт.
Каждая итерация завершается оценкой ее результатов и планированием, т.е. принятием решения об использовании новых знаний для адаптирования проводимых оценок и имеющихся планов к новым, уникальным и конкретным ситуациям в проекте (рис. 3).
Планирование проекта включает определение АИС, обеспечивающих реализацию автоматизируемых функций, и технических служб, сопровождающих программные системы (табл. 1).
Рис. 2. Многоуровневость планирования итерации при Agile подходе
Рис. 3. Итерационный процесс планирования и оценки проекта при Agile подходе
Таблица 1
Программные системы, обеспечивающие реализацию автоматизируемых функций
Функции |
Используемые программные системы |
Сопровождение |
Команды сопровождения |
Функция 1 |
Программная система / приложение организации |
ИТ-структуры организации |
O-ИТ-А; O-ИТ-В |
Внешние организации |
В-ИТ-А; В-ИТ-В |
||
Функция 2 |
Интегрированное решение, включающее приложения организации |
ИТ-структуры организации |
O-ИТ-А; O-ИТ-В |
ИТ-структуры организации Внешние организации |
O-ИТ-А; O-ИТ-В В-ИТ-А; В-ИТ-В |
||
Внешние организации |
В-ИТ-А; В-ИТ-В |
||
Функция 3 |
Интегрированное решение, включающее приложения организации и внешние системы |
ИТ-структуры организации Внешние организации |
O-ИТ-А; O-ИТ-В В-ИТ-А; В-ИТ-В |
Внешние организации |
В-ИТ-А; В-ИТ-В |
При выборе функции для итерации Agile-команда ориентируется на бизнесприоритеты [6]:
– реализация функций в порядке, определенном владельцем продукта, который ранжирует вновь создаваемые функции в проекте;
– направление фокуса на разработку функций, наиболее важных для пользователей.
Этап 3. Планирование итераций.
3.1. Распределение ролей участников проекта.
При Agile подходе распределяются следующие роли между участниками проекта (рис. 4):
- владелец продукта: представляет интересы заказчика, участников реализуемой функции, конечных пользователей;
– мастер итерации: обеспечивает выполнение процессов итерации, организует коллективную работу всех участников проекта посредством специальных программных инструментов, разрешает конфликты, проводит обсуждения, анализ и оценку итерации;
- команда разработки: включает специалистов разного профиля из различных ИТ-компаний, объединенных в единую команду, которая способна в сжатые сроки создавать работающие программные системы с расширенным функционалом.
3.2. Определение процессов итерации.
При Agile подходе основными процессами каждой итерации являются: планирование, выполнение, обсуждение, обзор и ретроспектива итерации [3, 7] (табл. 2).
Планирование итерации включает:
- формирование требований к программной системе на основе сведений, полученных от заказчика, владельца продукта, имеющихся на текущий момент;
- составление перечня задач с указанием их приоритетов (весов);
- подготовка плана итерации: выбор командой разработчиков, представляющих компании А и В, задач, которые имеют наивысший приоритет и которые возможно выполнить в рамках одной итерации.
Рис. 4. Схема распределения ролей участников проекта по развитию функциональных возможностей ЭИОС университета
Таблица 2
Процессы итерации
Процессы |
1. Планирование итерации |
Определение требований итерации. План итерации в целом. Планы итерации для компаний А и В |
2. Реализация (разработка) |
Реализация задач итерации (разработка). Реализация задач итерации компаниями А и В |
|
3. Обсуждение |
Регулярные коммуникации по задачам итерации в целом; по задачам итерации, выполняемым компаниями А и В |
|
4. Анализ результатов |
Демонстрация, анализ результатов итерации по проекту в целом, подведение итогов. Демонстрация, анализ результатов итерации по задачам компаний А, В; подведение итогов |
|
5. Ретроспектива |
Выявление проблем в реализации процессов итерации, поиск решений и учет их в дальнейшем планировании |
Следует учесть, что в процессе реализации итерации состав задач не может изменяться.
3.3. Описание артефактов проекта [3, 6].
В состав артефактов проекта входят: цели проекта и итераций, бэклоги проекта и продукта, инкремент продукта (табл. 3).
Этап 4. Определение модели процесса реализации.
Реализация в ходе итерации включает процессы: планирование, анализ, проектирование, разработка, тестирование, оценка, обсуждение [3, 7].
В проектах, где участвуют команды разработчиков нескольких ИТ-компаний (компания А, компания В), структура процесса реализации может быть линейной и комбинированной (рис. 5). При линейной структуре в процессе реализации последовательно участвуют команды ИТ-компаний (рис. 5, Итерация 1). При реализации комбинированной модели возможны комбинации параллельной, последовательной и совместной работы команд разработчиков ИТ-компаний (рис. 5, Итерация 2, Итерация 3).
Этап 5. Формирование структуры доски задач проекта.
Для организации коммуникаций и координации совместной работы всех участников проекта применяются специальные программные инструментальные средства [8], реализующие функции доски задач проекта (рис. 6).
Таблица 3
Описание артефактов проекта
Артефакты |
Цели |
Цели проекта. Цели итерации |
Бэклог проекта |
Формирование банка задач проекта в целом, задач проекта для компаний А и В с указанием приоритета (веса) каждой задачи. Формирование банка задач итерации в целом, задач итерации для компаний А и В с указанием приоритета (веса) каждой задачи. Формирование результатов в итерации по задачам компаний А и В |
|
Бэклог продукта |
Описание функций программного продукта по итерации в целом. Описание функций, реализованных компаниями А и В |
|
Инкремент продукта |
Результат выполнения итерации (программный продукт с новым функционалом) |
Рис. 5. Структурная схема процесса реализации в итерациях проекта
Рис. 6. Структура доски задач проекта с командой разработчиков из нескольких компаний
Рис. 7. Структура доски задач на платформе Jira
Доска задач проектов может включать блоки: новая; подтвержденная; в работе; тестирование; решена; требует обратной связи (рис. 7) – что позволяет всем участникам проекта оперативно выполнять мониторинг состояния задач по каждому статусу, объем выполненных по ним работ, выявление простоев и очередей задач в том или ином блоке. В качестве инструментального средства для выполнения функций проектного менеджмента на основе методологий Agile может быть выбран программный продукт Jira [9].
Заключение
Таким образом, использование методологий Agile позволяет сконцентрироваться на создании конкретного результата, сформировать доверительные отношения между заказчиком и проектными командами, посредством полной прозрачности действий всех участников и информирования их по мере появления изменений, а также предоставляются специализированные средства для управления проектной командой, состоящей из разработчиков нескольких ИТ-компаний.