Методологии управления программными проектами в подготовке IT-специалистов

УДК 378.4

МЕТОДОЛОГИИ УПРАВЛЕНИЯ ПРОГРАММНЫМИ

ПРОЕКТАМИ В ПОДГОТОВКЕ 1Т-СПЕЦИАЛИСТОВ

Никонова ЕЗ.

В статье рассматриваются особенности одной из «гибких» методологий управления программными проектами Scrum, анализируются возможности ее применения при реализации учебных проектов студентов в вузе.

Ключевые слова: компетенции IT-специалиста; управление программными проектами; гибкие методологии; методология Scrum; междисциплинарный проект.

METHODOLOGY OF PROGRAM PROJECT MANAGEMENT IN TRAINING OF IT-SPECIALISTS

Nikonova E.Z.

The article examines the features of one of the "agile " methodologies for managing software projects Scrum, analyzes the possibilities of its application in the implementation of student projects at the university.

Keywords: IT specialist competence; management of software projects; agile methodologies; Scrum methodology; interdisciplinary?project.

В настоящее время одним из самых востребованных направлений обучения является подготовка специалистов по разработке и внедрению программных продуктов, что объясняется стремительным развитием информационных технологий и их проникновением практически во сферы жизни и деятельности человека. Поэтому вопросы отбора содержания в обучении компьютерным специальностям достаточно актуальны. С одной стороны, будущие инженеры должны обладать фундаментальными знаниями в области компью-

терных наук, с другой стороны, разработчик информационного продукта должен уметь находить компромисс между функционалом продукта, удовлетворяющим заказчика, и его не слишком высокой стоимостью, эффективными и достаточными сроками его разработки, а также иметь достаточные управленческие навыки.

Таким образом, в компетенцию современного IT-специалиста помимо основополагающих принципов и подходов к разработке, внедрению и сопровождению программных продуктов входят и вопросы управления программными проектами, а также правила эффективной командной работы и межличностной коммуникации. Именно поэтому во многих вузах в учебных планах подготовки по компьютерным направлениям появились дисциплины, в рамках которых студенты изучают вопросы управления программными проектами.

Краеугольным камнем в управлении проектом является выбор методологии его разработки. Существующие модели принято классифицировать «по «весу» - количеству формализованных процессов и детальности их регламентации. Чем больше процессов документировано, чем более детально они описаны, тем больше «вес» модели» [1].

Наиболее эффективными в разработке программных продуктов являются гибкие (Agil - англ. «гибкий») технологии, основные принципы которых были опубликованы в «Манифесте гибкой методологии разработки ПО» (2001 г.) и декларировали превосходство людей и их взаимодействия над процессами и инструментами, работающего продукта над документацией, сотрудничества с заказчиком над согласованием контракта и готовности к изменениям над следованием первоначальному плану. Гибкие методологии появились как альтернативный подход к водопадной (каскадной) модели, в которой все работы велись строго по плану и каждый последующий этап начинался только по окончании предыдущего.

Среди группы Agil-методологий (ХР, Kanban, Lean, Crystal, Rapid application development) следует выделить наиболее используемую методологию - фреймворк Scrum. Впервые этот термин из игры регби (scrum - схватка за мяч) использовали Хиротака Такеучи и

Нонака Икуджир в 1986-м году, описывая новый гибкий подход к разработке коммерческого продукта, позволяющий значительно повысить эффективность работы. По утверждению авторов самоуправляющиеся команды небольшой численности, выполняющие работу короткими итерациями, достигают лучших результатов за более короткие сроки по сравнению с традиционными командами иерархической структуры. Идею подхватили Джефф Сазерленд и Кен Швабер, распространив ее на процесс разработки программного обеспечения.

Составляющие методологии Scrum схематично представлены на рис. 1:

Г Роли Артефакты

Спринт 1- Практики ^--

Рис. 1. Составляющие Scrum-методологии

Роли - в проекте участвуют:

• Владелец продукта (Product Owner) - менеджер, определяющий концепцию продукта, участвующий в разработке бизнес-требований и представляющий ожидания заказчиков;

• Скрам-команда, состоящая из 7±2 многофункциональных специалистов, способная к самоорганизации и самоуправлению;

• Скрам-мастер (Scrum Master) - один из членов команды, отвечающий, прежде всего, за выполнение командой необходимых практик, играющий роль модератора на командных обсуждениях, помогающий в устранении внешних проблем.

Артефакты - в процессе реализации проекта используются:

• Баклог продукта (product backlog) - список сформированных на данный момент бизнес-требований к продукту, ранжированный по приоритету, корректируемый и дополняемый по ходу проекта при участии владельца продукта;

• Баклог спринта (sprint backlog) - список задач, которые были отобраны командой для выполнения на очередном этапе работы, с рассчитанным весом (временем, требуемым на решение) и прикрепленными исполнителями;

• Диаграмма сгорания (Sprint Burndown chart) - графическое представление объема выполненных задач.

Спринт - так называется каждый отдельный этап работы (итерация), выполняемый по правилам:

• Длительность спринта фиксирована и составляет от одной недели до месяца, наиболее часто используют двухнедельные спринты, что позволяет достаточно часто встречаться с владельцем продукта.

