The Rational Unified Process and the CMM … · Systems/Software Engineering ... and model the business as context for the system ... RUP Architecture RUP produces a software generation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Organizational Process FocusOrganizational Process DefinitionOrganizational TrainingOrganizational Process PerformanceOrganizational Innovation and Deployment
Worker (who)A role that defines theindividuals or a team thatshould carry out the work
Activity (how)Describes a piece ofwork a worker performs
Artifact (what)A piece of information thatis produced, modified, orused by an activity
Workflow (when)Specifies when a set of related activities is performed,by which workers, producing some artifact, whichprovides some observable value to the project
Sources for Our ComparisonRational Unified Process, version 2000.02.10• all process elements (workflows, workflow details, activities,
artifacts, guidelines, templates)
Capability Maturity Model – Integrated for Systems and SoftwareEngineering (CMMI-SE/SW), Continuous Representation, Version1.02, December 2000• all Process Areas• Specific Goals within each Process Area• Specific Practices within each goal• Generic Practices
• HIGH: reviewers found a high degree of synergy betweenCMMI practices and RUP
• MEDIUM: reviewers were able to find some support for theCMMI practice
• LOW: reviewers had to stretch what we saw in RUP to supportthe CMMI practice, there were no mechanisms to support thepractice, or the practice was outside the scope of RUP
CMMI to RUP
• To be provided in a technical report (approximately ~Aug 01)
• Estimate the Scope of the Project (H)• Establish Estimates of Project Attributes (M)• Define Project Life Cycle (H)• Determine Estimates of Effort and Cost (H)
Develop a ProjectPlan
• Establish the Budget and Schedule (H)• Identify Project Risks (H)• Plan for Data Management (M)• Plan for Project Resources (M)• Plan for Needed Knowledge and Skills (H)• Plan Stakeholder Involvement (H)• Establish the Project Plan (H)
Obtain Commitmentto the Plan
• Review Subordinate Plans (H)• Reconcile Work and Resource Levels (M)• Obtain Plan Commitment (H)
Project Planning: Detail ExampleSP1.2-1: Establish and document estimates of the attributes ofthe work products and tasks.
RUP Elements:Workflow: Project Management
Workflow Detail: Develop Software Development PlanActivity: Plan Phases and Iterations
Comments: RUP provides guidance on sizing a software effort.Sizing by analogy and sizing by analysis is discussed. RUPdoes not provide assistance in sizing non-software projectattributes (i.e. labor, machinery, materials, and methods that willbe required by the project).
PurposeProvide understanding intothe project’s progressso that appropriate correctiveactions can be taken whenthe project’s performancedeviates significantly from theplan.
CMMI RUPWorkflowProject Management
Synergy• RUP provides strong
mechanisms to help monitora project
• Project’s using RUP shouldmake sure data managementis explicitly addressed
PurposeEstablish and manage theproject and the involvement ofthe relevant stakeholdersaccording to an integrated anddefined process that is tailoredfrom the organization’s set ofstandard processes.
CMMI RUPWorkflowProject Management, Environment
Synergy• RUP encourages developing
integrated plans
• RUP supports tailoring forproject unique needs throughthe development case artifact
SG 1: Use the Project’s DefinedProcessThe project is conducted using adefined process that is tailoredfrom the organization's set ofstandard processes.
CMMI RUPWorkflow: EnvironmentWD: Prepare Environment for Project/IterationWorkflow: Project ManagementWD: Develop SoftwareDevelopment PlanWD: Monitor and Control Project
SG 2: Coordinate and Collaboratewith Relevant Stakeholders
Coordination and Collaboration ofthe project with relevantstakeholders is conducted.
Integrated Project Management:Detail ExampleSP1.1-1 Establish and maintain the project's defined process.
RUP Components:Workflow: Environment
Workflow Detail: Prepare Environment for Project/Iteration
Comments: Using RUP, a project would assess the currentsoftware development organization and select the processesand tools to support the project. This is less formal than havingan “organizational standard process” comprised of a suite oflifecycles and processes to choose from complete with tailoringguidelines.
PurposeIdentify potential problemsbefore they occur, so that risk-handling activities may beplanned and invoked asneeded across the life cycle tomitigate adverse impacts onachieving objectives.
CMMI RUPWorkflowProject Management
Synergy• RUP is a risk driven
development process
• Activities are performed tomitigate the highest risks andtackle the hardest jobs first
Quantitative Project Management:Detail ExampleSP1.2-1 Select the processes and process elements thatcomprise the project’s defined process based on historicalstability and capability data.
RUP Components:Workflow: Environment
Workflow Detail: Prepare Environment for ProjectGuidelines: Process Discriminates
Comments: While selection of processes and processelements aren’t selected based on historical stability (meaningstatistically understood), RUP provides guidelines to helpprojects select processes based on characteristics.
PurposeManage the requirements ofthe project’s product andproduct components and toidentify inconsistenciesbetween those requirementsand the project’s plans andwork products.
CMMI RUPWorkflowRequirements
Synergy• RUP provides adequate support
mechanisms
• RUP integrates the tracking (orchange management) ofrequirements with capturing andanalyzing requirements
SP1.2-2: Obtain commitment to the requirements from the projectparticipants.
RUP Elements:Workflow: Requirements
Workflow Detail: Manage the Scope of the SystemActivity: Prioritize Use Cases
Comments: RUP employs use cases to plan and package the work to bedone. The architect comes up with a first cut at a list of prioritized usecases. The project team is involved in revising the prioritized list basedon project risks, availability of resources, and stakeholder needs.
The requirements are analyzedand validated, and a definition ofrequired functionality is developed.
Workflow: RequirementsGuidelines: Use-case StoryboardWD: Analyze the Problem,Understand Stakeholder Needs,Define the System, Manage theScope of the System, Refine theSystem Definition, Manage ChangingRequirementsWorkflow: Analysis and DesignWD: Define a CandidateArchitectureWorkflows: Implementation, Test(to create and assess prototypes)
Requirements Development: Detail ExampleSP2.2-1: Allocate the requirements for each product component.
RUP Elements:Workflow: Analysis and Design
Workflow Detail: Analyze BehaviorActivity: Use-case Analysis, Identify Design Elements
Comments: RUP transforms the behavioral descriptions from the usecases into a set of design elements for the product using an object-oriented approach for analysis and design. RUP does not refer to thisset of activities as “requirements flowdown”.
CMMI stipulates that higher-level functionality that becomes theresponsibility of 2+ product components must be partitioned for uniquecomponent allocation. This can lead to a functional design, which RUPexplicitly avoids.
PurposeDevelop, design, andimplement solutions torequirements. Solutions,designs and implementationsencompass products, productcomponents, and productrelated processes either singlyor in combinations asappropriate.
CMMI RUPWorkflowsAnalysis and Design, Implementation,Deployment, Project Management
Synergy• RUP addresses the central goals of
forming, designing, and implementingengineered solutions
• RUP provides greater guidance onarchitecture development and validationthan CMMI
• RUP does not explicitly coverconsideration of design alternativesexcept at the architectural level
• RUP does not explicitly cover the use ofselection criteria for product solutions orcomponents
Product or product componentsolutions, including applicableproduct related processes, areselected from alternative solutions.
CMMI RUPWorkflow: Project ManagementWD: Conceive New ProjectArtifact: Business CaseWorkflow: Analysis and DesignWD: Define a Candidate ArchitectureWD: Refine the Architecture
SG 2: Develop the Design
Product or product componentdesigns are developed.
Technical Solution: Detail ExampleSP1.1-1: Develop alternative solutions and establish selection criteria.RUP Elements:Workflow: Project Management
Artifact: Business CaseWorkflow: Analysis and Design
Workflow Details: Define a Candidate Architecture, Refine theArchitecture
Comments: The Business Case describes at least two approaches to realizing thesystem Vision, and analyze these in terms of capability, risk impact, schedule, andeconomic outcomes. Project options might include differing contractual bases,differing project lifecycles, differing mixes of 'make' and 'buy', and so on During theProject Approval Review, one of the offered choices is selected. RUP providesreferences to sources for risk and decision analysis techniques but does notexplicitly establish criteria.While RUP is very architecture focussed, it does not provide guidance on productcomponent selection.
The strategy for conducting productintegration is established andmaintained.
CMMI RUPWorkflow: ImplementationWD: Plan the IntegrationArtifact: Integration Build PlanWorkflow: Change and ConfigurationManagementWD: Create Project CM EnvironmentActivity: Create Integration Workspace
SG 2: Ensure Interface Compatibility
The product component interfaces,both internal and external, arecompatible.
Workflow: Analysis and DesignArtifact: Design ModelWorkflow: ImplementationWD: Structure the Implementation Model,Integrate each Subsystem, Integrate theSystemWorkflow: TestWD: Execute Integration Tests, ExecuteSystem Test
SG 3: Assemble ProductComponents and Deliver the Product
Verified product components areassembled and the integrated,verified, and validated product isdelivered.
Workflow: ImplementationWD: Implement ComponentActivity: Perform Unit TestsWD: Integrate Each SubsystemWD: Integrate the SystemWorkflow: TestWD: Execute Test in Integration TestStageWorkflow: DeploymentWD: Product Deployment UnitWD: Package ProductWD: Provide Access to DownloadSite
Product Integration: Detail ExampleSP2.1-1: Review interface descriptions for coverage andcompleteness.RUP Elements:Workflow: Analysis and Design
Artifact: Design ModelWorkflow: Implementation
Workflow Details: Structure the Implementation Model, Integrateeach Subsystem, Integrate the System
Workflow: TestWorkflow Details: Execute Integration Tests, Execute System Test
Comments: Interfaces are a critical part of the architecture anddesign in RUP. The primary review mechanism is buildingarchitectural prototypes and integrating and testing theexecutables in each iteration such that the interfaces areexercised in a more realistic setting.Degree of Synergy: High
Verification: Detail ExampleSP3.3-1: Perform re-verification of corrected work products andensure that work products have not been negatively impacted.
RUP Elements:Workflow: Test
Workflow Detail: Execute TestsActivity: Execute Tests in Integration Test StageActivity: Execute Tests in System Test StageActivity: Fix a Defect
Comments: In iterative development, regression testing occurs witheach iteration. If bugs fix are needed, another iteration is performed withits own test activities. For each iteration a new version of the test modelis developed that contains old tests (as regression tests), and new teststhat take new functionality into account.
Validation: Detail ExampleSP1.1-1: Establish and maintain a validation strategy.
RUP Elements:Workflow: Deployment
Workflow Detail: Beta Test ProductActivity: Manage Beta Test
Workflow: Project ManagementWorkflow Detail: Develop Product Acceptance Plan
Comments: Inherent to RUP is the continual validation of eachiteration’s executable by actual users in order to identify defectsor disconnects as early as possible. The product acceptanceplan is co-developed with the users.
PurposeEstablish and maintain theintegrity of work products usingconfiguration identification,configuration control,configuration status accounting,and configuration audits.
CMMI RUPWorkflowConfiguration and ChangeManagement
SP1.3-1: Create or release baselines for internal use and fordelivery to the customer.
RUP Elements:Workflow: Configuration and Change Management
Workflow Detail: Change and Deliver Configuration ItemsWorkflow Detail: Manage Baselines and Releases
Comments: RUP provides for the creation of internal as well asexternal baselines (i.e., deployment unit = an executablecollection of components, documents (end-user support materialand release notes) and installation artifacts).
SG 1: Objectively EvaluateProcesses and Work ProductsAdherence of the performed processand associated work products andservices to applicable processdescriptions, standards andprocedures is objectively evaluated.
CMMI RUPWorkflow: Project ManagementArtifact: Quality Assurance PlanWD: Monitor and Control ProjectActivity: Assess IterationArtifact: Review Record (reviews andcheckpoints in each workflow)
SG 2: Provide Objective InsightNoncompliance issues areobjectively tracked andcommunicated, and resolution isensured.
Workflow: Project ManagementArtifact: Problem Resolution PlanWD: Monitor and Control Project:Activity: Handle Exceptions andProblemsArtifact: Review Record (reviews andcheckpoints in each workflow)
Process and Product Quality Assurance:Detail ExampleSP2.1-1: Communicate quality issues and ensure resolution ofnoncompliance issues with the staff and managers.
RUP Elements:Workflow: Project Management
Workflow Detail: Monitor and Control ProjectActivity: Handle Exceptions and Problems
Comments: Following the Problem Resolution Plan, problemmanagement procedures are triggered in Activity: HandleExceptions & Problems based on problems identified in a StatusAssessment, raising of Change Requests to track defects,anomalies discovered during reviews, or through non-conformances raised during process audits and reviews.
SP2.4-1: Report results of measurement and analysis activities to allaffected stakeholders.
RUP Elements:Workflow: Project Management
Workflow Detail: Monitor and Control the ProjectActivity: Report StatusArtifact: Status Assessment
Comments: Artifact: Status Assessment is drawn from the ProjectMeasurements in Activity: Monitor Project Status. Status Assessment isused to ensure that expectations (i.e., Project Review Authority, projectmanager, and team leads in the functional areas) are synchronized andconsistent. Data providers are not explicitly identified as receivers ofmeasurement data.
Root causes of defects and otherproblems are systematicallyaddressed to prevent their futureoccurrence.
Workflow: Project ManagementWD: Plan for Next IterationActivity: Develop Iteration PlanArtifact: Development CaseWorkflow: TestActivity: Execute System Tests
Comments: In RUP, each iteration ends with an assessment of the iteration’sobjectives, risks, and defects that is used to modify the project or improve theprocess. Artifact: Iteration Assessment captures the result of an iteration, thedegree to which the evaluation criteria was met, lessons learned, and changes tobe done. While RUP provides an appropriate context for causal analysis, thisCMMI practice assumes a statistical basis for the selection of defects andproblems to address and the use of causal analysis techniques to analyze thedefects. These aspects would need to be added to the iteration assessment,planning the next iteration, updating the development case, and specifying specificproduct and process measures in the measurement plan.
PurposeEstablish and maintain anunderstanding of theorganization's processes andprocess assets, and to identify,plan, and implement theorganization's processimprovement activities.
CMMI RUPWorkflowEnvironment
Synergy• RUP is primarily a project level
tool
• Organizations wanting to useRUP for process managementprocess areas may need to addworkflows to addressorganizational process focusand definition issues
SG 2: Plan and implement ProcessImprovement Activities
Improvements are planned andimplemented, process assets aredeployed, and process-relatedexperiences are incorporated into theorganization’s process assets.
• Establish Organizational Process Needs (L)• Assess the Organization’s Processes (H)• Identify the Organization’s ProcessImprovements (H)
Plan and ImplementProcessImprovementActivities
• Establish Process Action Plans (M)• Implement Process Action Plans (L)• Deploy Process and Related Assets (L)• Incorporate Process-Related Experiencesinto the Organization’s Process Assets (L)
Organizational Process Focus:Detail ExampleSP1.2-1: Assess the processes of the organization periodicallyand as needed to maintain an understanding of their strengthsand weaknesses.
RUP Components:Workflow: Environment
Workflow Detail: Prepare Environment for ProjectActivity: Development Organization Assessment
Comments: When preparing for a new project, RUP provides anactivity to assess the organization’s processes
Organizational Process Definition:Detail ExampleSP1.2-1: Establish and maintain descriptions of the life-cycleprocess models approved for use in the organization.
RUP Components:Concepts: Process Configuration
Comments: Supplementary information suggests that RUP canbe the organization's standard process. Following RUP shouldallow organizations to describe many life cycle types. RUPsuggests that there may be more than one organization-wideprocess, one for each different type of development.
SG 1: Identify Training Needs andMake Training AvailableTraining to support the organization’smanagement and technical roles isidentified and made available.
CMMI RUPWorkflow: noneOutside of the scope of RUP
SG 2: Provide Necessary TrainingTraining necessary for individuals toperform their roles effectively isprovided.
PurposeEstablish and maintain aquantitative understanding ofthe performance of theorganization’s set of standardprocesses, and to provide theprocess performance data,baselines, and models toquantitatively manage theorganization’s projects.
CMMI RUPWorkflownone
Synergy• Establishing a quantitative
understanding of anorganization’s set of processesis outside the scope of RUP
SG 1: Establish PerformanceBaselines and ModelsBaselines and models thatcharacterize the expected processperformance of the organization's setof standard processes areestablished and maintained.
• Establish and Maintain an Organizational Policy• Plan the Process• Provide Resources• Assign Responsibility• Train People• Manage Configurations• Identify and Involve Relevant Stakeholders• Monitor and Control the Process• Objectively Evaluate Adherence• Review Status with Higher-Level Management
RUP ObservationsRUP provides strong engineering, basic support, and basic projectmanagement practices• Clear definition of roles and responsibilities• Integration of engineering and project management activities• Use of iterations to mitigate risks as early as possible• Validation of requirements and solutions• Focus on early architecture definition and validation
Organizations using RUP may have need to address• Statistical process control• Organizational process elements• Subcontractor or vendor management practices• Institutionalization of processes
RUP is a software engineering process that is integrated with asuite of software development tools.
CMMI is a process framework that integrates systems andsoftware engineering process elements and the organizationalprocesses necessary to institutionalize them.
RUP and CMMI complement each other in achieving a maturesoftware development organization.