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

Молодой учёный

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

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


В статье автор анализирует гибкие методологии разработки программного обеспечения, такие как 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
scrum
kanban
гибкая методология
разработка программного обеспечения
спринт
требования
управление проектом
Молодой учёный №38 (380) сентябрь 2021 г.
Скачать часть журнала с этой статьей(стр. 5-8):
Часть 1 (стр. 1-71)
Расположение в файле:
стр. 1стр. 5-8стр. 71

Молодой учёный