®

IBM Software Group UPdate on the : Something Old, Something New, Something Borrowed, and Definitely Something Blue

Scott W. Ambler Practice Leader Agile Development, IBM

© 2006 IBM Corporation IBM Software Group | Rational software - Background

.Practice Leader – Agile Development

.Fellow – International Association of Software Architects

.www.ibm.com/rational/bios/ambler.html IBM Software Group | Rational software Presentation Overview .Main “Take Away” Points .History of the Unified Process .The (RUP) .The Eclipse Process Framework (EPF) .Open Unified Process (Open UP) .Other The 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 History www.enterpriseunifiedprocess.com/essays/history.html

le c y c fe li P U R 4 P d 0 e 0 U c 2 B n 3 v P C 0 a 0 U & P P .0 .8 . h 0 P A F M U U 1 5 2 : R v v3 n U 5 P : s n P E P E 0 E 5 s e ry ry U : U : 0 : 0 E p to o R 9 4 2 5 0 : O c ct : 9 R 0 r 0 2 6 : e 8 9 : 0 0 r 0 j je 1 3 2 e 2 e 0 6 b b 9 r 0 b r b 2 0 O O 9 e 0 ry m e 0 : : 1 b 2 a e b m h 2 8 5 e o u t o e rc y 8 9 n t y n p t v a 9 9 u c a a e c o a 1 1 J O M J S O N M M 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 .Leverage legacy systems .Execute your project in iterations .Build high-performance teams .Embrace and manage change .Organize around the architecture .Measure progress objectively .Manage versions .Test your own code .Leverage patterns .Leverage test automation appropriately .Architect with components and .Everyone owns the product services .Understand the domain .Actively promote reuse .Describe requirements from the user .Model key perspectives perspective .Rightsize your process .Prioritize requirements for .Continuously reevaluate what you do implementation ®

IBM Software Group Open Unified Process (Open UP) OpenUP/Basic Key Artifacts Principles Base Process and Plug Ins Demo

© 2006 IBM Corporation IBM Software Group | Rational software What Is OpenUP/Basic? An iterative software development process that is minimal, complete, and extensible. .Minimal - only fundamental content is included .Complete - can be manifested as an entire process to build a system .Extensible - can be used as a foundation on which process content can be added or tailored as needed IBM Software Group | Rational software OpenUP/Basic

Management “Intent” / Req’s Management Development

Collaboration IBM Software Group | Rational software OpenUP/Basic: Key artifacts

Management “Intent” / Req’s Management Development Project Plan Iteration Plan

Vision Work Item List Use Cases Build Developer Test

Collaboration IBM Software Group | Rational software OpenUP/Basic Principles

Management “Intent” / Req’s Evolve to continuously Management obtain feedback and Development improve

Balance competing priorities to Focus on articulating the maximize stakeholder value architecture

Collaboration

Collaborate to align interests and share understanding IBM Software Group | Rational software OpenUP/Basic

Management “Intent” / Req’s Example Process patterns .Plan iteration Management .Plan project Development .Manage iteration .Assess status Example Process patterns .Develop vision .Find and outline requirements Example Process patterns .Detail requirements .Develop trivial change .Agree on scope .Develop small change .Define the architecture .Develop large change .Determine arch. feasibility .Validate build

Collaboration Example Process patterns .Maintain a common understanding .Foster a high trust environment .Share responsibility .Agree on scope .Learn continuously IBM Software Group | Rational software Base Processes and Process Plug-Ins

JUnit SOA

J2EE Financial Scrum Agile Services Database

OpenUP/Basic IBM Software Group | Rational software

Demo of OpenUP/Basic www.eclipse.org/epf/ ®

IBM Software Group The Eclipse Process Framework (EPF) The EPF project Knowledge Base Process Patterns EPF Ecosystem Contributors Demo

© 2006 IBM Corporation IBM Software Group | Rational software Eclipse Process Framework (EPF) Project

Provide an open and collaborative ecosystem for evolving software development processes

Provide sample process patterns, process tooling and a metamodel, that can be used as the foundation for a large variety of processes to address IT needs IBM Software Group | Rational software EPF: Process or Knowledge Base

n io s is

r Milestones and m s e

s s key artifacts

e Mandatory o c o H p r a

p m rv

l o a e n s C Principles & practices t io in it Guidance g F Reusable process patterns d P a b

r e E (Built from tasks, guidelines, T s t artifacts, examples, templates, ….) p ra c t ic e … s i Emerging practices …

Tacit Knowledge k i W IBM Software Group | Rational software EPF: Producing a Process

n io s High-level process is m s s e Mandatory c o H r a p r G u i d a n c e l v a e s n t io in it d Guidance g a b Applicable process patterns r e T s t p ra c t ic e Tacit Knowledge s IBM Software Group | Rational software Reuse Process Patterns across Project Types

Type B Project Type A Project High-level process High-level process

G u i d a n c e G u i d a n c e

Applicable process patterns Applicable process patterns

Type C Project Type D Project High-level process

G u i d a n c e G u i d a n c e

Applicable process patterns Applicable process patterns IBM Software Group | Rational software EPF Composer Capabilities

.Create reusable process patterns .Create (high-level) processes for different project types .Link appropriate processes patterns to high-level processes .Create derivatives of process patterns, reference material, and processes .Provide easy upgrade to new versions of base set of process patterns, reference materials and high-level processes .Enable tool integration and instrumentation of process patterns and high-level processes (through IBM Software Group | Rational software EPF Ecosystem InhouseInhouse Free Process EXTENSIONS Content Free Process Content •• Project Mgmt. Plug--insins Content Plug-ins •• Oper.. Mgmt. Mgmt. Plug-ins •• Systems Mgmt.

Open Unified Process (OpenUP) CommercialCommercial Process Value--Based Model-Driven Software Eng. Architecture ContentContent Plug--insins Other agile processes BasicOpenUP/Basic Unified Basic Unified • XP • DSDM Process OPEN Process • Scrum • AMDD Adapted from RUP Framework • ConsolidatedScrum Agile Framework

Tool Extensions Extensible, Customizable, Flexible TOOLING (Authoring, Publishing)

Common Language & Vocabulary META MODEL (Unified Method Architecture)

Open Source Development ECLIPSE 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

Consolidated OPEN Process Agile Framework Framework

OpenUP

Collaborative Use Case Practices Refactoring Network Agile Project Design Mgmt IBM Software Group | Rational software

Demo of EPF www.eclipse.org/epf/ ®

IBM Software Group Other

Agile Unified Process (AUP) Essential Unified Process (Ess UP) Enterprise Unified Process (EUP)

© 2006 IBM Corporation IBM Software Group | Rational software Agile UP www.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 IT community .There are many flavors of the UP available to you From very agile to “traditional evolutionary” From very sparse to very thorough .One process size doesn’t fit all You 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 Reading .www.agilealliance.com .www.agilemodeling.com .www.agiledata.org .www.ambysoft.com .www.databaserefactoring.com .www.enterpriseunifiedprocess.com .Ambler, 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 Wesley .McGovern, J., Ambler, S.W., Stevens, M., Linn, J., Sharan, V., & Jo, E. (2003). The Practical Guide to Enterprise Architecture. Prentice Hall PTR.