AUP - Raman Ramsin

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

Software Development

Methodologies
Lecturer: Raman Ramsin
Lecture 15
Agile Methodologies: AUP
Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

Agile Unified Process (AUP)

Proposed by Ambler as a simplified version of the


Rational Unified Process (RUP).

Introduced in 2005; revised in 2006.

Describes a simple, easy to understand approach to


developing business systems using agile techniques
and concepts while remaining true to the RUP.

Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

Agile Unified Process (AUP)

UML is the main modeling language, but AUP is not restricted


to UML.

Use case driven

Iterative-incremental

Architecture-centric

Covering the full generic lifecycle

Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Phases

Like RUP, the overall development cycle consists of four

phases:

Inception: The goal is to identify the initial scope of the

project, a potential architecture for the system


project
system, and to obtain
initial project funding and stakeholder acceptance.

Elaboration: The goal is to prove the system architecture.

Construction: The goal is to build working software on a

Transition: The goal is to validate and deploy the system into

regular, incremental basis which meets the highest-priority needs


of project stakeholders.

the production environment.

Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Iterations and Disciplines


p

Each phase can be further broken down into iterations.


An iteration is a complete development loop resulting in a
release
l
off an executable
t bl increment
i
t to
t th
the system.
t
Each
E
h iteration
it ti consists
i t off seven workk areas (disciplines
di i li )
performed during the iteration.
For each discipline, AUP defines sets of:

artefacts (work products);


activities (units of work on the artefacts);
roles ((responsibilities
p
taken on byy development
p
team members).
)

Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Disciplines


p
1.

Model.
ode The
e goa
goal iss to
ou
understand
de s a d the
e bus
business
ess o
of the
eo
organization,
ga a o , the
e
problem domain being addressed by the project, and to identify a viable
solution to address the problem domain.

2.

Implementation. The goal is to transform the model(s) into executable


code and to perform a basic level of testing, in particular unit testing.

3.

Test. The goal is to perform an objective evaluation to ensure quality.


This includes finding defects,
defects validating that the system works as
designed, and verifying that the requirements are met.

4.

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

Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Disciplines


p
((Contd.))
5
5.

Configuration Management.
Management The goal is to manage access to the
project artifacts. This includes not only tracking artifact versions over time
but also controlling and managing changes to them.

6.

Project Management. The goal is to direct the activities that take


place on the project.
p
p j
This includes managing
g g risks,, directing
g people,
p p , 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. The goal 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.

Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Disciplines


p
in Iterations and Phases

[Ambler 2006]
Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Inception


p
Phase

Tasks include:
1.

Define project scope.

2.

Estimate cost and schedule.

3.

Define risks.

4
4.

Determine project feasibility


feasibility.

5.

Prepare the project environment: reserving workspace for


the team, requesting the people needed, obtaining the
necessary hardware/software, and tailoring the AUP.

Department of Computer Engineering

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Elaboration Phase

Tasks include:
1. Produce
2. Evolve

an architectural prototype for the system.

the requirements model.

3. Draft

a coarse-grained project plan for the construction


phase.

4. Ensure

that critical tools, processes, standards, and


guidelines are put in place for the construction phase.

5. Understand

and eliminate high-priority risks of the project.

Department of Computer Engineering

10

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Construction Phase

Tasks include:
1. Prioritize
2. Model

and understand the requirements.

storm a solution.

3. Coding

and testing the software.

4. Deploying
D l i

feedback.

early
l releases
l
off the
th system
t
to
t obtain
bt i user

Department of Computer Engineering

11

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Transition Phase

Tasks include:
1. Test

and validate the complete system.

2. Integrate
3. Convert

release.

4. Train

the system with existing systems.

legacy databases and systems to support the new

the users of the new system.

5. Deploy

the new system into production.

Department of Computer Engineering

12

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Process Model Discipline


p

Encompasses RUP's Business Modeling, Requirements, and


Analysis & Design disciplines.
disciplines

Agility
g y is observed byy creating
g models and documents which are
just barely good enough, limiting them to an absolute minimum.

P f
Performed
d th
through
h model
d l storming
t
i sessions
i
which:
hi h

Involve a few people, usually just two or three, who discuss an issue
while sketching on paper or a whiteboard.
whiteboard
Typically last for five to ten minutes (its rare to model storm for more
than thirty minutes).
The
h people
l get together,
h gather
h around
d a shared
h d modeling
d l
tooll (e.g.
(
the whiteboard), explore the issue until they're satisfied that they
understand it, then they continue on (often coding).

Department of Computer Engineering

13

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Strengths and Weaknesses

Strengths

Iterative-incremental process

Based on system architecture

Based on structural,
structural functional and behavioral modeling (logical
and physical) of the problem domain and the system

Based on system functionality captured in use cases

Traceability to requirements through the use of use cases


throughout the process as the basis for tasks and tests

Department of Computer Engineering

14

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Strengths and Weaknesses

Strengths (Contd.)

Design-based development

Iterative development engine governed by planning/reviewing

Seamlessness
S
l
observed
b
d (though
(th
h limited)
li it d) due
d to
t use-case based
b d
activities and design-based development

Risk-based process

Formal features can be added via UML/OCL

Configurability
g
y and flexibilityy addressed

Department of Computer Engineering

15

Sharif University of Technology

Software Development Methodologies Lecture 15

AUP: Strengths and Weaknesses

Weaknesses

Modeling may jeopardize agility if limits are not strictly


observed; the list of AUP
AUPss models that are produced as the
absolute minimum is actually quite long.

T kli model
Tackling
d l inconsistency
i
i t
is
i nott explicitly
li itl addressed.
dd
d

Department of Computer Engineering

16

Sharif University of Technology

Software Development Methodologies Lecture 15

Reference

Ambler, S. W., The Agile Unified Process (AUP), Ambysoft


C
Corporation,
ti
2006,
2006
A il bl
Available
on
the
th
Web
W b
at:
t
http://www.ambysoft.com/unifiedprocess/agileUP.html.

Department of Computer Engineering

17

Sharif University of Technology

You might also like