34
® IBM Software Group © 2006 IBM Corporation UPdate on the Unified Process: Something Old, Something New, Something Borrowed, and Definitely Something Blue Scott W. Ambler Practice Leader Agile Development, IBM

Update on the Unified Process: Something Old - Boston SPIN

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

®

IBM Software Group

© 2006 IBM Corporation

UPdate on the Unified Process:Something Old, Something New, Something

Borrowed, and Definitely Something Blue

Scott W. AmblerPractice Leader Agile Development, IBM

IBM Software Group | Rational software

Scott Ambler - Background

Practice Leader – Agile Development

Fellow – International Association of SoftwareArchitects

www.ibm.com/rational/bios/ambler.html

IBM Software Group | Rational software

Presentation OverviewMain “Take Away” Points

History of the Unified Process

The Rational Unified Process (RUP)

The Eclipse Process Framework (EPF)

Open Unified Process (Open UP)

OtherThe Agile Unified Process (AUP)

The Essential Unified Process (Ess UP)

The Enterprise Unified Process (EUP)

Parting Thoughts

IBM Software Group | Rational software

Main “Take Away” Points

1. The UP has a long and proven history

2. There are many flavors of the UP available to you

3. One process size doesn’t fit all

4. The UP can be extended to the entire IT lifecycle

5. The UP is clearly evolving

IBM Software Group | Rational software

Some Historywww.enterpriseunifiedprocess.com/essays/history.html

1988

: Obje

ctory

v1.0

1995:

Objecto

ryv3

.8

June

1998

: RUP

5.0

Oct

ober

1999

: Enh

ance

dRUP

lifec

ycle

May

2003

: RUP

2003

Janu

ary

2004

: EUP

v200

4

Septe

mbe

r 200

5:AUP

Oct

ober

2005

: EPF

&BU

P

Novem

ber 2

005:

RMC

May

2006

: Ope

nUP

Mar

ch20

06: E

ssUP

IBM Software Group | Rational software

Rational Unified Process (RUP)

IBM Software Group | Rational software

Universal Principles – The Basis of RUP

These principles are the basis for RUP practices.

IBM Software Group | Rational software

RUP Practices

Manage risk

Execute your project in iterations

Embrace and manage change

Measure progress objectively

Test your own code

Leverage test automation appropriately

Everyone owns the product

Understand the domain

Describe requirements from the userperspective

Prioritize requirements forimplementation

Leverage legacy systems

Build high-performance teams

Organize around the architecture

Manage versions

Leverage patterns

Architect with components andservices

Actively promote reuse

Model key perspectives

Rightsize your process

Continuously reevaluate what you do

®

IBM Software Group

© 2006 IBM Corporation

Open Unified Process (Open UP)OpenUP/Basic

Key Artifacts

Principles

Base Process and Plug Ins

Demo

IBM Software Group | Rational software

What Is OpenUP/Basic?

An iterative software development process that isminimal, complete, and extensible.

Minimal - only fundamental content is included

Complete - can be manifested as an entire processto build a system

Extensible - can be used as a foundation on whichprocess content can be added or tailored as needed

IBM Software Group | Rational software

OpenUP/Basic

Management

“Intent” / Req’sManagement Development

Collaboration

IBM Software Group | Rational software

OpenUP/Basic: Key artifacts

Management

“Intent” / Req’sManagement Development

Collaboration

Work Item List

Build

Project Plan

Vision

Iteration Plan

Use Cases

Developer Test

IBM Software Group | Rational software

OpenUP/Basic Principles

Management

“Intent” / Req’sManagement Development

Collaboration

Evolve to continuouslyobtain feedback andimprove

Balance competing priorities tomaximize stakeholder value

Focus on articulating thearchitecture

Collaborate to align interests andshare understanding

IBM Software Group | Rational software

OpenUP/Basic

“Intent” / Req’sManagement Development

Collaboration

Example Process patternsDevelop trivial changeDevelop small changeDevelop large changeValidate build

Example Process patternsPlan iterationPlan projectManage iterationAssess status

Example Process patternsDevelop visionFind and outline requirementsDetail requirementsAgree on scopeDefine the architectureDetermine arch. feasibility

Example Process patternsMaintain a common understandingFoster a high trust environmentShare responsibilityAgree on scopeLearn continuously

Management

IBM Software Group | Rational software

Base Processes and Process Plug-Ins

J2EE

JUnit

OpenUP/Basic

ScrumFinancialServices

AgileDatabase

SOASOA

IBM Software Group | Rational software

Demo ofOpenUP/Basic

www.eclipse.org/epf/

®

IBM Software Group

© 2006 IBM Corporation

The Eclipse Process Framework (EPF)The EPF project

Knowledge Base

Process Patterns

EPF Ecosystem

Contributors

Demo

IBM Software Group | Rational software

Eclipse Process Framework (EPF) Project

Provide an open and collaborativeecosystem for evolving softwaredevelopment processes

Provide sample process patterns,process tooling and a metamodel, thatcan be used as the foundation for alarge variety of processes to address ITneeds

IBM Software Group | Rational software

EPF: Process or Knowledge BaseTr

aditi

onal

proc

ess

miss

ion

Mandatory

Milestones andkey artifacts

Guidance Reusable process patterns(Built from tasks, guidelines,artifacts, examples, templates, ….)

Principles & practices

Tacit Knowledge Emerging practices …

Harvestingbest practices

EP

FC

ompo

ser

Wik

i…

IBM Software Group | Rational software

EPF: Producing a ProcessTr

aditi

onal

proc

ess

miss

ion

Mandatory

Guidance

Tacit Knowledge

Harvestingbest practices

High-level process

Applicable process patterns

G u i d a n c e

IBM Software Group | Rational software

