You are on page 1of 16

Software Design & Documentation Agile Unified Process

John Sturman

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.

Development
Developed by Scott Ambler Brings Agile to UP Similar structure, but different focus

Disciplines
Model
o Understand the business of the
organization, the domain being addressed and a viable solution

Implementation
o Transform your model into executable code
and to perform unit testing

Testing
o Perform an objective evaluation to ensure
quality.

Disciplines
Deployment
o Plan for the delivery of the system and make the system available for users

Configuration Management
o Manage access to your project work products. This includes tracking product versioning and also controlling and managing changes to products.

Disciplines
Project Management
o Direct the activities that take place on the project.

Environment
o Support the rest of the effort by ensuring that process, guidance, and tools are available for the team as needed.

AUP Disciplines

Phases
Inception
o o o o o o o o o
Define project scope Estimate cost and schedule Define risks Determine project feasibility Prepare project environment Identify architecture Validate architecture Evolve project environment Staff project team

Elaboration

Phases
Construction
o Model, build, and test system o Develop supporting documentation

Transition
o o o o System testing User testing System rework System deployment

Milestones
Lifecycle Objectives (Inception)
o o o o o o o o o
Scope and plan agreement Initial requirements defined Risk and process acceptance Project feasibility Project plan Vision and architecture stability Risk acceptance Project feasibility Project plan

Lifecycle Architecture (Elaboration)

Milestones
Initial Operating Capacity (Construction)
o o o o o
System stability Prepared stakeholders Risk acceptance Cost and estimate acceptance Project plan

Product Release (Transition)


o Stakeholder and operations acceptance o Support and cost/estimates acceptance

Minimum Deliverables
1. 2. 3. 4. 5. 6. 7. 8. Working system Source code Regression test suite Installation System documentation Release notes Requirements model Design model

Other Deliverables

Acceptance tests Data schema Deployment model and plan Domain model Object model Glossary Budget Project plans Use case model User documentation

Just Barely Good Enough


Most effective possible Doing more work on it is clearly a waste Does not imply low quality

Just Barely Good Enough

Philosophy
Your staff knows what they're doing. Keep it simple. Everything is described

concisely using a handful of pages. Agility. Conforms to the values and principles of the Agile Manifesto. Focus on high-value activities. Tool independence. Tailor the AUP to meet your own needs.

You might also like