Disciplined Agile Delivery

Разработка программного обеспечения
Ключевые процессы
Парадигмы и модели
Методологии
Инструменты

Disciplined Agile Delivery (англ. дисциплинированная гибкая разработка), DAD — подход к гибкой разработке IT-решений, который ориентирован на обучение и в первую очередь учитывает человеческий фактор. Подход допускает масштабирование и может применяться в масштабах предприятий, а не только небольших команд. Жизненный цикл подхода построен на принципах «риск — ценность» и ориентирован на раннее достижение поставленных целей[1][2].

Описание

Фреймворк представляет собой гибридный подход, который дополняет Scrum проверенными[кем?] стратегиями из различных областей: гибкого моделирования, экстремального программирования, канбана, бережливой разработки программного обеспечения, Unified Process (UP), Outside-in Development (OID) и прочих. DAD разработан в компании IBM. Целью фреймворка стало расширение Scrum таким образом, чтобы полностью описать жизненный цикл разработки программного обеспечения, начиная с момента инициации проекта, заканчивая запуском продукта и его использованием конечными пользователями[3].

В отличие от прескриптивного подхода, используемого в Scrum и Extreme Programming, Disciplined Agile Delivery использует подход, основанный на целях[каких?]. В том числе, DAD предоставляет возможность выбора между несколькими альтернативами, позволяющий модифицировать фреймворк в соответствие с каждой конкретной ситуацией, и подобрать стратегии, подходящие конкретным пользователям фреймворка[4].

Согласно фреймворку Disciplined Agile 2.X, жизненный цикл проекта содержит три основные фазы[5]:

  1. Начало. Во время этой фазы происходит инициация проекта. Несмотря на то, что agile-сообщество не приветствует разбиение проектов на «фазы», в реальности подавляющее большинство команд выполняет определённый фронт работ в самом начале проекта. Не следует путать данную фазу с «нулевым спринтом», так как чаще всего эти активности занимают больше времени. Таким образом, DAD выделяет эти работы в отдельную фазу, целью которой является фиксирование границ проекта.
  2. Конструирование. Эта фаза позволяет команде разработки создать потенциально используемое решение инкрементальным путём. Это может сделано как с использованием итераций, так и более непрерывным способом. Команда может применять различные практики из скрама, экстремального программирования и прочих гибких методологий разработки.
  3. Передача. Согласно DAD, поставка программного обеспечения заинтересованным сторонам не является тривиальным процессом. Команды разработки, равно как и предприятие, получающее готовый результат, улучшают процессы доставки по мере жизни продукта, так чтобы данная фаза занимала минимальное количество времени, а в идеале и исчезла бы совсем.

Примечания

  1. Гибкая разработка программного обеспечения Архивная копия от 20 декабря 2016 на Wayback Machine Как ее реализовать и приспособить к своим потребностям. IBM developerWorks Россия
  2. IBM developerWorks Россия : Начало работы с IBM Connections 3.0.1. www.ibm.com (7 октября 2011). Дата обращения: 13 января 2017. Архивировано 20 декабря 2016 года.
  3. Chapter 17: Disciplined Agile Delivery Framework - The Project Manager's Guide to Mastering Agile: Principles and Practices for an Adaptive Approach [Book]. safaribooksonline.com. Дата обращения: 17 декабря 2016. Архивировано 20 декабря 2016 года.
  4. Scott W. Ambler. Going Beyond Scrum. disciplinedagileconsortium.org. — Disciplined Agile Delivery. Дата обращения: 17 декабря 2016. Архивировано из оригинала 20 декабря 2016 года.
  5. "Full Agile Delivery Lifecycles". Disciplined Agile 2.X (англ.). 2014-05-06. Архивировано 22 декабря 2016. Дата обращения: 13 января 2017.