Agile UP

The Unified Process (UP) is an iterative and incremental software development framework. Agile UP is often viewed as a highly ceremonial process, because it specifies numerous activities and artifacts involved in the performance of a software project. As a process framework, it is adaptable. The best-known such adaptation is IBM’S RUP (Rational Unified Process).

Agile UP (AUP) is an agile adaptation of UP formalized by Scott Ambler.

AUP is concerned especially with risk management. The method proposes that high risk elements be accorded priority in the development process and addressed in the early stages. For this purpose, lists are kept of the risks identified in the early stages of the project. The development of executable prototypes at the product preparation stage is especially important in this regard to demonstrate the validity of the architecture for key product requirements and determine technical risks.

Like RUP, AUP establishes four phases, which follow upon each other consecutively, ending with clearly marked milestones.

  • Inception (Conception): The objective of this phase is to arrive at a common understanding between the client and the development team with regard to the scope of the system and to define one or more candidate architectures.
  • Preparation: The objective is for the development team to take their understanding of the system requirements and architecture validation further.
  • Construction: The system is developed and fully tested in the development environment during the construction phase.
  • Transition: The system is transferred to pre-production environments and subjected to validation tests and acceptance before being rolled out on production systems.

The AUP process establishes a much simpler model than RUP, bringing together the disciplines of Business Modeling, Requirements and Analysis and Design under a single roof. The remaining disciplines (Implementation, Testing, Roll-Out, Set-up Management, Management and Environment) are the same as in RUP.