Agile Unified Process (Agile Unified Process)

Перейти к навигации Перейти к поиску

Гибкий унифицированный процесс (AUP, англ. Agile Unified Process) - упрощенная версия унифицированного процесса Unified Process (UP), разработанная Скоттом Эмблером (англ. Scott Ambler) [1]. Данная методология разработки программного обеспечения соединяет в себе элементы гибких методологий и унифицированного процесса. В частности, AUP предполагает разработку через тестирование (TDD), применение гибкого моделирования (англ. Agile modeling) и рефакторинга баз данных, гибкое управление изменениями.

Утверждается, что в 2011 году около одного процента проектов, выполняемых по гибким методологиям, использовали процесс AUP[2]. Наследником AUP является подход дисциплинированной гибкой разработки (англ. Disciplined Agile Delivery), который разрабатывается с 2012 года.

Дисциплины AUP

[править | править код]

В отличие от RUP, AUP содержит всего семь дисциплин:

  1. Моделирование. Выработка понимания прикладной области проекта, устройства бизнеса организации, а также выработка приемлемых решений прикладных проблем, которые требуется разрешить в рамках проекта.
  2. Реализация. Трансформация моделей в исполнимый код, его тестирование с использованием модульных тестов.
  3. Тестирование. Объективная оценка качества продукта. Поиск дефектов, проверка корректности спроектированной системы, а также её соответствия требованиям.
  4. Развертывание. Планирование процедуры развертывания системы, а также исполнение плана развертывания.
  5. Управление конфигурациями. Разграничение доступа к артефактам проекта. Контроль всех изменений и версий артефактов проекта.
  6. Управление проектом. Направление действий всех участников проекта. Управление рисками, руководство персоналом, координация заинтересованных лиц и внешних систем с целью поставки продукта с соблюдением временных и бюджетных ограничений.
  7. Организация среды. Обеспечение доступности для членов команды проекта всех необходимых ресурсов, инструкций, стандартов, документов, аппаратных и программных инструментов.

Философия AUP

[править | править код]

Гибкий унифицированный процесс базируется на следующих принципах (Ambler, Scott The Agile Unified Process (AUP). Ambysoft. Дата обращения: 21 декабря 2015.):

  1. Члены команды сами знают свою работу. Люди не любят погружаться в изучение детальной документации. Вместо этого они предпочитают краткие инструкции и интерактивное обучение. AUP содержит короткое высокоуровневое описание процесса, ознакомления с которым достаточно для работы. Кроме того, имеется детальное описание процесса.
  2. Простота. Все аспекты процесса описываются сжато.
  3. Гибкость. AUP соответствует принципам и ценностям гибкой методологии и Agile Alliance.
  4. Фокус на высокоуровневой деятельности. Процесс описывает деятельность в рамках проекта на высоком уровне абстракции. Автор не пытается подробно описать все мелкие детали.
  5. Независимость от конкретных инструментов. AUP работает вместе с любым набором инструментов, который привычен команде.
  6. AUP может быть адаптирован для ваших личных нужд.

Типы итераций

[править | править код]

Гибкий унифицированный процесс предполагает два типа итераций. Вклад итерации развития (development release iteration) осуществляется в демонстрационную часть кодовой базы, а также заключается в улучшении качества продукта. В ходе производственной итерации (production release iteration) вносится вклад в основную кодовую базу проекта. Наличие типов итераций отличает AUP от RUP.

Литература

[править | править код]
  1. Waters, John K (2008-02-28). "Agile lands role in games and business software". The Register. Архивировано 1 октября 2009. Дата обращения: 3 августа 2009.
  2. State of Agile Development Survey Results, 2011. VersionOne. Дата обращения: 8 января 2019. Архивировано 17 июля 2015 года.