Научная статья на тему 'Анализ современных методолгогий разработки сложных программных проектов'

Анализ современных методолгогий разработки сложных программных проектов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
259
75
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SCRUM / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / SOFTWARE / КОМАНДА / РАЗРАБОТКА / МЕТОДОЛОГИЯ / METHODOLOGY / ПРОЕКТ / PROJECT / TEAM DEVELOPMENT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Свиридова А.С., Эмилова О.А., Климец Ю.В., Молоков В.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF MODERN METHODOLOGIES FOR THE DESIGN OF COMPLEX SOFTWARE PROJECTS

This article is devoted to one of the youngest and most relevant methodologies for developing complex software projects. The features of the organizations development process, as well as the advantages of using this methodology.

Текст научной работы на тему «Анализ современных методолгогий разработки сложных программных проектов»

Актуальные проблемы авиации и космонавтики - 2015. Том 1

УДК 004.051

АНАЛИЗ СОВРЕМЕННЫХ МЕТОДОЛГОГИЙ РАЗРАБОТКИ СЛОЖНЫХ

ПРОГРАММНЫХ ПРОЕКТОВ

А. С. Свиридова, О. А. Эмилова, Ю. В. Климец Научный руководитель - В. В. Молоков

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева

Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-mail: mayckova@mail.ru

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

Ключевые слова: Scrum, программное обеспечение, команда, разработка, методология, проект.

ANALYSIS OF MODERN METHODOLOGIES FOR THE DESIGN OF COMPLEX SOFTWARE PROJECTS

A. S. Sviridova, O. A. Emilova, U. V. Klimec Scientific supervisor - V. V. Molokov

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: mayckova@mail.ru

This article is devoted to one of the youngest and most relevant methodologies for developing complex software projects. The features of the organizations development process, as well as the advantages of using this methodology.

Keywords: Scrum, software, team development, methodology, project.

Сегодня существует достаточно много различных методологий разработки сложных программных проектов, которые по своей сути могут перекликаться или разительно отличаться друг от друга. Тем не менее, каждая группа разработчиков рано или поздно сталкивается с процессом организации своей деятельности. Какую методологию выбрать - зависит от решаемых задач, а так же от условий, в которых ее предстоит решать. Основная цель - выполнить поставленную задачу в строго определенные сроки, соблюсти все требования, а так же обеспечить гибкость разработки [1]. Есть и дополнительные цели, среди которых - распределение нагрузки на всех членов команды, минимизация изменений при отклонении от первоначального заданного варианта технического задания, а также удобство рассмотрения выполненных задач и находящихся на исполнении.

Одна из таких методологий, набирающая популярность и способная объединить в себе все преимущества - это Scrum-методология.

Scrum - методология управления проектами, активно применяющая при разработке информационных систем для гибкой разработки программного обеспечения. Scrum четко делает акцент на качественном контроле процесса разработки. Кроме управления проектами по разработке ПО Scrum может также использоваться в работе команд поддержки программного обеспечения (soft support teams), или как подход управления разработкой и сопровождением программ: Scrum of Scrums [2].

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

Однако чтобы провести обзор всех возможностей использования Scrum при работе над учебным проектом, рассмотрим каждый этап создания проекта последовательно [3].

Секция «Информационно-управляющие системы»

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

В результате формируется так называемый Product Backlog (Отобранный баклог), который является готовым списком требований к функционалу и целям учебного проекта. Список изначально уже упорядочен по важности требований. Опять же, при работе над учебным проектом важно выстроить Product Backlog по принципу «что мы хотим достичь в итоге», при этом, не обращая внимания на «как этого достичь».

После того, как Product Backlog был передан команде, происходит оценка объема работ. В результате командой формируется «история» по каждой задаче или требованию, которая помимо основных полей (Название, приоритет, важность).

Итак, Product Backlog полностью составлен, история описана - переходим к следующему не менее важному этапу, который называется - планирование Sprint (итераций). Цель планирования состоит в сборе необходимой информации для продуктивной работы в заданный промежуток времени, который обычно измеряется в неделях. С другой стороны - планирование есть инструмент для дополнительной гарантии движения по проекту.

В результате каждый Sprint состоит из целевого назначения, списка участников команды (с определением трудозатрат каждого), списка задач из истории, которые будут решаться за заданный промежуток времени, а так же дата демонстрации (Баклог итераций).

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

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

На этой же демонстрации определяются задачи для следующей итерации.

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

В завершение стоит отметить, что данная методология сейчас входит в большинство современных систем управления проектами компании и организуется в виде Канбан-доски. Яркими представителями таких систем являются - SVN, ViewProject, а саму методологию используют как на отечественных, так и иностранных предприятиях, в том числе, Microsoft.

Библиографические ссылки

1. Мартин Р. С., Ньюкирк Дж. В., Косс Р. С. Быстрая разработка программ. Принципы, примеры, практика = Agile software development. Principles, Patterns, and Practices. М. : Вильямс, 2004. С. 752.

2. Кон М. Scrum: Гибкая разработка ПО Succeeding with Agile: Software Development Using Scrum. М.: Вильямс, 2011. С. 576.

3. Книберг Х. Scrum и XP: заметки с передовой. Scrum and XP from the trenches. С4Media. 2007. C. 140.

© Свиридова А. С., Эмилова О. А., Климец Ю. В., 2015

i Надоели баннеры? Вы всегда можете отключить рекламу.