Сравнение Agile, Lean и Continuous Delivery

Сравнение Agile, Lean и Continuous Delivery

6 декабря 2022 г.

Поскольку DevOps и непрерывная поставка набирают обороты, можно задаться вопросом, актуальны ли все еще принципы, лежащие в основе Lean и Agile. Как они соотносятся с пятью принципами непрерывной доставки и что означают любые различия для команд разработчиков программного обеспечения?

Начало облегченной доставки программного обеспечения

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

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

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

Agile Manifesto появился в 2001 году благодаря этому сообществу адаптивных и облегченных методов, а через пару лет появилась концепция Lean Software Development.

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

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

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

Диаграмма разделена на 5 групп с разным отношением к новым технологиям:

* Новаторы (-3) * Первые последователи (-2) * Раннее большинство (-1) * Позднее большинство (+1) * Отстающие (+3)

Раннее большинство и позднее большинство составляют две трети жизненного цикла внедрения. Тем не менее, чтобы новая технология (или, в случае с InfoQ, новая идея) стала популярной, она должна преодолеть пропасть между ранними пользователями и основным большинством.

Source: InfoQ Software Development Culture and Methods 2022

Несмотря на то, что адаптивные режимы доставки программного обеспечения используются в последнее время, возможности, необходимые для непрерывных режимов доставки, все еще пробиваются сквозь пропасть. Некоторые практики (такие как DevSecOps) совершили скачок, в то время как другие ключевые элементы, такие как топология команд и наделенные полномочиями группы, остаются на этапе раннего внедрения.

Итак, поскольку DevOps и непрерывная доставка набирают обороты, самое время сравнить 5 принципов непрерывной доставки с 12 принципами Agile и 7 принципами Lean.

Сравнение принципов Agile, Lean и Continuous Delivery

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

В Lean и Continuous Delivery есть другие методы и возможности, которые не имеют сопоставимых элементов в Agile. Agile-манифест был задуман как лакмусовая бумажка для проверки гибкости других конкретных методов, таких как экстремальное программирование, Scrum и Disciplineed Agile, поэтому в нем не содержались дополнительные детали.

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

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

Принципы являются единственными непосредственно сопоставимыми элементами этих трех подходов.

Принципы непрерывной доставки

Существует 5 принципов непрерывной доставки:

  1. Построить качество
  2. Работайте небольшими партиями
  3. Компьютеры выполняют повторяющиеся задачи, а люди решают проблемы
  4. Неустанно стремиться к постоянному совершенствованию
  5. Все несут ответственность

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

Сравнение принципов Agile

В целом принципы непрерывной доставки соответствуют манифесту Agile.

Например, широко известно, что работа небольшими партиями помогает реализовать несколько принципов Agile:

* Нашим наивысшим приоритетом является удовлетворение потребностей клиентов за счет своевременной и непрерывной поставки ценного программного обеспечения. * Приветствуйте меняющиеся требования, даже на поздних стадиях разработки. Гибкие процессы используют изменения для конкурентного преимущества клиента. * Доставляйте работающее программное обеспечение часто, от пары недель до пары месяцев, предпочитая более короткие сроки. * Работающее программное обеспечение является основным мерилом прогресса. * Гибкие процессы способствуют устойчивому развитию. Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок. * Простота – искусство максимизировать объем незавершенной работы – очень важно.

Фразировка принципа "работа небольшими партиями" лаконична и проста для применения на практике. Этот принцип Continuous Delivery способствует достижению половины принципов Agile.

Существует также эффект усиления, когда вы комбинируете 5 принципов. Чтобы «поставлять работающее программное обеспечение часто», вам нужно работать небольшими партиями, повышать уровень автоматизации и повышать качество.

Непрерывная поставка не охватывает два принципа Agile:

  • Деловые люди и разработчики должны ежедневно работать вместе над проектом.
  • Самый действенный и действенный метод передачи информации команде разработчиков и внутри нее — беседа лицом к лицу.

Непрерывная доставка сосредоточена на конвейере доставки, что означает, что процесс идентификации, создания и инициирования не является прямой задачей непрерывной доставки. Кроме того, в предисловии к книге Continuous Delivery авторы подчеркивают, что книга была создана в соответствии с содержащимися в ней идеями. Авторы и редакторы работали, используя разные инструменты и из разных мест. Они использовали контроль версий и автоматизированные сборки, чтобы сформировать конвейер доставки книги. Они не работали вместе ежедневно и не обменивались информацией лицом к лицу.

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

Что касается количества слов, принципы Continuous Delivery изложены в 21 слове, а не в 180 словах для Agile-принципов. Сочетание ретроспективного взгляда и тщательного редактирования дало нам компас, чтобы проверить наше направление, с подробностями, предоставленными в конкретных методах непрерывной доставки.

<цитата>

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

Вам не нужно выбрасывать Agile Manifesto, чтобы двигаться вперед; это часть географии, на которой строятся Continuous Delivery и DevOps. Промышленность будет продолжать открывать новые и лучшие способы разработки программного обеспечения. Становится все более очевидным, что технические практики и культурные возможности имеют жизненно важное значение.

Сравнение принципов бережливого производства

Принципы бережливого производства уже краткие и действенные. Между бережливым производством и непрерывной доставкой существует полное соответствие, и нет несопоставленных областей.

С Agile непрерывная доставка стала лаконичной альтернативой 10 принципам Agile. В случае бережливого производства непрерывная поставка полностью соответствует принципам. Каждый подход предлагает свою точку зрения, применимую к различным сегментам организации.

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

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

Заключение

Continuous Delivery представляет собой краткий набор принципов, которые соответствуют 10 из 12 принципов Agile и дополняют Lean, предлагая другой взгляд на достижение аналогичных целей.

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

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


Также опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE