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/