Reuse Process Patterns across Project Types

High-level process

Applicable process patterns

Type A Project

G u i d a n c e

High-level process

Applicable process patterns

Type D Project

G u i d a n c e

High-level process

Applicable process patterns

Type B Project

G u i d a n c e

Applicable process patterns

Type C Project

G u i d a n c e

IBM Software Group | Rational software

EPF Composer Capabilities

Create reusable process patterns

Create (high-level) processes for different projecttypes

Link appropriate processes patterns to high-levelprocesses

Create derivatives of process patterns, referencematerial, and processes

Provide easy upgrade to new versions of base set ofprocess patterns, reference materials and high-levelprocesses

Enable tool integration and instrumentation ofprocess patterns and high-level processes (through

IBM Software Group | Rational software

EPF Ecosystem

TOOLING (Authoring, Publishing)TOOLING (Authoring, Publishing)

Free Process

ContentPlug-ins

Free Process

ContentPlug-ins

META MODEL (Unified Method Architecture)META MODEL (Unified Method Architecture)

ECLIPSEECLIPSE

CommercialProcess

ContentPlug-ins

CommercialProcess

ContentPlug-ins

ToolExtensions

ToolExtensions

Extensible, Customizable, FlexibleExtensible, Customizable, Flexible

Common Language & VocabularyCommon Language & Vocabulary

Open Source DevelopmentOpen Source Development

InhouseContentPlug-ins

InhouseContentPlug-ins

Basic UnifiedProcess

Adapted from RUP

Basic UnifiedProcess

Adapted from RUP ScrumScrum

TOOLING (Authoring, Publishing)TOOLING (Authoring, Publishing)

Free Process

ContentPlug-ins

Free Process

ContentPlug-ins

META MODEL (Unified Method Architecture)META MODEL (Unified Method Architecture)

ECLIPSEECLIPSE

CommercialProcess

ContentPlug-ins

CommercialProcess

ContentPlug-ins

ToolExtensions

ToolExtensions

Extensible, Customizable, FlexibleExtensible, Customizable, Flexible

Common Language & VocabularyCommon Language & Vocabulary

Open Source DevelopmentOpen Source Development

EXTENSIONS

• Project Mgmt.

• Oper. Mgmt.• Systems Mgmt.

EXTENSIONS

• Project Mgmt.• Oper. Mgmt.• Systems Mgmt.

EXTENSIONS

• Project Mgmt.

• Oper. Mgmt.• Systems Mgmt.

EXTENSIONS

• Project Mgmt.• Oper. Mgmt.• Systems Mgmt.

InhouseContentPlug-ins

InhouseContentPlug-ins

Adapted from RUP

OpenUP/Basic

Adapted from RUP Scrum

Value-BasedSoftware Eng.Value-Based

Software Eng.Model-DrivenArchitecture

Model-DrivenArchitecture

• XP• Scrum

Other agile processesOPEN ProcessOPEN Process

FrameworkFramework

Open Unified Process (OpenUP)

• DSDM• AMDD

• Consolidated AgileFramework

IBM Software Group | Rational software

EPF: Growing Ecosystem

Co-developers

Supporters

IBM Software Group | Rational software

Looking to the Future:Several Frameworks With Increasingly Shared Content

ConsolidatedAgile Framework

OPEN ProcessFramework

OpenUP

Refactoring

Use CaseCollaborativePractices

Agile ProjectMgmt

NetworkDesign

IBM Software Group | Rational software

Demo of EPFwww.eclipse.org/epf/

®

IBM Software Group

© 2006 IBM Corporation

Other

Agile Unified Process (AUP)

Essential Unified Process (Ess UP)

Enterprise Unified Process (EUP)

IBM Software Group | Rational software

Agile UPwww.ambysoft.com/unifiedprocess/agileUP.html

IBM Software Group | Rational software

The Essential Unified Process (Ess UP)www.ivarjacobson.com

Lightweight

Agile

Freely available

Easy to use

“Open source” process

Only the “essential” practices

“Next Generation Process”

Separation of Concerns

Delivered as a Set of Cards

IBM Software Group | Rational software

The Enterprise Unified Process (EUP)www.enterpriseunifiedprocess.com

IBM Software Group | Rational software

The EUP Wraps the UP

IBM Software Group | Rational software

Parting Thoughts

The UP has a long history and is well established within the ITcommunity

There are many flavors of the UP available to youFrom very agile to “traditional evolutionary”

From very sparse to very thorough

One process size doesn’t fit allYou will likely need several instantiations

You will need to provide guidance as to which flavor to follow

The UP can be extended to the entire IT lifecycle

The UP is clearly evolving

IBM Software Group | Rational software

Scott Ambler

IBM Software Group | Rational software

References and Recommended Readingwww.agilealliance.comwww.agilemodeling.comwww.agiledata.orgwww.ambysoft.comwww.databaserefactoring.comwww.enterpriseunifiedprocess.comAmbler, S.W. (2002). Agile Modeling: Effective Practices for XP and the UP.

New York: John Wiley & Sons.Ambler, S.W. (2003). Agile Database Techniques. New York: John Wiley &

Sons.Ambler, S.W. (2004). The Object Primer 3rd Edition: AMDD with UML 2. New

York: Cambridge University Press.Ambler, S.W. and Sadalage, P.J. (2006). Refactoring Databases: Evolutionary

Database Design. Reading, MA: Addison Wesley Longman, Inc.Larman, C. (2004). Agile and Iterative Development: A Manager’s Guide.

Reading, MA: Addison WesleyMcGovern, J., Ambler, S.W., Stevens, M., Linn, J., Sharan, V., & Jo, E. (2003).

The Practical Guide to Enterprise Architecture. Prentice Hall PTR.