Научная статья на тему 'Agile vs Waterfall: разница между методологиями'

Agile vs Waterfall: разница между методологиями Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1632
310
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
водопад / agile / методологии / програмное обеспечение / разработка / waterfall / agile / methodologies / software / development

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шахина Ирина Вячеславовна, Муллин Алексей Александрович, Алышев Юрий Витальевич

В статье рассматриваются способы организации работы по разработке ПО. Подробно рассмотрены методы управления проектами, такие как Agile и Waterfall. Описаны основные достоинства и недостатки данных методов. Приведены примеры использования методов управления проектов. Выявлены существенные различия между указанными методами, а также проанализирован возможности их использования.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шахина Ирина Вячеславовна, Муллин Алексей Александрович, Алышев Юрий Витальевич

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

AGILE VS WATERFALL: DIFFERENCE BETWEEN METHODOLOGIES

The article discusses how to organize work on software development. Details on project management techniques such as Agile and Waterfall. The main advantages and disadvantages of these methods are described. Examples of the use of project management methods are given. Significant differences between these methods were identified, and the possibilities of their use were analyzed.

Текст научной работы на тему «Agile vs Waterfall: разница между методологиями»

AGILE VS WATERFALL: РАЗНИЦА МЕЖДУ МЕТОДОЛОГИЯМИ

AGILE VS WATERFALL: DIFFERENCE BETWEEN METHODOLOGIES

УДК 004

Шахина Ирина Вячеславовна, студент 4 курса, ПГУТИ, г. Самара Муллин Алексей Александрович, студент 1 курса магистратуры, СамГТУ, г.Самара

Научный руководитель: Алышев Юрий Витальевич, канд. тех. наук, доцент ПГУТИ, г. Самара

Shakhina I.V., student 4 course, PSUTI, Samara. Е-mail: shakhina.vs@gmail.com Mullin A.A., 1 master's course SamGTU, Samara. Е-mail: a.mullin 13 @yandex .ru Scientific adviser: U.V. Alyshev, candidate of technical sciences, docent PSUTI, Samara. Е-mail: alise-17@mail.ru

Аннотация

В статье рассматриваются способы организации работы по разработке ПО. Подробно рассмотрены методы управления проектами, такие как Agile и Waterfall. Описаны основные достоинства и недостатки данных методов. Приведены примеры использования методов управления проектов. Выявлены существенные различия между указанными методами, а также проанализирован возможности их использования.

S u m m a r y

The article discusses how to organize work on software development. Details on project management techniques such as Agile and Waterfall. The main advantages and disadvantages of these methods are described. Examples of the use of project management methods are given. Significant differences between these methods were identified, and the possibilities of their use were analyzed.

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

Keywords: waterfall, agile, methodologies, software, development

Один из самых сложных и вечных вопросов в управлении проектами: «Какой способ организации работы по разработке программного обеспечения выбрать?» Это касается методологий разработки.

Эта тема вызывает много дискуссий и горячих споров, так как каждый проект разработки программного обеспечения начинается с выбора методов реализации [1].

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

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

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

В чем разница между водопадом и Agile?

Оба из них являются пригодными для использования и зрелыми. Выбор определенной методологии зависит от конкретного проекта и компании, которая его выполняет.

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

Представляем методологию водопада [2]

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

Рис.1 - Методология Waterfall

Последовательность событий по этому методу выглядит так:

1. Сбор и документирование требований. На следующих этапах работы все действия будут проводиться на основе этой документации. Заказчик участвует в реализации проекта только на первом и последнем этапе.

2. Дизайн. На этом этапе разработчики стараются найти подходящую форму, отвечающую всем требованиям заказчика.

3. Код и юнит тест. Основная задача этого этапа - протестировать коды и объединить.

4. После этого система и приемка пользователя проверяются.

5. Исправление проблем.

6. Доставка готовой продукции заказчику. Таблица 1 - Достоинства и недостатки Waterfall

Достоинства Waterfall Недостатки Waterfall

Простота управления. Из-за своего характера каждый этап Водопада имеет конкретные результаты и процесс обзора Лишенный гибкости процесс

Ускоренная доставка проектов Сложность первого этапа

Этот метод хорошо работает для небольших проектов (с легко понятными требованиями) «стойкость» к изменениям

