Гибкие методологии разработки программного обеспечения | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 9 марта, печатный экземпляр отправим 13 марта.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №38 (380) сентябрь 2021 г.

Дата публикации: 18.09.2021

Статья просмотрена: 528 раз

Библиографическое описание:

Рогачева, Ю. В. Гибкие методологии разработки программного обеспечения / Ю. В. Рогачева. — Текст : непосредственный // Молодой ученый. — 2021. — № 38 (380). — С. 5-8. — URL: https://moluch.ru/archive/380/84098/ (дата обращения: 27.02.2024).



В статье автор анализирует гибкие методологии разработки программного обеспечения, такие как Agile, Scrum, Kanban. Выделяет преимущества и недостатки для Scrum, Kanban.

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

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

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

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

Прежде чем подробнее рассмотреть методологии, представленные на рынке, необходимо определить этапы жизненного цикла [2]:

  1. Формирование идеи будущего программного продукта (вне зависимости от новизны на ИТ- рынке);
  2. Структурирование идей, полученных из различных источников (формирование требований);
  3. Разработка дизайна для будущего ПО;
  4. Разработка ПО (входит backend, frontend);
  5. Тестирование (входит функциональное, нагрузочное тестирование и т. д.);
  6. Внедрение (включает в себя также развертывание на рабочих местах пользователей);
  7. Сопровождение (включает в себя техподдержку ПО);
  8. Закрытие.

На основе жизненного цикла программного обеспечения определим гибкие модели разработки.

Наиболее популярными гибкими моделями разработки является: Agile, Scrum, Kanban. Данные методологии нацелены на быструю разработку (1–2 недели), чтобы минимизировать риски и правильно распределить силы команды, поэтому в зависимости от специфики проекта и команды можно сделать выбор в ту или иную сторону.

Agile — итеративный поход к управлению разработки программного обеспечения. Главная особенность заключается в том, чтобы помочь создать направление движения в постоянно меняющихся и появляющихся новых требований к Системе, без отклонения от намеченного пути [3].

Популярность использования гибкой методологии Agile по сравнению с 2017 годом только возрастает, но используется еще не во всех отраслях экономики [6]. Иллюстрация представлена на Рис. 1.

Диаграмма использования Agile в России

Рис. 1. Диаграмма использования Agile в России

По сравнению с 2017–2018 годами на 7 % выросло использование гибкой методологии, это значит, что качество программного продукта будет со временем вырастать еще больше. Также существенно уменьшился процент компаний, которые в промежуток с 2017–2018 года не планировали использовать Agile. На данный период времени, есть около 30 % компаний, которые не сформировали четкой позиции по использованию гибкой методологии разработки, это может быть связано с негативным опытом использования другими командами внутри компании или имеют мало информации о данной методологии [6].

Выделим 4 основные идеи Agile [1]:

  1. Взаимодействие между участниками команды ставится выше, чем процессы (включает в себя: личные встречи с каждым членом команды для повышения эффективности и корректировки рабочего процесса);
  2. Главной целью является программный продукт, документация уходит на второй план (правильно работающий готовый продукт является оценочным средством для определения успешности проекта);
  3. Постоянное взаимодействие с Заказчиком важнее, чем согласованные условия договора (общение представителей Заказчика с командой разработки положительно сказывается на программном продукте т. к. делается только нужный и правильно работающий функционал);
  4. Готовность к изменениям (изменения в функционале программного продукта присутствует постоянно, приветствуется даже в конце разработки)

На основе философии Agile вытекают гибкие методологии Scrum, Kanban.

Scrum — методология, главная цель которой наладить взаимодействие команд друг с другом (к слову, scrum с английского «схватка», элемент игры), поэтому участники команд, работающие по такой методологии, проводят частые встречи для обсуждения процесса, организовывают работу, используют определенные инструменты, анализируют свои неудачи и успехи, совершенствуют свои навыки [5].

Выделим 3 главные особенности Scrum [8]:

  1. Выделяются спринты (с английского «рывок) с фиксированной продолжительностью на весь период проекта, максимум длительности до 4 недель;
  2. На каждый спринт выделяется определенное количество задач, которые необходимо реализовать команде (формируется по важности и объему, т. к. некоторые задачи реализуются за 2–3 спринта);
  3. Ежедневно по 15 минут проводятся встречи с командой, где каждый участник рассказывает о том, что ему удалось сделать за один рабочий день, что не получилось и что планирует сделать;
  4. После каждого спринта функционал размещается на продуктивном стенде, где Заказчик может оценить выполненную работу.

Недостатки Scrum [8]:

  1. Большое количество совещаний с командой, помимо ежедневных 15 минутных встреч;
  2. Узкая специализация методов

Kanban — главная особенность методологии это выполнение всех задач точно в срок, жесткое фиксирование количество задач, которые нужно выполнить за данный промежуток времени, использование доски, к которой имеют доступ все члены команды. Доска может делится на 3 части: задачи в очереди, задачи в разработке, выполненные задачи [7].

Выделим 3 основных принципа Kanban [4]:

  1. Визуализация задач (доска на разбита на разделы, в каждом из которых представлены задачи);
  2. Составление плана приоритетности задач;
  3. Жесткое ограничение по одновременному выполнению задач;

