Michael Dermody September 2010
39 Slides4.96 MB
Michael Dermody September 2010
Capability Maturity Model Integration Is a Trademark owned by the Software Engineering Institute (SEI) of Carnegie Mellon University Process Improvement Approach – Improves Performance by improving processes Provides organizations with the needed for effective process improvements Framework for appraising the process maturity of the organization According to SEI in 2008, CMMI helps "integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes.”
Projects are managed and under control Estimating new project tasks is based on actual results from previous projects Realistic commitments are negotiated and managed Plans are documented, progress is tracked, and status is reported appropriately Processes are defined at the project level Project decisions are based on data
Productivity gains Early defect detection Reduction in time between request and implementation Reduction in post-implementation defects Repeatable processes
A life cycle is a description of the approach that a project takes to develop and deliver software. It includes the sequencing of tasks organized by phases Initiate Initiate Analyze Analyze Steps common to all life cycles Design Design Code Code Test Test Deliver Deliver Maintain Maintain
A work product is any document or deliverable that is used during the entire life cycle as well as any portion of the software that is delivered to the customer The SDLC has templates and procedures for generating required work products SW SW Project Design SW De Pr sig oje n D ct oc um en ts
Focus on Project Management Requirements Management (RM) Project Planning (PP) Project Tracking & Oversight (PTO) Configuration Management (CM) Process Quality Assurance (PQA)
Manages Project Verifies Process Controls Products Requirements Management
To establish a common understanding of requirements between the customer and the project and manage any changes to these over the life of the project. Agree to an initial set of software requirements Manage further changes to SW requirements
Condition or capability that must be met by a system application to satisfy a business request User Interface Cost Speed Function All requirements should be testable
A document that: Has been formally reviewed, agreed upon, and committed to by means of signoff Serves as the basis for further development Can be changed only through formal change control procedures Builder Model 101 Cost: 170,000 Bedrooms: 3 Living Room Kitchen Dining Room Expected Completion: April 30
Change Request - Add Fireplace to Living Room - Build Bookshelves in Living Room - Add Family Room - Add Porch Add Family Room Add Fireplace & Install Built-in Bookshelves Add Porch Builder Model 101 Cost: 220,000 Bedrooms: 3 Living Room with Fireplace & Bookshelves Kitchen Dining Room Family Room Porch Expected Completion June 30
Manages Project Verifies Process Requirements Management Controls Products Project Planning
To develop plans and schedules based on the activities, efforts, risks, and resources associated with satisfying project requirements Identify activities and work products Identify risks, issues, and measures to track Estimate and obtain resource commitments Create the plan and the schedule
A document that describes the work required to complete a project that consists of: High-level project objectives and scope Identification of customers Imposed standards (management or technical) Constraints (cost, schedule, and resources) External commitments and dependencies Top-level system requirements
A collection of plans describing the technical and nontechnical activities for a project. It governs the management of activities performed by the Software Engineering Process Group (SEPG) for a project. Table of Contents 1. Project objectives, scope, and assumptions 2. Standards, methods, and procedures to be followed and the identified decision makers Table of Contents 6. A defined life cycle for the project including review points 7. Risk identification and assessment 3. Work products to be created 8. Commitments and dependencies 4. Estimates of size, effort, and cost, and assumptions 9. References to SCM and SQA plans for the project 5. References to schedule with resources and milestones 10. Verification and validation
Use requirements as the high-level basis for beginning the project plan Collect historical data for use in new estimates Break activities down into manageable chunks (for example, 60 hours of effort or 2 weeks duration) Decompose manageable chunks into smaller process steps
Use a standard methodology Identify and document estimating assumptions Develop estimates in effort-hours, not elapsed time Use in budgeting and staffing projects appropriately Quality What level of quality is required? Cost How much will it cost? Effort Size How big is it? Productivity How much time is available per week? How much work will it require? Schedule When will deliverables be available? Resources How many people are needed? What type of skills? What tools do we need?
Manages Project Verifies Process Project Tracking & Oversight Requirements Management Controls Products Project Planning
To have adequate visibility into actual progress, in order to keep the project on track Track accomplishments and results Adjust plans to stay on track Agree to changes in commitments Track effort, size, risks, costs, and schedule
Size, effort, cost, and duration Larger/smaller, more/less complex, early/late? Resources Change in availability, over/under allocations? Schedule/activities Complete/not complete, additional activities? Impact on dependent activities? Risks Resolved, changed, additional risks ? Risk impact or probability changed?
Adjust plan as deviations from the plan occur Scope, Resources, Schedule Review adjustments and obtain buy-in and commitment Update plans based on requirement changes Manage and mitigate risk
Internal project status reviews Detail status of activities, schedule, effort, costs, and risks Detail actuals to compare with estimates Periodic senior management reviews Status of accomplishments, issues, and risks Milestone reviews Formal reviews for customers, management. and affected groups at predetermined milestones Progress, accomplishments, issues, risks Ad hoc reviews occur as needed
Manages Project Verifies Process Project Tracking & Oversight Requirements Management Configuration Management Controls Products Project Planning
To manage the integrity of the project’s work products Plan for CM activities Identify items to put under configuration management Control changes to configured items Communicate status of configuration items Audit configuration baselines
Any item that is designated for control and surveillance in order to track, trace, and record any changes SW Project Design Examples Software code / Library elements Requirements Product documents Us Ma er Test cases nu al PQA plans SW Pr De oj ec Do sig t s cu n m en t Baselines Design documents User documents Test plans Estimates
Baselines are established at predetermined points in the life cycle of the work product. Configuration of a work product evolves during development and is applied by developers as they perform their work. Create baselines at predetermined points Initiate Initiate Analyze Analyze Design Design Example Project Life Cycle Baseline Examples Functional baseline at end of Analysis System baseline at end of Design Developmental baseline at end of Unit Code Code Test Developmental baseline Test Test at end of System Test Deliver Production baseline at Deliver Maintain final release Maintain
Manages Project Verifies Process Process Quality Assurance Project Tracking & Oversight Requirements Management Configuration Management Controls Products Project Planning
To provide management with insight into the software process Plan for PQA activities Escalate non-compliance issues Verify compliance Report results
A planned and systematic pattern of all actions necessary to provide adequate confidence that work products comply with software standards, procedures, and contractual requirements. A set of activities designed to evaluate the process by which work products are developed and/or maintained.
Audits Reviews Uses tools and techniques to review activities Peer Reviews Inspections Compare actual activities against processes Uses tools and techniques to audit work products Testing Compare actual work products against agreed upon standards and procedures
Use of processes and procedures is ensured by management and encouraged by peers Benefits of following the process are understood and recognized Appropriate training and resources are provided Planned activities are willingly committed to Open communications and sharing Team approach versus individual heroics