150 likes | 265 Views
SWEN 5130 Requirements Engineering. Requirements Management Under the CMM. CMM - Background.
E N D
SWEN 5130 Requirements Engineering Requirements Management Under the CMM
CMM - Background • In 1986, the Software Engineering Institute at Carnegie Mellon, with funding from the Department of Defense, began developing a process maturity framework to help developers improve their software process. • The effort was intended to provide the federal government with a method for assessing the capability of its software contractors. • By 1991, this framework had become known as the Capability Maturity Model, or CMM. • The current version of the CMM, Version 1.1, is being used by various government agencies to qualify software subcontractors and is also being used by a large number of commercial firms to improve and measure their software process.
2. Repeatable 5. Optimizing 4. Managed 3. Defined 1. Initial Capability Maturity Model (CMM) - Overview The CMM Five Levels of Software Process Maturity
Characterizations of the Five Maturity Levels 1) Initial Ad hoc, even chaotic. Success depends on individual heroics. 2) Repeatable Basic processes established to track cost, schedule, and functionality. Earlier successes can be repeated. 3) Defined A process is documented, standardized, and integrated into the organization. All projects use a tailored version of the process. 4) Managed Measures of the process and product quality are collected. Process and products are quantitatively understood and collected. 5) Optimizing Continuous process improvement by quantitative feedback and introducing innovative technologies.
Process change management Technology change management Defect prevention Quality management Quantitative process management CMM Key Process Areas Optimizing (5) Key Process Areas identify the issues that must be addressed to achieve a maturitylevel Managed (4) Peer reviews Intergroup coordination Software product engineering Integrated software management Training program Organization process definition Organization process focus Defined (3) Software Configuration Management Quality Assurance Subcontract management Project tracking and oversight Project Planning Requirements management Repeatable (2)
Key Process #1: Requirements Management • Key Process Area #1 is Requirements Management • “The purpose of Requirements Management is to establish a common understanding between the customer and the software project of the customer’s requirements that will be addressed by the software projects.” An agreement on what the software is supposed to do!
Goals of the RM Key Process Area • Goal 1 • Software requirements are controlled to establish a baseline for software engineering and management use. • Goal 2 • Software plans, products, and activities are kept consistent with the system requirements allocated to software.
CMM - Commitment to Perform • Commitment 1- The project follows a written organizational policy • The requirements are documented. • Requirements are reviewed by managers and system test, system design, quality assurance, etc. • Plans, work products and activities are changed to be consistentwith changes to requirements.
CMM - Ability to Perform • Ability 1 - Responsibilities are established for analyzing requirements • Ability 2 - The allocated requirements are documented • Technical (what the system does) and non-technical (milestones, schedule, costs) requirements are documented • Acceptance criteria are established and documented • Ability 3 - Resources and funding are provided for managing requirements • Trained individuals are assigned to manage requirements • Appropriate support tools are provided • Ability 4 - Members of the group are trained to perform their requirements management activities
CMM - Activities Performed • Activity 1 • The software engineering group reviews the allocated requirements before they are incorporated into the system baseline. • Activity 2 • The software group uses the allocated requirements as the basis for plans and activities. Requirements are managed and controlled. • Activity 3 • Changes are reviewed and incorporated into the project.
CMM - Measurement and Analysis • Measurement 1 - Measurements are made and used to determine the status of activities for managing the allocated requirements. • Examples: • Measures of the process itself • Status of each of the allocated requirements(proposed, open, approved, incorporated) • Change activity, cumulative number of changes
CMM - Verifying Implementation • Verification 1 - Activities for managing requirements are periodically reviewed with senior management • Verification 2 - Activities are reviewed by project managers on a periodic and event-driven basis • Verification 3 - Software quality assurance reviews/audits activities and work products for managing requirements
Requirements Management at CMM Level 3 • Software requirements are developed, maintained, documented, and verified by systematically analyzing the allocated requirements • Effective methods for analysis are used that are feasible and appropriate to implement, consistent, clearly stated, testable and complete • Each requirement is analyzed to verify it can be tested. Methods for verifying are identified and documented. • Requirements traceability supports analysis, coverage, and change management • The software requirements document is reviewed and approved with the customers and end users if appropriate. • The software requirements document is placed under configuration management.
Benefit Ratio, CMM Level I to Level III Time (Months) Effort (PM) Uninflated Costs ($$) Peak Staff (People) MTTD (Days) 0.00% 20.00% 40.00% 60.00% 80.00% 100.00% Cost at CMM Level I Cost at CMM Level III Cost Reduction Source - Putnam ‘94, Statistics from SLIM Estimating ToolAverage size - 70,000 SLOC Economic Benefit of CMM
SEI model problems • Focuses on project management rather than product development. • Ignores use of technologies such as rapid prototyping. • Does not incorporate risk analysis as a key process area • Does not define its domain of applicability