Thursday, August 20, 2009

Agile Unified Process

The Agile Unified Process (Agile UP) is a streamlined approach to software development based on IBM's Rational Unified Process (RUP). The Agile UP lifecycle is serial in the large, iterative in the small, delivering incremental releases over time.

Agile UP Disciplines

Disciplines are performed in an iterative manner, defining the activities which development team members perform to build, validate, and deliver working software which meets the needs of their stakeholders. The disciplines are:




The goal of this discipline is to understand the business of the organization, the problem domain being addressed by the project, and to identify a viable solution to address the problem domain.


The goal of this discipline is to transform your model(s) into executable code and to perform a basic level of testing, in particular unit testing.


The goal of this discipline is to perform an objective evaluation to ensure quality. This includes finding defects, validating that the system works as designed, and verifying that the requirements are met.


The goal of this discipline is to plan for the delivery of the system and to execute the plan to make the system available to end users.

Configuration Management

The goal of this discipline is to manage access to your project work products. This includes not only tracking work product versions over time but also controlling and managing changes to them.

Project Management

The goal of this discipline is to direct the activities that takes place on the project. This includes managing risks, directing people (assigning tasks, tracking progress, etc.), and coordinating with people and systems outside the scope of the project to be sure that it is delivered on time and within budget.


The goal of this discipline is to support the rest of the effort by ensuring that the proper process, guidance (standards and guidelines), and tools (hardware, software, etc.) are available for the team as needed.


The Agile UP is characterized as being "serial in the large", something that you can see via its four phases which you move through in a serial manner.




1. Inception

To identify the initial scope of the project, a potential architecture for your system, and to obtain initial project funding and stakeholder acceptance.

Lifecycle Objectives (LCO)

2. Elaboration

To prove the architecture of the system.

Lifecycle Architecture (LCA)

3. Construction

To build working software on a regular, incremental basis which meets the highest-priority needs of your project stakeholders.

Initial Operational Capability (IOC)

4. Transition

To validate and deploy your system into your production environment.

Product Release (PR)

No comments:

Post a Comment