Agile Unified Process

From Wikipedia, the free encyclopedia

Scott Ambler's Agile Unified Process (AUP) is a simplified version of the Rational Unified Process (RUP). It describes a simple, easy to understand approach to developing business application software using agile techniques and concepts yet still remaining true to the RUP. The AUP applies agile techniques including test driven design (TDD), Agile Modeling, agile change management, and database refactoring to improve productivity.

Contents

[edit] Phases

Like the RUP, the AUP is comprised of four phases:

1. Inception
Identify the initial scope of the project, a potential architecture for the system, and obtain initial project funding and stakeholder acceptance.
2. Elaboration
Prove the architecture of the system.
3. Construction
Build working software on a regular, incremental basis which meets the highest-priority needs of project stakeholders.
4. Transition
Validate and deploy the system into the production environment.

[edit] Disciplines

Unlike the RUP, the AUP only has seven disciplines:

1. Model. Understand the business of the organization, the problem domain being addressed by the project, and identify a viable solution to address the problem domain.

2. Implementation. Transform model(s) into executable code and perform a basic level of testing, in particular unit testing.

3. Test. 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.

4. Deployment. Plan for the delivery of the system and to execute the plan to make the system available to end users.

5. Configuration Management. Manage access to project artifacts. This includes not only tracking artifact versions over time but also controlling and managing changes to them.

6. Project Management. Direct the activities that takes place within 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.

7. Environment. 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.

[edit] Philosophies

The Agile UP is based on the following philosophies:

1. Your staff knows what they're doing. People are not going to read detailed process documentation, but they will want some high-level guidance and/or training from time to time. The AUP product provides links to many of the details, if you are interested, but doesn't force them upon you.

2. Simplicity. Everything is described concisely using a handful of pages, not thousands of them.

3. Agility. The Agile UP conforms to the values and principles of the agile software development and the Agile Alliance.

4. Focus on high-value activities. The focus is on the activities which actually count, not every possible thing that could happen to you on a project.

5. Tool independence. You can use any toolset that you want with the Agile UP. The recommendation is that you use the tools which are best suited for the job, which are often simple tools (like many of open source solutions).

6. You'll want to tailor the AUP to meet your own needs.

[edit] Releases

The Agile Unified Process distinguishes between two types of iterations. A Development Release Iteration results in a deployment to the Quality Assurance and/or Demo area. A Production Release Iteration results in a deployment to the Production area. This is a significant refinement to the Rational Unified Process.

Image:AgileUnifiedProcessTimeline20060704.png

[edit] See also

[edit] External links