Update on the Unified Process: Something Old, Something New, Something Borrowed, and Definitely Something Blue
Total Page:16
File Type:pdf, Size:1020Kb
® IBM Software Group UPdate on the Unified Process: 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 Scott Ambler - 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 Rational Unified Process (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 Some History www.enterpriseunifiedprocess.com/essays/history.html IBM Software Group | Rational software 1988: Ob jectory v1.0 1995: O bjectory v3.8 June 1998: RUP 5.0 October 1999: Enhanced RUP lifecycle May 2003: RUP 2003 January 2004: EUP v2004 September 2005: AUP October 2005: EPF & BUP November 2005: RMC March 2006: Ess UP May 2006: Open UP 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 EPF: Process or Knowledge Base IBM Software Group | Rational software Traditional process mission Mandatory Guidance Tacit Knowledge H a r v e s t i n g r e b s e po s m t o Milestones and p C key artifacts r F a P c E t i Principles & practices c e Reusable process patterns s (Built from tasks, guidelines, artifacts, examples, templates, i … ik W Emerging practices … .) … EPF: Producing a Process IBM Software Group | Rational software Traditional process mission Mandatory Guidance Tacit Knowledge H a r v e s t i n g b e s G u i d aHigh n c e t p - r level process a c t i c Applicable process patterns e 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..