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
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
© 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
Looking to the Future:Several Frameworks With Increasingly Shared Content
ConsolidatedAgile Framework
OPEN ProcessFramework
OpenUP
Refactoring
Use CaseCollaborativePractices
Agile ProjectMgmt
NetworkDesign
®
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
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
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
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.