Формирование списка проблем управления проектами в территориально распределенных проектах. Анализ семейства гибких методологий по разработке программного обеспечения. Разработка требований к документу, и его разделов. Содержание разделов документа.
Аннотация к работе
Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Национальный исследовательский университет «Высшая школа экономики» На тему разработка предложений по внедрению гибких методологий в территориально распределенных проектах разработки программного обеспеченияВ течение последних пяти лет территориально распределенные проекты в сфере разработки программного обеспечения набирают популярность. Параллельно с данным трендом, все больше компаний переходят с использования классических методологий типа «водопад» на гибкие методологии. По данным 2013 года процент компаний, практикующих гибкие модели разработки, увеличился до 88%, а количество людей, участвующих в территориально распределенных проектах практикующих гибкие методологии разработки, увеличилось почти вдвое. Анализ территориально распределенных проектов показывает, что они обладают спецификой, вызывающей ряд сложностей, снижающих процент успешных проектов данного типа. Для достижения цели последовательно решается ряд задач: исследование проблем характерных для территориально распределенных проектов, сравнительный анализ практик предлагаемых гибкими методологиями, разработка предложений, содержащих синтез практик из различных гибких методологий, и внедрение этих предложений.Согласно отчету, сделанному независимой международной исследовательской компанией Standish Group в 2011 году, проекты, использующие гибкие методологии разработки в три раза более успешные, чем проекты, использующие методологию «водопад» (см. В качестве методологии разработки программного обеспечения в территориально распределенных проектах многие компании отдают предпочтение agile методологиям. [10] рассматриваются различные гибкие методологии с точки зрения применения в территориально распределенных проектах по разработке программного обеспечения, также затрагивается вопрос масштабирования методологий и выявления основных аспектов, на которые необходимо обратить внимание руководителю при внедрении гибких методологий. Однако в научных публикациях и статьях не рассматривается вопрос комбинирования гибких методологий для совершенствования управления процессами разработки программного обеспечения в территориально распределенных проектах, а также мало внимания уделено тому, какую именно методологию лучше выбрать для территориально распределенного проекта. Например, в случае использования методологии Srum в территориально распределенных проектах предлагается применение одного из трех подходов: автономный Scrum, Scrum of Scrums, имеющих пересечения в проектных командах, и полностью интегрированный Scrum [12] (см.С развитием глобальной сети Интернет - процесс разработки программного обеспечения все больше смещается к «виртуальному» взаимодействию между участниками команды, которые могут располагаться в разных временных зонах, городах или даже компаниях. Параллельно с распространением территориально распределенных проектов, растет процент проектов по разработке программного обеспечения, использующих гибкие методологии. Как следствие этих двух тенденций, организации, занимающиеся разработкой программного обеспечения, стремятся совместить гибкие методы разработки программного обеспечения, например, экстремальное программирование, и территориально распределенную разработку, чтобы воспользоваться преимуществами обоих. Например, гибкие методологии разработки опираются в первую очередь на неформальные процессы коммуникации в проекте, в то время как для территориально распределенной разработки программного обеспечения характерно использование формализованных механизмов. Различия во временных зонах уменьшает количество часов, которые команда находится в контакте - это может быть критично для многих проектов по разработке программного обеспечения, в особенности при переходе от этапа формирования требований к этапу разработки, когда аналитики вынуждены плотно сотрудничать с разработчиками.В данном разделе рассматривается семейство гибких методологий и приводится сравнительный анализ, выбранного списка методологий, с точки зрения покрытия проблем, описанных в первом разделе настоящего исследования. По результатам 8-го ежегодного исследования «State of Agile», проводившегося в 2013 году, были выявлены самые популярные гибкие методологии управления проектами, использующиеся в проектах по разработке программного обеспечения. Самой популярной гибкой методологией по результатам 2013 года признан Scrum, составивший 55% от общего числа проектов (см.Команда согласно своей скорости набирает задачи на неизменяемую по времени итерацию - спринт. Каждый день проводится скрам-митинг, на котором команда синхронизирует свою работу и обсуждает проблемы. В части проблем, связанных с процессом коммуникации на проекте, большинство гибких методологий предлагают идентичные подходы и практики [17], которые будут описаны в подразделе, посвященному методологии Scrum.
План
Содержание
Аннотация
Ключевые слова
Введение
Глава 1. Анализ проблем внедрения гибких методологий в территориально распределенных проектах по разработке программного обеспечения
1.1 Формирование списка проблем управления проектами в территориально распределенных проектах
1.2 Анализ семейства гибких методологий по разработке программного обеспечения
1.2.1 Scrum
1.2.2 Kanban
1.2.3 EXTREME Programming
1.2.4 Feature Driven Development
1.3 Синтез гибких методологий для покрытия выявленных проблем
Глава 2. Формирование документа предложения по внедрению гибких методологий в территориально распределенных проектах разработки программного обеспечения
2.1 Разработка требований к документу
2.2 Формирование структуры документа
2.3 Разработка содержания разделов документа
Глава 3. Апробация предложений и анализ результатов внедрения
3.1 Апробация набора разработанных предложений
3.2 Анализ результатов внедрения разработанных предложений
Заключение
Список литературы
Приложение 1. Предложения по внедрению гибких методологий в территориально распределенных проектах разработки программного обеспечения
Список иллюстраций
Рисунок 1. Процент успешных проектов, использующих "водопад" и "agile" методологи
Рисунок 2. Подходы организации территориально распределенных проектов, использующих Scrum
Рисунок 3. Процент проектов по разработке ПО, использующих Agile
Рисунок 4. Статистика популярности гибких методологий за 2013 год
Рисунок 5. Общая схема Scrum
Рисунок 6. Эффективность каналов коммуникации
Рисунок 7. Виртуальная доска
Рисунок 8. Схема 5 процессов методологии FDD
Рисунок 9. Структура проекта САД Логистика
Рисунок 10. Предлагаемый жизненный цикл проекта
Рисунок 11. Схема взаимодействия проектной команды
Рисунок 12. Доска для визуализации работы над задачами
Рисунок 13. Диаграмма аккуратности оценки задач за период
Рисунок 14. Пример диаграммы сгорания спринта
Рисунок 15. Пример использования niko-niko календаря
Список таблиц
Таблица 1. Проблемы территориально распределенных проектов по разработке программного обеспечения
Таблица 2. Покрытие проблем территориально распределенных проектов практиками экстремального программирования
Таблица 3. Степень покрытия проблем территориально распределенных проектов гибкими методологиями
Таблица 4. Компоненты методологий, выбранные для методики
Таблица 5. Требования к методике управления территориально распределенным проектом по разработке программного обеспечения
Таблица 6. План этапов внедрения гибких методологий
Таблица 7. Планирование работ на спринт
Таблица 8. Решение выявленных проблем в территориально распределенных проектах
Таблица 9. Этапы формирование команды в Scrum
Таблица 10. Дискретная логарифмическая шкала оценки задач