Хорошо документированные процессы и результаты

Легко адаптируется для смены команд.

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

Agile модель обеспечивает непрерывную итерацию разработки и тестирования в процессе разработки программного обеспечения.

Рис.1 - Методология Agile В этой методологии разработка и тестирование выполняются одновременно (в отличие от Waterfall). Agile позволяет больше общения между разработчиками, менеджерами, тестировщиками и клиентами.

Таблица 2 - Достоинства и недостатки Agile

Достоинства Agile Недостатки Agile

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

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

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

Agile команды чрезвычайно самоорганизованы и мотивированы. Это обеспечивает лучшие результаты для проектов развития Стоимость внедрения Agile немного больше по сравнению с другими методологиями

Клиенты точно знают, что завершено, а что нет, что снижает риски в процессе разработки.

Основное различие между методологией Agile и Waterfall заключается в том, что Agile-подход к разработке программного обеспечения не имеет

строгой структуры

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

Другой способ командной работы - это то, что мы видим в первую очередь, когда сравниваем и сравниваем Agile и Waterfall. В Agile командах нет строгой структуры. Все их участники взаимозаменяемы, поэтому работа идет быстрее. Также нет необходимости в менеджерах проектов, потому что проекты управляются всей командой.

Вот прямое сравнение между Водопадом и гибким управлением проектом.

Если мы попытаемся определить основные факторы, отличающие Agile от Waterfall, мы увидим, что Agile-подход направлен на более быструю реализацию любого проекта. Работа команд Agile подразделяется на 2 - 4 недельных спринта, и клиент может увидеть промежуточный результат в конце любого из них.

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

Более того, сегодня все больше и больше профессиональных программ для управления проектами адаптированы специально для работы с методологией Agile.

Программное обеспечение для управления проектами для водопада и Agile

Сегодня многие современные решения PM предлагают мощную функциональность для управления проектами Waterfall и Agile.

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

Методологии разработки программного обеспечения Agile и Waterfall довольно различны и хороши в своем роде.

Ниже приведены примеры компаний, которые используют водопад и

Agile

Таблица 3 - Компании, которые используют Agile

Название компании Для чего использовалась Используется ли сейчас

модель Waterfall методология

Google Разнообразные продукты и решения или их части Да

Spotify стриминговый сервис Да

Сбербанк Разнообразные продукты и решения или их части Да

Microsoft Разнообразные продукты и решения или их части Да

Таблица 4 - Компании, которые используют водопад

Название компании Для чего использовалась Используется ли сейчас

модель Waterfall методология

Wüstenrot & Württembergische (W&W) Разработка ERP-системы для финансового сектора Да

Cisco Разработка систем безопасности Да

EPAM Разнообразные продукты и решения или их части Да

IBM Разнообразные продукты и решения или их части Да

Microsoft IT Разнообразные продукты и решения или их части Нет

Подводя итог этой статье, давайте определим основные отличия и выделим их здесь:

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

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

• В Agile требования к проекту могут часто меняться. В водопаде он определяется бизнес-аналитиком только один раз.

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

Литература

1. 1.Челяпин, Алексей /Проектное управление в сфере информационных технологий: моногр. / M.: PUBLISH-SELL-BOOK LLC, 2016. - 404 c.

2. 2.Рассел, Джесси Гибкая методология разработки / M.: VSD, 2017. - 179 c.

3. З.Дмитрий Владимирович Шамин / Проектное управление научными разработками / M.: LAP Lambert Academic Publishing, 2014. - 104 c.

4. Agile [Электронный ресурс] // Agile Alliance [сайт]. URL: https : //www. agilealliance. org/ (дата обращения 18.04.2020)

Literature

1. Chelyapin, Alexey / Project management in the field of information technology: monograph. / M .: PUBLISH-SELL-BOOK LLC, 2016 .-- 404 c.

2. Russell, Jesse Flexible Development Methodology / M .: VSD, 2017 .-- 179 p.

3. Dmitry Vladimirovich Shamin / Project Management of Scientific Development / M.: LAP Lambert Academic Publishing, 2014. - 104 p.

4. Agile

[site]. URL:

(accessed 04/18/2020)

[Electronic STUD NET resource] // Agile Alliance

https://www.agilealliance.org/

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