Для успешной разработки программного продукта необходимо грамотное управление процессом разработки. Управление разработкой программного продукта включает в себя обеспечение необходимых условий для труда разработчиков, планирование процесса разработки и контроль качества [1–3; 7, с. 365].
Для планирования процесса разработки существует множество методов. При анализе как ранних, так и поздних сроков начала и окончания реализации различных частей проекта используется метод сетевого планирования. Данный метод связывает все составляющие этапы работ над проектом воедино, что позволяет определить общую продолжительность всего проекта.
Существуют как вероятностные, так и детерминированные сетевые методы. К вероятностным относится метод статистических испытаний, метод Монте-Карло, а также метод оценки и пересмотра планов (далее PERT), которые относятся к группе неальтернативных. В качестве альтернативного выделяется метод графической оценки и анализа (далее GERT). А к детерминированным относятся диаграмма Ганта и метод критического пути [5, с. 18–20].
Большие проекты характерны сложностью построения плана или графика этапов работ. В качестве одного из методов, которые могут применяться в таком случае, является метод GERT, в основу которого входит применение GERT-сетей. Данный метод позволяет определить ожидаемую продолжительность работ проекта на основе трёх вероятностных оценок времени. Сетевая модель представляет собой вероятностную сеть, учитывающую возможность различного состава работ проекта. Это позволяет учесть риски на уровне всего проекта, а не только отдельного этапа. Однако также накладывается условие, что очередной этап может начинаться только после того, как закончится работа над предыдущим. [4].
Такая техника оценки, как PERT, ориентирована на анализ необходимых задач для полноценной реализации проекта. В основу входит анализ времени выполнения каждой отдельно взятой задачи, а также поиска минимального. Самой популярной частью PERT является сетевой график, который также рассматривается как полноценный самостоятельный метод, который был использован при проектировании информационной системы (далее ИС) «Учёт материально-технического снабжения в учреждениях министерства социальной политики Красноярского края» (далее «УМТС»).
Сетевой график проекта представлен на рис. 1. Каждая вершина соответствует этапу работ. Стрелки показывают, какие работы необходимо выполнить, чтобы возможно было начать тот или иной этап.
Этапы разработки, отмеченные номерами, указаны в табл. 1.
Рис. 1. Сетевой график
Таблица 1
Этапы разработки проекта
№ |
Название работы |
Срок, сут. |
1 |
Начало реализации проекта |
0 |
2 |
Разговор с заказчиком |
2 |
3 |
Исследование предметной области |
6 |
4 |
Проектирование классов и основных алгоритмов |
5 |
5 |
Разработка основных модулей ИС |
10 |
6 |
Тестирование основных модулей ИС |
8 |
7 |
Разработка и дизайн интерфейса |
3 |
8 |
Тестирование и исправление ошибок |
5 |
9 |
Демонстрация ИС заказчику |
1 |
10 |
Составление программной документации |
3 |
11 |
Завершение проекта |
0 |
При разработке как малых, так и крупных проектов, важно учитывать минимальный возможный временной диапазон на выполнение всех задач для реализации проекта. В таком случае прибегают к поиску критического пути. Основой данного метода является определение наиболее продолжительной последовательной цепочки задач от начала проекта до его окончания. При поиске минимального временного диапазона разработки проекта предполагается, что этапы, составляющие критический путь, не имеют резерва во времени. Такое условие необходимо, т.к. идёт сильное влияние на разработку проекта. Неправильное определение критического пути, т.е. последовательности наиболее трудоёмких во времени задач, приведёт к изменению сроков окончания, срока окончания проекта.
Все работы, которые не относятся к критическому пути, могут обладать временными запасами, а также для них возможно определить два срока: начало и окончание этапа, соответственно наиболее ранние и наиболее поздние.
Используя сетевой график, мы можем рассчитать время раннего и позднего начала работ.
Чтобы определить самое раннее время начала работы этапа, необходимо определить наибольшую длину пути до этого этапа на сетевом графике. Раннее начало последующей работы определяется ранним окончанием предыдущих работ.
Раннее начало и окончание определяются для всех работ графика последовательно от начального события. Расчет определения ранних сроков окончания работ все время идет по наибольшим величинам продолжительности работ.
Позднее начало работы этапа, которое не задержит процесс разработки, определяется разностью продолжительности критического пути и наиболее длинного пути от предшествующего этапа данной работы до конечного. Позднее время начала работ для конкретного этапа определяется как разность между длинами критического пути и наибольшего пути от предшествующего этапа работ до конечного. Если предшествующих этапов несколько, то следует принять минимальное значение, чтобы не вызвать задержки в выполнении последующих работ.
Рис. 2. Расчёт раннего времени начала работ
Рис. 3. Расчёт позднего времени начала работ
Резерв времени показывает можно ли отложить начало выполнения данного этапа после выполнения предшествующего, и на сколько. Он определяется как разность между ранним временем начала этапа и поздним. Расчёт резерва времени для этапов проекта представлен в табл. 2.
В результате мы увидим этапы разработки, по которым есть запас времени. Те этапы, у которых раннее время начала совпадает с поздним имеют нулевой резерв времени. Последовательность, составленная из таких этапов, является критическим путём. Работа над этапами, входящими в критический путь должна начинаться, как только это становится возможным, чтобы работы завершились в срок [5, c. 18]. Критический путь сетевого графика представлен на рис. 4.
Таблица 2
Расчёт резерва времени
Работа |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Раннее время начала |
0 |
0 |
0 |
6 |
11 |
21 |
21 |
29 |
34 |
34 |
37 |
Позднее время начала |
0 |
4 |
0 |
6 |
11 |
21 |
26 |
29 |
36 |
34 |
37 |
Резерв времени |
0 |
4 |
0 |
0 |
0 |
0 |
5 |
0 |
2 |
0 |
0 |
Рис. 4. Критический путь сетевого графика
В работе над разработкой данной ИС мы составили календарный план с помощью диаграммы Ганта. Данный метод пользуется достаточной популярностью в сетевом планировании, особенно в проектах небольшого масштаба. Данная диаграмма иллюстрирует план работ по проекту. В основу входят линии, которые зависимы от времени, и отображают временной период, который выделен на конкретную задачу среди остальных задач проекта. Концы линии отражают начало и завершение работы над данной задачей. Ключевым понятием в диаграмме Ганта служат «Веха» – метка значимого момента в ходе выполнения работ, общая граница задач.
Диаграмма Ганта нашего проекта представлена на рис. 3, представлены этапы разработки проекта и визуальное представление этих этапов в виде ленточной диаграммы.
Рис. 5. Диаграмма Ганта
Одна из задач менеджера – обеспечить комфортные условия для труда разработчиков. В это входит обеспечение разработчиков помещением, средствами коммуникации и необходимым оборудованием, а также распределение труда между разработчиками.
Существует множество программных средств, призванных помочь в процессе управления [8]. Основным инструментом менеджера будут служить системы планирования, отслеживания и контроля за программными проектами. В качестве примера таких систем можно выделить: Atlassian Jira, Bugzilla, Redmine, GNATS, YouTrack, Trac и другие [6]. Большинство из приведённых программ относится в основном к системам отслеживания ошибок, которые иногда используются и для управления программными проектами (например, Jira). В тоже время некоторые средства по управлению проектами используются и в целях отслеживания ошибок (например, Redmine).
На стадии программирования особенно при удалённой работе возникает необходимость в отслеживании различных изменений в коде программы. Для этого применяют системы контроля версий. Самой из популярной из таких систем является Git. В качестве репозитория часто используют GitHub – крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки, основанный на системе контроля версий Git.
Система отслеживания ошибок Atlassian Jira является, в своём роде, универсальным средством, чтобы решать достаточно большой объём задач, которые, на первый взгляд, не имеют каких-либо связей. Также данное программное обеспечение обладает возможностями для расширения функционала за счёт разработки дополнительных плагинов, т.е. Jira является очень гибкой системой управления проектами. Она позволяет планировать работу, организовывать её по задачам, управлять загрузкой, поддерживать коммуникацию на разных стадиях проекта и контролировать любые проекты. В работе над ИС «УМТС» менеджмент проводился именно в системе Jira.
Программные средства коммуникации могут представлять собой программы для обмена мгновенными сообщениями (программы-мессенджеры). В работе над проектом связь разработчиков проводилась с помощью программы Telegram. Также в корпоративной среде популярностью пользуется программа Slack.
Таким образом, мы рассмотрели на примере разработки информационной системы «УМТС» некоторые методы, применяемые для управления программным проектом. Также мы рассмотрели технические средства, используемые проектными менеджерами в процессе управления разработкой.
Библиографическая ссылка
Евдокимов И.В., Коваленко М.А., Мелех Д.А. УПРАВЛЕНИЕ РАЗРАБОТКОЙ И ВНЕДРЕНИЕМ УЧЁТНОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ // Научное обозрение. Экономические науки. – 2017. – № 4. – С. 34-39;URL: https://science-economy.ru/ru/article/view?id=950 (дата обращения: 03.10.2024).