Agile в 💎 Разработка ПО: Что такое Непрерывная поставка (Continuous Delivery)?

Что такое Непрерывная поставка (Continuous Delivery)?

При разработке программного обеспечения в стремительно меняющемся мире часто возникает вопрос, как оставаться конкурентноспособным на рынке?

При разработке программного обеспечения в стремительно меняющемся мире часто возникает вопрос, как оставаться конкурентноспособным на рынке?

Как проверять свои гипотезы быстрее, чем это делают конкуренты, поставлять новые ценности пользователю быстро и с высоким качеством, минимизировать расходы на ненужную функциональность?

Ответ на эти вопросы лежит в практиках DevOps, одной из которых является непрерывная поставка (Continuous Delivery).

Непрерывная поставка (Continuous Delivery) — это подход к разработке программного обеспечения, при котором все изменения, включая новые функции, изменения конфигурации, исправления ошибок и эксперименты, поставляются пользователям максимально быстро и безопасно.

Непрерывная поставка — важный инструмент в современном процессе создания ПО. Весь процесс можно представить следующим образом:

  1. Разработчик отправляет свои изменения в систему контроля версии.
  2. На сервере сборки начинается процесс сборки поступивших изменений.
  3. Запускаются юнит-тесты.
  4. Собранный пакет после успешной интеграции выкладывается на тестовый сервер.
  5. Заинтересованные лица получают уведомления о выкладке новой версии ПО на тестовую площадку. Начинается вторая фаза тестирования, запускаются интеграционные, ручные, приемочные, UI тесты и тд.
  6. После успешного прохождения предыдущих шагов мы имеем готовый к публикации пакет новой версии ПО.

Первые три шага в этом процессе — нам давно знакомая непрерывная интеграция. Далее идет активная фаза тестирования, большая часть из которой полностью автоматизирована.

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

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

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

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

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

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

Если выпускать новые изменения небольшими партиями, релизы становятся обыденным событием для команды. Это мероприятие больше не вызывает панику и стресс, а наоборот мотивирует, давая возможность сразу видеть результаты своей работы.

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

Хотите узнать, каких результатов можно достичь с помощью Agile в вашем проекте или компании?
Напишите нам
                                                      

Еще публикации по Agile в Разработка ПО

Публикация
Разработка ПО
Agile как основа технологического бизнеса
Бизнес — это деятельность с целью получения прибыли. Технология — это знание, как делать что-либо. Соответственно, технологический бизнес — это знание того, как правильно действовать, чтобы получить прибыль.
Кейс
Разработка ПО
Cнижение стоимости ИТ-поддержки на 40%
Крупная ритейловая компания столкнулась с проблемой: при активном росте сети магазинов затраты на ИТ-поддержку значительно превысили плановые показатели.
Публикация
Разработка ПО
Подборка книг о проектировании и запуске прорывных продуктов
Эта подборка книг — для тех, кто связан с проектированием, запуском и развитием продуктов в компаниях.

С 2004 года мы помогаем адаптировать к изменениям культуру и процессы компании

Связаться с нами

Дмитрий Лобасев

Managing Partner

+7 495 221 87 39

dmitry@onagile.ru

Наш Telegram канал об Agile и гибких организациях, присоединяйтесь!