University of Basel
Introduction
What is OpenUP?
Process with its roots in (R)UP
An iterative software development process that is minimal,
complete, and extensible:
Minimal contains vital roles, tasks and guidance
PPM
APM
Build
Run
Project
EA/DA
CM
PM
CP
SM
CP = Capacity Planning
SM = Service Management
Department of Computer Sciences University of Basel 6
Build
Inception
Elaboration
Run
Construction
Transition
Conceptual
Solution Outline
(High-Level
Architecture)
Detailed Solution
Design
(Detailed
Architecture)
Solution
Implementation &
Testing
(Detailed
Design)
Elaboration
Develop Architecture
Construction
Develop Solution Incr.
Transition
Develop Solution Incr.
Design Solution
Design Solution
Plan Project
Refine Architecture
Implement solution
Implement solution
Agree on Technical
Approach
Envision the Architecture
Test Solution
Test Solution
Test Solution
Implement Tests
Implement Tests
Implement Tests
Run Tests
Run Tests
Run Tests
Elaboration
Construction
Transition
Glossary
Vision
Project Plan
Work Items List
Iteration Plan
System-wide Requirements
Use Case(s)
Use Case Model
Risk List
Test Case, Developer Test, Test Script, etc.
Architecture Handbook
Design, Implementation, Built
Department of Computer Sciences University of Basel 9
Enterprise
Architecture
- Stakeholders
- High-level Business Need
Vision
Solution
Architecture
- Principles
- Constraints
- Standards
- Baseline Business Architecture
- Baseline Application Architecture
- Baseline Data Architecture
- Baseline Technology Architecture
Architecture
Handbook
High-level solution
Factors driving costs
Milestones for implementation
Dependencies / Linkages
Input regarding the compliance
Positioning information
Costs
Technical Risk
Effort Estimations
Use-Case Model
Vision
Project Plan
Risk List
Use-Case(s)
Use-Case Model
System-wide Req.
- Functional Requirements
- Non-functional Requirements
- Non-functional Requirements
- Architecture significant
functional requirements
Use-Case(s)
System-wide Req.
Project-centric document
System-centric document
- Terminology
- Appropriate updates
- Iteration Miilestones
- Work Items
- Assigned responsibles
- Appropriate updates
- Appropriate updates
Glossary
Iteration Plan
Solution
Architecture
Project Plan
Risk List
<checklists>
Project-centric document
Architecture
Handbook
Project Plan
- Appropriate updates
Risk List
System-centric document
Department of Computer Sciences University of Basel 12
Core Principles
Overview
OpenUP is based on a set of mutually supporting core
principles
Collaborate to align interests and share understanding
Core Principles
Collaboration
Maintain a common understanding
Key artifacts: Vision, requirements, architecture handbook, iteration
plan
Share responsibility
Everybody owns the product, help each other
Learn continuously
Develop technical and interpersonal skills, be a student and a teacher
Core Principles
Evolve
Develop your project in iterations
Use time-boxed iterations that deliver incremental value and provide
frequent feedback.
Core Principles
Balance
Know your audience & create a shared understanding of
the domain.
Identify stakeholders early and establish a common language
Manage scope
Department of Computer Sciences University of Basel 16
Core Principles
Focus
Create the architecture for what you know today
Keep it as simple as possible and anticipate change
Governance Model
Balancing Agility and Discipline
OpenUP incorporates a three-tiered governance model to
plan, execute, and monitor progress.
Governance Model
Remember this ...
Iterative and incremental Models
Phase
Governance Model
Project Life-Cycle
OpenUP uses an iterative, incremental lifecycle.
Proper application of this lifecycle directly addresses the
first core principle (Evolve).
Governance Model
Project Life-Cycle
Governance Model
Remember this ...
Iterative and incremental Models
Iteration
Phase
Governance Model
Iteration Life-Cycle
Phases are further decomposed into a number of
iterations.
Governance Model
Remember this ...
Iterative and incremental Models
Iteration
Phase
Micro-Increment
Governance Model
Micro-Increments
Micro-increments are small steps towards the goals of the
iteration.
OpenUP Life-Cycle
WBS
OpenUP Life-Cycle
Inception Phase
The primary purpose of the Inception Phase is to understand the scope of the problem and feasibility of a solution.
Define a Vision
Initiate Project
Initiate Project
Plan and Manage Iteration
OpenUP Life-Cycle
Inception Phase
At the Lifecycle Objectives Milestone, a decision to
proceed with the same scope, change the scope, or
terminate the project is made.
OpenUP Life-Cycle
Elaboration Phase
The primary purpose of the Elaboration Phase is to
validate the solution architecture (feasibility and trade-offs).
OpenUP Life-Cycle
Elaboration Phase
At the Lifecycle Architecture Milestone, a decision to
proceed with the same scope, change the scope, or
terminate the project is made.
OpenUP Life-Cycle
Construction Phase
The primary purpose of the Construction Phase is to
develop and verify the solution incrementally.
OpenUP Life-Cycle
Construction Phase
At the Initial Operational Capability Milestone, a decision to
deploy the solution to the operation environment is made.
OpenUP Life-Cycle
Transition Phase
The primary purpose of the Transition Phase is to deploy
the solution to the operational environment and validate it.
Ongoing Tasks
Develop Solution Increment
Test Solution
OpenUP Life-Cycle
Transition Phase
At the Product Release Milestone, a decision to make the
product generally available is made.
OpenUP Disciplines
Remember this ...
Iterative and incremental Models
Discipline
OpenUP Disciplines
Overview
A discipline is a collection of tasks that are related to a
major "area of concern" within the overall project.
OpenUP Disciplines
Overview
OpenUP defines the following Disciplines:
OpenUP Disciplines
Requirements Discipline
Associated Tasks:
Define Vision
Detail Requirements
Find and Outline Requirements
OpenUP Disciplines
Architecture Discipline
Consists 17 guidance elements.
Associated Tasks:
Outline the Architecture
Demonstrate the Architecture
OpenUP Disciplines
Development Discipline
Associated Tasks:
Implement Developer Tests
Implement the Solution
Run Developer Tests
Design the Solution
OpenUP Disciplines
Test Discipline
Consists 7 guidance elements.
Associated Tasks:
Create Test Cases
Run Tests
Test Script
OpenUP Disciplines
Project Management Discipline
Associated Tasks:
Plan the Project
Plan Iteration
Assess Results
Manage Iteration
OpenUP Disciplines
Configuration & Change Management Discipline
Consists 7 guidance elements.
Associated Tasks:
Request Change
Integrate and Create Build
Primary Role(s):
Any Role
Developer
OpenUP Roles
Overview
Roles do not represent individual responsibilities over tasks
or deliverables but are instead hats that people can put
on when working together.
- Workproducts
Secondary relationships
- Additionally Performs
- Modifies
Main Description
Skills
More Information and Concepts
Department of Computer Sciences University of Basel 44
OpenUP Roles
Overview
These are the Roles, which OpenUP distinguishes:
Architect
Project Manager
Analyst
Tester
Any Role
Developer
Stakeholder
OpenUP Roles
Role Example: Architect
This role is responsible for defining the software
architecture, which includes making the key technical
decisions that constrain the overall design and
implementation of the project.
OpenUP Tasks
Overview
Tasks typically have an associated concept, guideline and
checklist.
OpenUP Artifacts
Overview
Typically artifacts have associated templates and
checklists.
Stakeholder
Satisfaction Space
Department of Computer Sciences University of Basel 50
Project Plan
Planned
Path
Time-scale of weeks.
Defines number of work items to complete in this iteration.
Main artifacts: Iteration Plan, Work Item List
Velocity
Effort (days or hours):
High
Priority
Low
Iteration Plan
Iteration objectives
Iteration Work Item List
Measure / test results
4
5
Project Plan
(updated)
Iteration
Assessments
Actual
Completion
Actual
Path
Department of Computer Sciences University of Basel 56
OpenUP Requirements
Iterative Requirements Development
Overview
Vision defines product
Use-case identification scopes release
Use-case detail drives work in an iteration
Supporting requirements are managed across the lifecycle
Questions?