Недостатки Kanban [7]:

  1. Отсутствует возможность долгосрочного планирования;
  2. Невозможно отследить выполнение задач и эффективность по отдельному сотруднику;
  3. Уровень команды должен быть высоким, если один из участников тормозит процесс, то это скажется на других и на конечном результате

Таким образом, использование гибкой методологии разработки в первую очередь зависит от приоритетов и возможности команды.

Наиболее популярными гибкими моделями разработки является: Agile, Scrum, Kanban.

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

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

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

Литература:

  1. Гибкая методология разработки [электронный ресурс] — Режим доступа: https://ru.wikipedia.org/
  2. Жизненный цикл разработки ПО [электронный ресурс] — Режим доступа: https://beqa.pro/blog/sdlc/
  3. Atlassian Agile Coach [электронный ресурс] — Режим доступа: https://www.atlassian.com/ru/agile
  4. Atlassian Agile Coach Kanban [электронный ресурс] — Режим доступа: https://www.atlassian.com/ru/agile/kanban/boards
  5. Atlassian Agile Coach Scrum [электронный ресурс] — Режим доступа: https://www.atlassian.com/ru/agile/scrum
  6. Agile Software Development Гибкая методология разработки [электронный ресурс] — Режим доступа: https://www.tadviser.ru/index.php/ %D0 %A1 %D1 %82 %D0 %B0 %D1 %82 %D1 %8C %D1 %8F:Agile_software_development
  7. Kanban/Agile/Scrum/Lean- гибкие методологии разработки [электронный ресурс] — Режим доступа: https://vc.ru/u/752307-karina-gorbunova/218436-kanban-agile-scrum-lean-gibkie-metodologii-razrabotki
  8. Scrum: что это и зачем нужно [электронный ресурс] — Режим доступа: https://scrumtrek.ru/blog/agile-scrum/3777/scrum-chto-eto/
Основные термины (генерируются автоматически): программное обеспечение, программный продукт, главная особенность, задача, гибкая методология, гибкая методология разработки, гибкая модель разработки, член команды, жесткое фиксирование, жизненный цикл.


Похожие статьи

Сравнительный анализ методологий разработки ПО Agile...

Каждый проект разработки программного обеспечения следует определенной

Основная цель гибкой разработки — это работающее программное обеспечение, и члены команды не

Сравнительный анализ методологий. Для сравнения методологий разработки...

Жизненный цикл разработки программного обеспечения.

Этапы жизненного цикла разработки программного обеспечения зависят от размера проекта и его целей.

Эта модель также делит процесс разработки на различные задачи.

Гибкая методология разработки — серия подходов к разработке программного обеспечения...

Сравнительный анализ каскадной и V-образной методологий...

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

Процесс разработки программного продукта по методологии...

 В статье авторы раскрывают процесс разработки программного продукта по методологии SCRUM сиспользованием экстремального программирования. Ключевые слова: SCRUM, каскадная модель, экстремальное программирование, команда разработки, анализ...

Сравнение процессов разработки программного обеспечения...

Методологии гибкой разработки и управления проектами основаны на следующих

Scrum — это гибкий процесс разработки программного обеспечения, в котором проекты

Эти команды отвечают за части всей модели и за представление своих моделей для...

Сравнительный анализ моделей жизненного цикла...

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

Особенности управления проектами на разных стадиях его...

Управление проектами представляет собой совокупность методологии, методик моделей

Совершенно ясно, что в зависимости от того, как идет взаимодействие внутри команды, а

Управление проектами должно быть эффективным на всех стадиях его жизненного цикла, от...

Модели жизненного цикла проектов разработки цифрового...

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

Похожие статьи

Сравнительный анализ методологий разработки ПО Agile...

Каждый проект разработки программного обеспечения следует определенной

Основная цель гибкой разработки — это работающее программное обеспечение, и члены команды не

Сравнительный анализ методологий. Для сравнения методологий разработки...

Жизненный цикл разработки программного обеспечения.

Этапы жизненного цикла разработки программного обеспечения зависят от размера проекта и его целей.

Эта модель также делит процесс разработки на различные задачи.

Гибкая методология разработки — серия подходов к разработке программного обеспечения...

Сравнительный анализ каскадной и V-образной методологий...

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

Процесс разработки программного продукта по методологии...

 В статье авторы раскрывают процесс разработки программного продукта по методологии SCRUM сиспользованием экстремального программирования. Ключевые слова: SCRUM, каскадная модель, экстремальное программирование, команда разработки, анализ...

Сравнение процессов разработки программного обеспечения...

Методологии гибкой разработки и управления проектами основаны на следующих

Scrum — это гибкий процесс разработки программного обеспечения, в котором проекты

Эти команды отвечают за части всей модели и за представление своих моделей для...

Сравнительный анализ моделей жизненного цикла...

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

Особенности управления проектами на разных стадиях его...

Управление проектами представляет собой совокупность методологии, методик моделей

Совершенно ясно, что в зависимости от того, как идет взаимодействие внутри команды, а

Управление проектами должно быть эффективным на всех стадиях его жизненного цикла, от...

Модели жизненного цикла проектов разработки цифрового...

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

Задать вопрос