Сервисы
Managed IT
Решения
Security
Импортозамещение
Партнерам
О компании

Agile и DevOps: чем отличаются и можно ли их совместить?

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

На смену водопаду пришел Agile, он же гибкая разработка. Ее официальная история началась в 2001 году в США с «Agile (разработка ПО) манифеста«. По мере того как Agile-разработка становилась популярной, развивались и практики DevOps (DEVelopment OPeration). Этот пост мы посвящаем Agile и DevOps, сравнению их методов и вопросам их одновременного внедрения.

 

Agile вкратце

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

[text_with_btn btn=»Узнать больше» link=»/managed-it/managed-devops/» btn_size=»small»]Managed DevOps[/text_with_btn]

Agile базируется на 12 принципах:

  1. Наш главный приоритет — удовлетворить клиента путем ранней и непрерывной поставки ценного программного обеспечения.
  2. Приветствуйте изменение требований, даже на поздних этапах разработки. Agile-процессы позволяют использовать изменения для обеспечения конкурентных преимуществ заказчика.
  3. Поставляйте работающее программное обеспечение часто, от пары недель до пары месяцев, отдавая предпочтение более коротким срокам.
  4. Бизнесмены и разработчики должны ежедневно работать вместе на протяжении всего проекта.
  5. Стройте проекты вокруг мотивированных людей. Обеспечьте им необходимые условия и поддержку и доверьте им выполнение работы.
  6. Самым эффективным и действенным методом передачи информации команде разработчиков и внутри нее является беседа лицом к лицу.
  7. Рабочее программное обеспечение является основным мерилом прогресса.
  8. Agile-процессы способствуют устойчивому развитию. Спонсоры, разработчики и пользователи должны быть в состоянии поддерживать постоянный темп на протяжении неопределенного времени.
  9. Постоянное внимание к техническому совершенству и хорошему дизайну повышает гибкость.
  10. Простота — искусство максимизации объема невыполненной работы — имеет важное значение.
  11. Лучшие архитектуры, требования и проекты возникают в самоорганизующихся командах.