Введение 4
Глава 1 Анализ проблемы перехода с каскадной модели проектирования программного обеспечения на гибкую 8
1.1 Анализ существующих моделей жизненного цикла программного обеспечения 8
1.2 Программный продукт для телекоммуникационной компании и специфика разработки программного обеспечения на телекоммуникационных проектах 20
1.3 Анализ литературы по проблеме перехода от каскадной модели проектирования программного обеспечения на гибкую 23
Глава 2 Анализ гибких моделей проектирования программного обеспечения и их основных инструментов 27
2.1 Анализ современных гибких моделей в разрезе телекоммуникационных проектов 27
2.2 Основные артефакты, инструментарий и практики гибких моделей 32
2.2.1 Проектные роли 33
2.2.2 Пользовательская история 39
2.2.3 Инструменты управления гибкими проектами 42
2.2.4 Командные встречи 44
2.2.5 Бэклог и методы его приоритизации 47
2.2.6 Методы оценки бэклога 50
2.2.7 Инструменты для достижения прозрачности процесса 54
2.3 Шаги, необходимые для перехода с каскадных методов проектирования программного обеспечения на телекоммуникационном проекте на гибкие 57
Глава 3 Создание гибкой модели проектирования программного обеспечения для телекоммуникационного оператора 60
3.1 Анализ существующей каскадной модели проектирования программного обеспечения для Европейского телекоммуникационного оператора 60
3.2 Разработка гибкой модели проектирования программного обеспечения для телекоммуникационного оператора 69
3.3 Описание предложенной модели 86
3.4 Анализ эффективности разработанной модели 91
Заключение 96
Список используемой литературы 97
В современном мире всё чаще разработка ПО для телекоммуникационных операторов ведется на основе гибких моделей. Данный выбор обосновывается тем, что для того, чтобы сделать продукт конкурентоспособным, заказчику приходится оперативно изменять требования к продукту, подстраивая его под требования рынка. Изменения в требованиях влекут за собой быстрые изменения в дизайне, коде, перетестирование продукта. Если проект разрабатывается по методологии Waterfall, это может привести к значительному изменению сроков выдачи продукта и увеличению бюджета, недовольству заказчика и потере прибыли из-за того, что похожую идею другая компания смогла воплотить быстрее. В связи с этим, команды и заказчики выбирают для разработки своего продукта гибкую модель, которая позволяет им выдавать работающий функционал раз в 2-3 недели, быстро реагировать на изменения рынка и максимально быстро находить и устранять дефекты.
Актуальность темы исследования обусловлена необходимостью создания методики проектирования программного обеспечения для телекоммуникационного проекта, сочетающей в себе современные гибкие практики и обеспечивающей быстрый и эффективный переход от каскадной модели разработки проекта на гибкую, а также инкрементальную поставку продукта и повышение производительности команды от релиза к релизу.
Объектом исследования является процесс проектирования программного обеспечения.
Предметом исследования является создание методики и модели проектирования программного обеспечения.
Целью данной работы является разработка методики и модели проектирования программного обеспечения для телекоммуникационного оператора.
Цель работы определила необходимость решения следующих задач:
• изучить исследования специалистов, связанные с моделями проектирования ПО и переходом с каскадной модели проектирования на гибкую;
• произвести обзор существующих гибких моделей проектирования ПО, определить их преимущества и недостатки в разрезе телекоммуникационных проектов;
• произвести анализ популярных гибких практик, определить, какие из них могут быть эффективно использованы на проектах, целью которых является поставка ПО телекоммуникационному оператору;
• предложить шаги для перехода с каскадной модели проектирования ПО для телекоммуникационного оператора на модель с использованием гибких практик;
• проанализировать традиционную модель проектирования ПО на телекоммуникационном проекте (на примере реального проекта для европейского телекоммуникационного оператора);
• разработать гибкую модель проектирования ПО, которая сможет обеспечить высокую эффективность деятельности проекта, создающего программное обеспечение для телекоммуникационного оператора;
• произвести оценку эффективности разработанной модели и доказать гипотезу.
Гипотеза исследования состоит в предположении, что применение разработанных в рамках данного диссертационного исследования методики и модели проектирования ПО для телекоммуникационного оператора обеспечит повышение объема выполненных проектных работ без изменения ресурсов, увеличит скорость поставки продукта, сделает процесс разработки более прозрачным и позволит интегрировать заказчика в процесс разработки.
Основные методы исследования: теоретический анализ, классификация, систематизация, объектно-ориентированный подход к моделированию систем управления, статистический анализ.
Новизна исследования заключается в разработке нового алгоритма перехода с каскадной модели проектирования ПО на гибкую с учетом современных особенностей и требований к проектированию ПО для телекоммуникационных операторов, а также создании гибкой модели на основе предложенного алгоритма.
Практическая значимость данного исследования состоит в возможности практического применения предлагаемых методики и модели проектирования ПО для телекоммуникационного оператора, которые способствуют повышению объема работ без изменения ресурсов, увеличению скорости поставки продукта, позволяют сделать процесс разработки более прозрачным и интегрировать заказчика в процесс разработки.
Методологическую базу исследования составляют работы, опубликованные зарубежными и отечественными авторами, такими как Дж. Сазерленд, Р. Коул, Л. Криспин, Дж. Грэгори, Л. Адкинс, Ю. Аппело, Дж. Грин, Э. Стеллман, А. Ганноченко и др.
Основные этапы исследования: исследование проводилось с 2018 по 2020 годы в несколько этапов:
На первом этапе формулировалась тема исследования и выполнялся сбор и анализ информации по теме исследования, также проводилась постановка цели, задач, предмета, объекта и гипотезы исследования.
На втором этапе осуществлялся анализ существующих гибких моделей проектирования ПО определено, какие практики могут быть эффективно применены на проектах, занимающихся созданием ПО для телекоммуникационного оператора, были предложены шаги для перехода с каскадной на гибкую модель проектирования ПО, а также проводилось написание и публикация научных статей по теме исследования.
На третьем этапе была предложена гибкая модель проектирования ПО для телекоммуникационного оператора, проведен анализ эффективности модели и сформулированы выводы о полученных результатах исследования.
На защиту выносятся:
• Шаги для перехода с каскадной модели проектирования ПО для телекоммуникационного оператора на модель с использованием гибких практик.
• Требования к гибкой модели проектирования ПО для телекоммуникационного оператора.
• Предложенная в ходе исследования гибкая модель проектирования ПО для телекоммуникационного оператора.
• Анализ эффективности разработанной модели.
По теме исследования опубликована 1 статья, результаты исследования были представлены на V международной научно-практической конференции (школы-семинара) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и технических наук» [3].
Диссертация состоит из введения, трех глав, заключения и списка используемой литературы.
В первой главе рассматриваются современное состояние проблемы, перехода с каскадной на гибкую модель проектирования ПО.
Во второй главе проанализированы существующие гибкие модели проектирования ПО. В разрезе телекоммуникационных проектов рассмотрены основные практики гибких методологий, позволяющие сделать процесс разработки ПО более быстрым, качественным и прозрачным.
В третьей главе произведена разработка модели проектирования ПО для телекоммуникационного оператора, позволяющая сделать процесс разработки более прозрачным, повысить скорость команды и объемы работ, а также включить заказчика в работу.
В заключении приводятся результаты исследования.
Работа изложена на 98 страницах, включает 23 рисунка, 11 таблиц, 33 источника используемой литературы.
Выполненные в работе научные исследования представлены следующими результатами:
1. Произведён анализ литературы по предмету исследования, доказавший актуальность темы данной работы, посвященной проблеме перехода с каскадной модели проектирования ПО для телекоммуникационного оператора на гибкую.
2. Произведён анализ существующих гибких моделей проектирования ПО, определены преимущества и недостатки их использования на телекоммуникационных проектах.
3. Произведён анализ гибких практик и инструментов, определено, какие из них могут быть эффективно использованы на проектах, реализующих программное обеспечение для телекоммуникационного оператора.
4. Предложены шаги для перехода с каскадной на гибкую модель проектирования ПО для телекоммуникационного оператора.
5. Рассмотрена каскадная модель проектирования ПО на примере проекта, поставляющего ПО европейскому телекоммуникационному оператору, определены её слабые места и требования к новой модели, отвечающие текущему состоянию телекоммуникационного рынка.
6. На основе представленных шагов разработана гибкая модель проектирования ПО для телекоммуникационного оператора. Данная модель обеспечивает устранение проблем, связанных с недостаточно частой поставкой работающего продукта, недостаточной прозрачностью процессов и коммуникацией в команде, и предлагающая увеличение скорости команды, качества продукта и объемов выполняемых работ.
7. Произведён анализ эффективности разработанной модели, доказавший гипотезу исследования, что качество и скоростью работ возрастают с применением предложенной модели при сравнении с каскадной моделью.
1. Agile-менеджмент: Лидерство и управление командами / Юрген Аппело. - Москва : Альпина Паблишер, 2018. - 524с.
2. Брукс Ф. Мифический человекомесяц или как создаются Программные системы / Ф. Брукс. - Санкт-Петербург: Символ-Плюс, 1999. - 304с.
3. Бугакова К.В. Условия, влияющие на выбор методологии разработки программного обеспечения перед стартом проекта // Материалы научно-практической конференции (школы-семинара) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и технических наук». - Тольятти: ТГУ, 2019. - С. 23-25.
4. Воробович, Н.П., Лопатеева О.Н. Анализ методологий разработки автоматизированных информационных систем [Электронный ресурс] // URL: https:ZZcyberleninka.ru/articleZvZanaliz-metodologiy-razrabotki- avtomatizirovannyh-informatsionnyh-sistem (дата обращения 03.03.2019).
5. Ганноченко, А. Результатники и процессники. Результаты, создаваемые сотрудниками [Электронный ресурс] // URL: https:ZZbookmate.com/booksZdk7UCdCi (дата обращения 04.03.2019).
6. Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование информационных систем. — М.: Интернет-университет информационных технологий [Электронный ресурс] // URL: https:ZZwww.intuit.ruZstudiesZcoursesZ646Z502Zinfo (дата обращения 04.03.2019).
7. Гугаев, К.В. Эволюция методологий разработки ПО [Электронный ресурс] // URL: https:ZZcyberleninka.ruZarticleZvZevolyutsiya-metodologiy-razrabotki-po (дата обращения 04.03.2019).
8. Дж. Грин, Стеллман: Постигая Agile. Ценности, принципы, методологии [Электронный ресурс] // URL: https:ZZf.ua/statikZfilesZproducts/515942Zpostigaja-agile-cennosti-principiy- metodologii_8580.pdf (дата обращения 04.03.2019).
9. Избачков С.Ю Информационные системы // С.Ю. Избачков, Петров В.Н. - СПб.: Питер, 2008. - 655 с.
10. ИНТУИТ. Интернет университет информационных технологий [Электронный ресурс] // URL: http:ZZintuit.ru (дата обращения 04.03.2019).
11. Каримов, Р.А., Качкынбеков Н.Р. Некоторые аспекты гибкой методологии разработки программного обеспечения [Электронный ресурс] // URL: https:ZZcyberleninka.ruZarticleZvZnekotorye-aspekty-gibkoy-metodologii-razrabotki-programmnogo-obespecheniya (дата обращения 18.03.2019).
12. Ларман К. Итеративная и инкрементальная разработка: краткая история [Электронный ресурс] // URL: https:ZZwww.osp.ruZosZ2003Z09Z183412Z (дата обращения 02.03.2019).
13. Макконнелл С. Совершенный код. Практическое руководство по разработке программного обеспечения / С. Макконнелл. - СПб.: Русская Редакция, Питер, 2005. - 896 с.
14. Орлик С. Введение в программную инженерию и управление жизненным циклом ПО [Электронный ресурс] // URL: http:ZZsoftware- testing.ruZfilesZseZ4-software_lifecycle_models.pdf (дата обращения 02.03.2019).
15. Расмуссон Д. Гибкое управление IT-проектами. Руководство для настоящих самураев. - СПб.: Питер, 2012. - 340 с.
...