The Rational Unified Process and the Capability Maturity Model
Total Page:16
File Type:pdf, Size:1020Kb
The Rational Unified Process® and the Capability Maturity Model® – Integrated Systems/Software Engineering Brian Gallagher Lisa Brownsword SM CMMI and CMM Integration are service marks of Carnegie Mellon University. ® Capability Maturity Model, Capability Maturity Modeling, and CMM are registered in the U.S. Patent & Trademark Office. TM Rational Unified Process is a trademark of Rational Software. ® RUP is a registered trademark of Rational Software. © 2001 by Carnegie Mellon University 1 RU{/CMMI Tutorial - ESEPG Acknowledgements Defense Integrated Military Human Resources System (DIMHRS) • K.C. King • Wade Brignac • Kenneth Buck • Paul Evitts • Jerry Perry • Robert Woods Rational Software Corporation • Philippe Kruchten • Jim Smith © 2001 by Carnegie Mellon University 2 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping Lessons Learned © 2001 by Carnegie Mellon University 3 RU{/CMMI Tutorial - ESEPG What We’ve Heard I’m using RUP, why would I want to look at the CMMI? What’s the difference between I’m trying to CMMI and RUP? decide between using RUP and CMMI I’m doing CMMI-based improvement, how can a tool like RUP help me? How can I use RUP to develop ‘systems’, not just software? CMMI is more a ‘waterfall’ development process, I need a more iterative approach © 2001 by Carnegie Mellon University 4 RU{/CMMI Tutorial - ESEPG Our Approach •Plan - Set comparison objectives - Select review team - Identify the RUP/CMMI authoritative source and constituent elements to be used in the comparison - Determine comparison information to capture • Train review team on CMMI • Determine how RUP supports CMMI • Determine how CMMI supports RUP • Report the results - Develop this tutorial - Develop a detailed Technical Report (~Aug 01) © 2001 by Carnegie Mellon University 5 RU{/CMMI Tutorial - ESEPG Tutorial Goals Explore commonalities between RUP and CMMI Identify differences between RUP and CMMI Recommend improvements in RUP and CMMI to strengthen both © 2001 by Carnegie Mellon University 6 RU{/CMMI Tutorial - ESEPG Intended Audience Organizations engaged in CMMI-based improvement considering using RUP Organizations using RUP who are considering CMMI-based improvement Appraisal teams using CMMI as a “yardstick” for organizations or projects using RUP © 2001 by Carnegie Mellon University 7 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview RUP to CMMI Mapping Lessons Learned © 2001 by Carnegie Mellon University 8 RU{/CMMI Tutorial - ESEPG What Is CMMI? A framework of the key process elements for a system development • structured collection of processes proven through experience An integrated view of process improvement across multiple disciplines • sets process improvement goals and priorities • provides guidance for quality processes • provides a yardstick for assessing current practices Based on concepts and approaches pioneered by Crosby, Deming, Juran, Humphrey, et. al © 2001 by Carnegie Mellon University 9 RU{/CMMI Tutorial - ESEPG Elements of an Effective Process -1 = CMMI Key Elements © 2001 by Carnegie Mellon University 10 RU{/CMMI Tutorial - ESEPG Elements of an Effective Process -2 = CMMI Key Elements = Your Project’s Additional Elements © 2001 by Carnegie Mellon University 11 RU{/CMMI Tutorial - ESEPG Capability and Maturity Process capability pertains to an individual process • Knowing the process capabilities of a collection of processes has implications for organizational maturity Organizational maturity pertains to a set of processes • Being at a particular level of organizational maturity has process capability implications for multiple processes © 2001 by Carnegie Mellon University 12 RU{/CMMI Tutorial - ESEPG CMMI Model Representations Two approaches to process improvement • process capability • organizational maturity CMMI models support each approach with a representation • process capability approach ==> continuous representation • organizational maturity approach ==> staged representation Which representation to use is based on the purpose of the improvement task © 2001 by Carnegie Mellon University 13 RU{/CMMI Tutorial - ESEPG CMMI Model Components Process Area 1 Process Area 2 Process Area n Specific Generic Goals Goals Specific Generic Practices Practices Capability Levels © 2001 by Carnegie Mellon University 14 RU{/CMMI Tutorial - ESEPG Continuous Representation Structure Process performed well and continuously improved Capability Process not performed Process Process Process Process Area 1 Area 2 Area 3 Area n Process © 2001 by Carnegie Mellon University 15 RU{/CMMI Tutorial - ESEPG Capability Levels A capability level is 5 Optimizing • A well-defined evolutionary 4 Quantitatively Managed plateau describing the capability of any Process 3 Defined Area 2 Managed • A layer in the foundation for continuous process 1 Performed improvement 0 Incomplete © 2001 by Carnegie Mellon University 16 RU{/CMMI Tutorial - ESEPG Category Process Areas Process Organizational Process Focus Management Organizational Process Definition Organizational Training Organizational Process Performance Organizational Innovation and Deployment Project Project Planning Management Project Monitoring and Control Supplier Agreement Management Integrated Project Management Risk Management Quantitative Project Management Engineering Requirements Management Requirements Development Technical Solution Product Integration Verification Validation Support Configuration Management Process and Product Quality Assurance Measurement and Analysis Causal Analysis and Resolution Decision Analysis and Resolution © 2001 by Carnegie Mellon University 17 RU{/CMMI Tutorial - ESEPG Topics Goals and Purpose CMMI Overview RUP Overview* RUP to CMMI Mapping Lessons Learned *Material based on The Rational Unified Process; An Introduction, Philippe Kruchten, Second Edition. Addison-Wesley, 2000 © 2001 by Carnegie Mellon University 18 RU{/CMMI Tutorial - ESEPG What is RUP? A software engineering process based on best practices in modern software development • A disciplined approach to assigning and managing tasks and responsibilities in a development organization • Focused on high-quality software that meets the needs of its end users within a predictable schedule and budget A process framework that can be tailored to specific organization or project needs A process product developed and marketed by Rational Software with an interactive knowledge base integrated with tools © 2001 by Carnegie Mellon University 19 RU{/CMMI Tutorial - ESEPG Key Aspects of RUP Risk-driven process • Risk management integrated into the development process • Iterations are planned based on high priority risks Use-case driven development • Use cases express requirements on the system’s functionality and model the business as context for the system • Use cases are defined for the intended system and are used as the basis of the entire development process Architecture-centric design activities • Architecture is the primary artifact to conceptualize, construct, manage, and evolve the system • Consists of multiple, coordinated views (or models) of the architecture © 2001 by Carnegie Mellon University 20 RU{/CMMI Tutorial - ESEPG RUP Basic Principles Develop Software Iteratively • Driven by early risk identification and mitigation • Each iteration results in an executable release Manage Requirements • Requirements inherently dynamic across the system’s life Use Component-Based Architecture • Architectures that are resilient to change are essential Visually Model Software • Promotes consistency and unambiguous communication of development information Continuously Verify Software Quality • Identify defects early, objective measure of project status Control Changes to Software • Create and release a tested baseline at the end of each iteration © 2001 by Carnegie Mellon University 21 RU{/CMMI Tutorial - ESEPG RUP Architecture RUP produces a software generation • A generation extends from idea to retirement of a single version of the system Static Structure • Describes the process in terms of who is doing what, how, and when Dynamic Structure • Describes the process in terms of how the process rolls out over time • Expressed in terms of iterations, phases, and milestones © 2001 by Carnegie Mellon University 22 RU{/CMMI Tutorial - ESEPG Static Process Elements Worker (who) A role that defines the Activity (how) individuals or a team that Describes a piece of should carry out the work work a worker performs Artifact (what) A piece of information that is produced, modified, or used by an activity Workflow (when) Specifies when a set of related activities is performed, by which workers, producing some artifact, which provides some observable value to the project © 2001 by Carnegie Mellon University 23 RU{/CMMI Tutorial - ESEPG RUP Workflows - 1 Project Management • Plan an iterative process • Decide duration and content of an iteration Business Modeling • Understand the organization structure and dynamics in which a system is to be deployed Requirements • Capture and manage requirements • Design a user interface focused on users needs and goals Analysis and Design • Translate requirements into a specification that describes how to implement the system © 2001 by Carnegie Mellon University 24 RU{/CMMI Tutorial - ESEPG RUP Workflows - 2 Implementation • Create, assemble, and integrate components and subsystem into an executable system Test • Assess product quality Configuration and • Track and maintain the integrity of evolving Change