• Объем работ, планируемый на спринт, должен быть фиксирован.

• В конце каждого спринта команда представляет версию продукта для демонстрации заказчикам, в ходе которой могут быть предложены улучшения его функциональности.

• Каждый спринт начинается с планирования, происходящего в два этапа:

1. Команда при участии владельца продукта и заказчиков составляет баклог спринта;

2. Команда определяет список конкретных задач для каждого элемента из баклога спринта, оценивает время в часах, необходимое для их решения.

Практики - в методологии Scrum существуют мероприятия, обязательные к выполнению:

• Стендап-митинг, организуемый скрам-мастером ежедневно в начале рабочего дня, на котором каждый член команды рассказывает о том, что им сделано за вчерашний день, что будет сделано сегодня и какие проблемы возникли в ходе работы. Собрание проводится в течение 15 минут стоя, что требует от каждого собранности и лаконичности. В результате:

- все члены команды обладают полной информацией о состоянии проекта,

- происходит обмен продуктивными идеями по решению задач;

- исключается дублирование в решении одной и той же задачи разными членами команды;

- члены команды чувствуют свою личную ответственность за успех спринта и проекта в целом, что существенно повышает их мотивацию.

• Демо спринта проходит по его окончании и позволяет владельцу продукта, заказчикам и пользователям оценить полученный результат посредством тестирования и внести коррективы в баклог продукта.

• Спринт-ревью позволяет команде проанализировать собственные действия в ходе спринта, оценить свою эффективность (как соотношение запланированных и выполненных задач), наметить пути совершенствования.

Таким образом, алгоритм реализации проекта по Б с гит можно представить в виде итерационного процесса (рис. 2).

новая функциональность

Демонстрируется

продукта

Рис. 2. Реализация проекта в Scrum методологии

Эффективность данной методологии подтверждается статистическими данными Scrumalliance: 70% IT компаний успешно используют Scrum в своих проектах и в их числе крупнейшие корпорации Google, Amazon, Microsoft, Adobe. Кроме того, с помощью Scrum реализуют проекты в производстве, строительстве, образовании, политике, экономике.

Для практической реализации Scrum-проекта рынок ПО предлагает множество разнообразных инструментов (JIRA, Version One, Trello, SprintGround, Worksection), обладающих функционалом различной мощности - от интерактивной доски до сервиса с планированием спринтов, карточками задач и формированием отчетности.

Как уже было сказано выше, подготовка IT-специалистов в рамках дисциплин по управлению программными проектами должна предусматривать изучение существующих подходов проектного управления, в том числе и Agile-методологий. Но проведенный анализ различных учебных и методических пособий показал, что в основном преподается метод сетевого планирования и управления проектом с помощью инструментального средства MS Project.

Причины сложившейся ситуации достаточно объективны и заключаются в трудности воспроизведения Scum-методологии в учебном процессе в условиях ограничений по времени, недостаточной развитости у студентов необходимых для участия в скрам-команде качеств самоорганизации и самоуправления, отсутствием квалифицированных кадров, способных выступать в роли скрам-мастеров проектов, а также невозможностью реализовать проект в рамках отдельной учебной дисциплины.

Но мировой опыт показывает, что предпринимаются попытки использовать Scum-методологии в учебном процессе, примером чего может служить голландский проект eduScrum, в рамках которого обучают учителей использовать скрам на уроках. Опыт проекта убедительно доказывает, что работа в скрам-команде повышает мотивацию школьников и позволяет достигать более высоких результатов обучения.

Перспективным направлением использования Scum в вузах представляется, прежде всего, выполнение студентами сквозных междисциплинарных проектов с привлечением студентов старших курсов для работы в роли скрам-мастеров, что позволит формировать необходимые качества для работы в команде и начальные навыки управления проектом.

Список литературы

1. Архипенков С.Я. Лекции по управлению программными проектами. М.: Наука, 2009. 128 с.

2. Сазерленд Джефф. Scrum. Революционный метод управления проектами. Пер. с ант. М. Гескиной. М.: Манн, Иванов и Фербер, 2016. 288 с.

References

1. Arkhipenkov S.la. Lektcii po upravleniiu programmnymi proektami. M.: Nauka, 2009. 128 s.

2. Sazerlend Dzlieff. Scrum. Revolutionary method of project management Per. s angl. M. Geskinoi. M.: Mann, Ivanov i Ferber, 2016. 288 s.

ДАННЫЕ ОБ АВТОРЕ Никонова Елена Захаровна, доцент кафедры информатики и методики преподавания информатики, кандидат педагогических наук Нижневартовский государственный университет ул. Ленина, 56, Нижневартовск, ХМАО, 628600, Россия niko_len(â)mail. ru

DATA ABOUT THE AUTHOR Nikonova Elena Zakharovna, associate Professor of the Department of Informatics and methods of teaching Informatics, candidate of pedagogical Sciences

Nizhnevartovsk State University

56, Lenin Str., Nizhnevartovsk, 628600, Russia

niko_len(a)mail. ru

ORCID: 0000-0003-4416-2629