Rational Unified Process Fundamentals Module 5: Implementing RUP
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 2 Objectives: Implementing RUP Understand the purpose of the Environment Workflow Understand the role of the Process Engineer Understand the purpose of the Development Case Explore how to configure RUP Explain strategies for implementing a process
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 3 Characteristics of RUP RUP is a framework RUP is iterative RUP’s Activities and Artifacts may vary in degrees of formality RUP is very complete
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 4 A Tailorable Process Can be used in whole or in part Can be tailored to fit in an existing process The Development Case in RUP captures how the project should work and helps develop an organization-wide reusable process framework.
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 5 Implementing Process - The Steps Assess the Development Organization New Process Completely Implemented Plan the Implementation - Plan at the Organization Level - Plan at the Project Level Execute Process Implementation - Configure the Process - Develop Guidelines - Make Tools Work - Train People Evaluate Process Implementation
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 6 Planning Process Improvement: Many New Factors Software- Development Organization New Process New Tools New Technology
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 7 Environment Discipline Purpose: Support the development organization, both with process and tools, by helping to: Configure the process. Implement the process. Develop guidelines. Select and acquire tools. Do toolsmithing. Support the development. Provide training.
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 8 The RUP Provides Guidance The Environment discipline addresses process configuration activities: Assess the current organization Create a development case Guidelines: Environment provide detailed guidance in How to prepare the development case Tailoring decisions to be made for each discipline How to represent the development case online It includes a sample Development Case
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 9 Environment: Workflow Workflow Details which are further broken down into Activities
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 10 Environment: Artifact Overview
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 11 Configuring a Process The process framework is adapted to the needs and constraints of the adopting organization The result is documented in a Development Case.
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 12 Development-Organization Assessment Determines needs and constraints of the adopting organization by considering: The business context Contract work versus commercial development The size of the software development effort The degree of novelty Has the development organization ever built a similar system? The type of application Embedded real time verses individual IT application The current development process Organizational factors (e.g., skills, attitudes) Project complexities
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 13 Classification of Projects by Complexity
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 14 Development Case The Development Case Describes the project’s process: Phases and milestones Which artifacts to use How to use artifacts Which activities to perform Additional activities How to work in each discipline Iteration Plan descriptions
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 15 Configuring RUP with Other Tools RUP Builder (included with every RUP) Rational Process Workbench
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 16 RUP Builder Part of RUP product, available for Windows installations Supports a simple building-block process configuration paradigm Adds previously built process plug-ins to a base form of RUP to create customized configurations Your RUP Process Web site publish Base form of RUP Plug-in A Plug-in B Plug-in C Repository X add to Your Process Configuration create
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 17 RUP Builder Repositories A Repository consists of: The base process The plug-ins that have been loaded Any configurations out of the box or created by the user RUP Builder as shipped contains two Repositories: rup.rep provides Classic RUP and all process plug-ins rup_small.rep provides a sample configuration for small projects Repositories can be created by the user
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 18 RUP Builder Process Plug-Ins These are fractions of process applicable to vertical markets or specific technologies: Business Modeling RealTime BEA Weblogic HP Bluestone IBM WebSphere Microsoft WinDNA J2EE Microsoft.NET UX Modeling Available from RUP Resource Center on the Rational Developer Network From Rational Software From third parties
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 19 Plug-Ins A RUP Builder process plug-in can add or replace various process elements in the base, for example: disciplines roles artifacts Plug-ins can be created by the user
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 20 RUP Builder Usage Model Goal of using RUP Builder: To generate and publish a customized process Web site for your development organization.
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 21 Rational Process Workbench Can be used to build process plug-ins to be exported into RUP Builder repositories Can help to model and generate a customized RUP using Rational Rose Available from Rational
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 22 Module 5 Content Outline Planning process improvement with RUP Purpose of the Environment discipline and workflow Configuring the process Implementing the process Mistakes and Best Practices
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 23 Implementing a Process The organization’s practice is changed to effectively use the process
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 24 Implementation in Organization or Project Development Case Project- Specific Process Project Specific - Guidelines - Templates Reusable - Guidelines - Templates - Examples Rational Unified Process Other Process Material Organization “Shell” Organization- Wide Process
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 25 Organization-Wide Central Project Support
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 26 Implementation Approaches: Typical
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 27 Implementation Approaches: Fast
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 28 Implementation Approaches: Careful
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 29 Common Mistakes and Solutions Trying to change too much Failing to manage scope Failing to manage risk Getting bogged down in new techniques or technologies Implement change incrementally, driven by risk and feedback Focus on delivering essential value Systematically attack risk through a series of iterations Focus on, measure, and reward results (product delivery), not intermediate deliverables
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 30 Other Common Mistakes Bowing to schedule pressure without cutting scope Viewing quality as a QA function Regarding productivity as a coding problem Replan or rescope early; start negotiating ASAP Assess and reward quality from the beginning Make everything testable (architectural compliance, feature compliance, etc.) Focus on architecture and reuse as specific, measurable objectives
Rational Unified Process Fundamentals Copyright © Rational Software, all rights reserved 31 Best Practices for Process Implementation Assess the development organization Employ progressive process improvement Do not scale up too early Get buy-in from stakeholders Anticipate resistance; devise a strategy Involve process engineers in development “A process description is not a process” Transfer knowledge Set expectations Do not hype the process