Scrum vs DevOps

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

Scrum

Существует классическая каскадная модель разработки продукта (Водопад — от англ. Waterfall) — линейная последовательность действий, когда продукт либо проект проходит этапы разработки концепции, составления архитектуры, планирования, внедрения, контроля, доработки и т.д. Следующий этап нельзя начать, пока не завершен предыдущий.

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

Рисунок 1 - Схема Scrum

DevOps

По сути, это система передачи, непрерывной транспортировки и развертывания продукта в операционную среду (т.е. для реального использования). Эта система предполагает взаимодействие между подразделениями разработки продукта, к примеру - программного кода и обеспечения (development) и системой его эксплуатации (operation). Второй ключевой функцией системы DevOps является максимальная автоматизация процессов и процедур развертывания этого продукта в среде эксплуатации. Подробнее читайте в статье.

Рисунок 2 - Схема DevOps

Отличия Scrum от DevOps

Содержание и назначение систем

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

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

Принципы и подходы

Фреймворк Scrum был создан для быстрых итерационных процессов разработки продукта.

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

Процессы и ориентирование

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

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

Применение и использование

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

Devops же - это конкретная система методов доставки и автоматического развертывания программного продукта в производственной среде.

Команда и коммуникации

Scrum-команда состоит из владельца продукта, команды разработки и Scrum-мастера. Другими словами, это самостоятельные и кросс-функциональные единицы. Автономно решают, как выполнять свою работу, а не следуют внешним указаниям.

Проектная команда Devops, в большинстве своем, не имеют подобной независимости и самокоррекции их функциональности. Фокус внимания там сконцентрирован на документации, спецификациях и инструкциях.

Автоматизация деятельности

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

Автоматизация является инструментальной основой Devops, деплои должны быть надежными и проходить без сбоев.

Упор на качество

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

Тогда как все инженеры в команде Devops обеспокоены качеством программного обеспечения и процесса развертывания ПО.

Scrum или DevOps?

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



                

Есть вопросы?

Закажите звонок специалиста!

Есть вопросы?

Закажите звонок специалиста!
*нажимая на кнопку, Вы даете согласие на обработку персональных данных