Гибкий унифицированный процесс (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 содержит всего семь дисциплин:
- Моделирование. Выработка понимания прикладной области проекта, устройства бизнеса организации, а также выработка приемлемых решений прикладных проблем, которые требуется разрешить в рамках проекта.
- Реализация. Трансформация моделей в исполнимый код, его тестирование с использованием модульных тестов.
- Тестирование. Объективная оценка качества продукта. Поиск дефектов, проверка корректности спроектированной системы, а также её соответствия требованиям.
- Развертывание. Планирование процедуры развертывания системы, а также исполнение плана развертывания.
- Управление конфигурациями. Разграничение доступа к артефактам проекта. Контроль всех изменений и версий артефактов проекта.
- Управление проектом. Направление действий всех участников проекта. Управление рисками, руководство персоналом, координация заинтересованных лиц и внешних систем с целью поставки продукта с соблюдением временных и бюджетных ограничений.
- Организация среды. Обеспечение доступности для членов команды проекта всех необходимых ресурсов, инструкций, стандартов, документов, аппаратных и программных инструментов.
Философия AUP
правитьГибкий унифицированный процесс базируется на следующих принципах (Ambler, Scott The Agile Unified Process (AUP) . Ambysoft. Дата обращения: 21 декабря 2015.):
- Члены команды сами знают свою работу. Люди не любят погружаться в изучение детальной документации. Вместо этого они предпочитают краткие инструкции и интерактивное обучение. AUP содержит короткое высокоуровневое описание процесса, ознакомления с которым достаточно для работы. Кроме того, имеется детальное описание процесса.
- Простота. Все аспекты процесса описываются сжато.
- Гибкость. AUP соответствует принципам и ценностям гибкой методологии и Agile Alliance.
- Фокус на высокоуровневой деятельности. Процесс описывает деятельность в рамках проекта на высоком уровне абстракции. Автор не пытается подробно описать все мелкие детали.
- Независимость от конкретных инструментов. AUP работает вместе с любым набором инструментов, который привычен команде.
- AUP может быть адаптирован для ваших личных нужд.
Типы итераций
правитьГибкий унифицированный процесс предполагает два типа итераций. Вклад итерации развития (development release iteration) осуществляется в демонстрационную часть кодовой базы, а также заключается в улучшении качества продукта. В ходе производственной итерации (production release iteration) вносится вклад в основную кодовую базу проекта. Наличие типов итераций отличает AUP от RUP.
См. также
править- Гибкая методология разработки
- Disciplined Agile Delivery
- Unified Process
- Rational Unified Process
- англ. Enterprise Unified Process
Литература
править- ↑ Waters, John K (2008-02-28). "Agile lands role in games and business software". The Register. Архивировано 1 октября 2009. Дата обращения: 3 августа 2009.
- ↑ State of Agile Development Survey Results, 2011. VersionOne . Дата обращения: 8 января 2019. Архивировано 17 июля 2015 года.