
Introduction to OpenUP

Getting Started

Delivery Processes

OpenUP Lifecycle

Inception Phase

Elaboration Phase

Construction Phase

Transition Phase

Practices

Management Practices

Iterative Development

Risk-Value Lifecycle

Release Planning

Whole Team

Team Change Management

Project Process Tailoring

Technical Practices

Concurrent Testing

Continuous Integration

Evolutionary Architecture

Evolutionary Design

Shared Vision

Test Driven Development

Use Case Driven Development

Deployment Practices

Roles

Work Products

Tasks

Architecture

Deployment

Develop Product Documentation

Develop User Documentation

Develop Support Documentation

Deliver end user Training

Deliver Support Training

Develop Training Materials

Deliver Release Communications

Execute Backout Plan (if necessary)

Execute Deployment Plan

Package the Release

Verify Successful Deployment

Develop Backout Plan

Develop Release Communications

Install and Validate Infrastructure

Plan Deployment

Review and Conform to Release Controls

Development

Environment

Project Management

Requirements

Test

Guidance

Checklists

Concepts

Actor

Analysis Mechanism

Architectural Constraints

Architectural Goals

Architectural Mechanism

Architectural Views and Viewpoints

Architecturally Significant Requirements

Balance competing priorities to maximize stakeholder value

Basic Process Concepts

Change Requests

Change Set

Coding Standard

Collaborate to align interests and share understanding

Collective Code Ownership

Component

Construction Phase

Design

Design Mechanism

Developer Testing

Development Case

Elaboration Phase

Evolve to continuously obtain feedback and improve

Executable Architecture

Focus on the architecture early to minimize risks and organize development

Implementation Mechanism

Inception Phase

Iteration

Iteration Lifecycle

Key Abstractions

Metrics

Micro-Increments

Pattern

Phase Milestones

Practice

Project Lifecycle

Refactoring

Release Iteration

Requirement Attributes

Requirements

Requirements Realization

Retrospective

Risk

Software Architecture

System-Wide Requirements

Test Ideas

Testing Qualitative Requirements

Transition Phase

Use Case

Use-Case Model

Visual Modeling

Whole Team

Workspace

Examples

4+1 Views of Software Architecture

Architectural Mechanism Attributes

Development Case for a Project

Evolution of the Use-Case Model

Iteration Burndown Report

Iteration Plan

Project Burndown Report

Project Plan

Use Case - Deposit Funds Outline

Use Case - Model Elaboration Phase

Use Case - Model Inception Phase

Use Case - Specification Validate User

Use Case - Transfer Funds Outline

Use Case - Withdraw Cash Outline

Use-Case Specification

Work Items List

Guidelines

[Collaboration Guidance]

[Design Guidance]

[Project Planning Guidance]

[Work Assignment Guidance]

Abstract Away Complexity

Agile Estimation

Analyze the Design

Assign Changes to an Iteration

Classifying Work Products

Conduct Project Retrospective

Continuous Integration

Daily Meetings

Deploy the Solution

Deploying Tools

Designing Visually

Detail Use Cases and Scenarios

Developer Testing

Developing System-Wide Requirements Specification

Effective Requirement Reviews

Entity-Control-Boundary Pattern

Evolve the Design

Example: Design Mechanisms

Identify and Outline Actors and Use Cases

Identify Common Architectural Mechanisms

Iteration Assessment

Iteration Planning

Layering

Maintain a Sustainable Pace

Maintaining Automated Test Suites

Managing Risks

Managing Work Items

Mapping from Design to Code

Modeling the Architecture

Prioritizing Work Items

Programming Automated Tests

Promoting Changes

Refactoring

Representing Interfaces to External Systems

Requirements Gathering Techniques

Self-Organize Work Assignments

Software Reuse

Staffing a Project

Submitting Change Requests

Tailoring - Configuration Management

Tailoring - Risk Management

Tailoring - Testing

Tailoring a Process for a Project

Tailoring a Specific Process Area

Test Driven Development

Test Ideas

Test Suite

Use-Case Model

Use-Cases Realizations

Using Visual Modeling

Writing Requirements Statements

Practices

Concurrent Testing

Continuous Integration

Documentation and Training

Evolutionary Architecture

Evolutionary Design

Iterative Development

Production Release

Project Process Tailoring

Release Planning

Risk-Value Lifecycle

Shared Vision

Team Change Management

Test Driven Development

Use Case Driven Development

Whole Team

References

Reports

Roadmaps

How to Adopt the Concurrent Testing practice

How to adopt the Continuous Integration practice

How to Adopt the Documentation and Training Practice

How to adopt the Evolutionary Architecture practice

How to Adopt the Evolutionary Design Practice

How to Adopt the Iterative Development Practice

How to Adopt the Production Release Practice

How to Adopt the Release Planning Practice

How to Adopt the Risk-Value Lifecycle Practice

How to Adopt the Shared Vision Practice

How to Adopt the Team Change Management Practice

How to Adopt the Test Driven Development Practice

How to Adopt the Use-Case Driven Development Practice

How to Adopt the Whole Team Practice

OpenUP Roadmap

Templates

Tools

Release Info

Overall Practices Library

Practice: Concurrent Testing

Practice: Continuous Integration

Practice: Documentation and Training

Practice: Evolutionary Architecture

Practice: Evolutionary Design

Practice: Iterative Development

Practice: Production Release

Practice: Project Process Tailoring

Practice: Release Planning

Practice: Risk-Value Lifecycle

Practice: Shared Vision

Practice: Team Change Management

Practice: Test Driven Development

Practice: Use-Case Driven Development

Practice: Whole Team

Process: OpenUP

Publish: OpenUP