Непрерывная доставка (Continuous Delivery)
В разработке программного продукта Непрерывная Доставка (Continuous Delivery) – это успешное выполнение непрерывного развертывания.
В то время как непрерывное развертывание направлено на сокращение времени между написанием кода и его запуском, Continuous Delivery – это процесс, с помощью которого эти усилия успешно и устойчиво достигают конечного пользователя. Применяя эту концепцию в другом месте, Continuous Delivery для менеджеров по продукту может предложить огромные преимущества, например, расширение возможностей для обратной связи с клиентами.
С первых дней разработки ПО в моде был Waterfall. Затем, в 90-х годах, части того, что сейчас широко называют «гибкой разработкой программного обеспечения», практиковались поэтапно специалистами по программному обеспечению, которые хотели выпускать продукты в мир быстрее и постепенно улучшать их. В течение многих лет agile принципы и структуры были статус-кво в практике разработки программного обеспечения.
Однако в последние годы такие концепции, как DevOps, непрерывная доставка и непрерывное развертывание, стали претендентами на «следующий большой шаг» в разработке программного обеспечения. Хотя каждый из них имеет свои корни в Agile принципах, важно понимать нюансы этих новых подходов к разработке программного обеспечения, особенно в контексте их влияния на вашу роль в качестве менеджера по продукту.
Сегодняшняя статья познакомит вас с непрерывной доставкой. Мы надеемся помочь вам понять, что Continuous Delivery означает для современных менеджеров по продукту.
Что такое непрерывная доставка?
В широком смысле непрерывная доставка относится к способности организации, занимающейся разработкой программного обеспечения, быстро и легко отправлять обновления продукта клиентам. Эти обновления могут включать в себя все, от новых функций до исправлений ошибок, до нового дизайна интерфейса или даже различных типов тестов. Непрерывная доставка означает, что вы определили процессы и протоколы для немедленной публикации кода.
Но не путайте с непрерывным развертыванием. Хотя эти два термина иногда коррелируют, их часто путают.
Непрерывная доставка – это возможность часто вносить изменения в программное обеспечение и является необходимым условием для практики непрерывного развертывания.
Непрерывное развертывание относится к действию развертывания изменений часто и автоматически. Часто это означает, что они развертывают несколько обновлений каждый день.
«Непрерывная доставка просто означает, что вы можете выполнять частые развертывания, но можете отказаться от этого, обычно из-за того, что компании предпочитают более медленную скорость развертывания. Для непрерывного развертывания необходимо использовать непрерывную доставку, – поясняет Мартин Фаулер.
И, как и большинство вещей в мире программного обеспечения, для непрерывной доставки существует определенная структура. «Хотя детали непрерывной доставки могут варьироваться от компании к компании и от продукта к продукту, процесс обычно включает планирование изменения, разработку, тестирование, объединение кода, построение кода, повторное тестирование, выпуск и проверку изменения. В идеале, большая часть этого процесса автоматизирована и воспроизводима, чтобы увеличить скорость и уменьшить количество отходов, таких как ошибки, – поясняет Адам Золяк.
Принципы Непрерывной Доставки
По словам Джеза Хамбла, за непрерывной доставкой стоит пять руководящих принципов :
- Качество сборки
- Работа небольшими партиями
- Компьютеры выполняют повторяющиеся задачи, люди решают проблемы
- Неустанно стремиться к постоянному совершенствованию
- Каждый несет ответственность
Многие из этих принципов полностью соответствуют принципам, изложенным в Манифесте Agile. И во многих отношениях непрерывная доставка и связанные с ней концепции являются адаптацией гибкой разработки.
Каковы преимущества непрерывной доставки?
В частности, для менеджеров по продукту она дает множество преимуществ. Возможно, наиболее очевидным преимуществом является то, что он может увеличить частоту петель обратной связи.
Подумайте об этом: каждый раз, когда вы доставляете обновления, у вас появляется новая возможность обратной связи с пользователями и клиентами. Таким образом, если вы будете чаще доставлять обновления, у вас будет больше возможностей получить эту ценную информацию.
Помимо преимуществ увеличения ритма, сокращенные петли обратной связи, обеспечиваемые непрерывной доставкой, могут помочь снизить риск провала. В разработке программного обеспечения продвижение инициативы в условиях неопределенности может быть пугающим. Инженерные ресурсы, как правило, недешевы. Однако теоретически, если вы можете увеличить частоту обратной связи от клиентов, вы можете снизить риск создания неправильного продукта. Кроме того, непрерывная доставка предоставляет более частые возможности для корректировки курса, чем то, что вы видели бы в средах с более длительными циклами разработки.
Между тем, те же технологии, которые позволяют нам практиковать CD, также позволяют конкурентам делать то же самое. Хотя несколько лет назад такая практика могла быть конкурентным преимуществом, теперь она почти обязательна для сохранения конкурентоспособности в сегодняшнем быстро меняющемся мире.
Всего комментариев: 0