Upload
miguel-diaz-vidarte
View
35
Download
0
Tags:
Embed Size (px)
DESCRIPTION
CMMI
Citation preview
CMMI
Capability Maturity Model Integrated
Priorities of a Software Company
You are president of a software company.
What are your priorities or goals for operation?
1. Operating Efficiency (speed)
2. Predictability
3. Repeatability (consistency)
4. Cost / effort control
5.
Obstacles to Achieving Goals
What do you think are likely to be major obstacles to a software company's goals?
1. personnel turn-over
2. lack of visibility – few measurements or objective way to evaluate progress
3. project complexity
4. insufficient skill or knowledge
5. lack of defined processes
How to Improve Ability to Achieve
How can you improve your company's ability to achieve its goals?
hire better developers?
offer more incentives? (pay, ownership, bonuses)
more training? ...training in what?
use project management software?
Claimed Benefits of CMMI
Predictability progress and completion of project follows plan more
closely Repeatability
can reliably estimate new project complexity based on past performance
Improved Productivity some organizations report 30% reduction in cost
Better Quality following a defined method (that includes testing,
review, and audit) reduces omissions and missed tasks
Process & Quality
The SEI premise:
"the quality of a system or product is highly influenced by the quality of the process used to develop and maintain it."
Overview of CMMI - Maturity Levels
5
4
3
2
1
0
"Optimizing""Optimizing"
“Quantitatively Managed"
“Quantitatively Managed"
“Defined"“Defined"
"Managed""Managed"
"Performed""Performed"
“Incomplete"“Incomplete"
Ad hocnot repeatable
Has process model but varies project to project; repeatable
Process and procedures are standard, managed, improved over time
Process measurements; adapt to problems to reduce variance; predictable performance
Process is not followed
Focus on process improvement;
CMMI Model
Maturity Level m
Process Area 1 Process Area 2 ...
Specific Goals Generic Goals
• Commitment to Perform
• Ability to Perform
• Directing Implementation
• Verifying ImplementationGeneric Practices
Specific Practices
What does CMMI offer?
Process Area
Generic PracticesGeneric Practices
Generic GoalsGeneric Goals
Expected InformativeInformativeRequiredKEY:
Purpose Statement
IntroductoryNotes
RelatedProcess Areas
SubpracticesSubpractices
Specific GoalsSpecific Goals
Specific PracticesSpecific Practices
Typical WorkProducts
Typical WorkProducts
SubpracticesSubpractices SubpracticesGeneric Practice Elaborations
Key Process Areas
"Process Areas" are general areas
They can be grouped into 4 categories:
Process Management
Project Management
Engineering
Support
Project Management
What process areas do you think a software company should have for "Project Management"?
Project Management
PP Project Planning
PMC Project Monitoring and Control
SAM Supplier Agreement Management
IPM Integrated Project Management +IPPD
RSKM Risk Management
QPM Quantitative Project Management
These acronyms are used frequently in CMMI documentation.
IPPD = Integrated Product and Process Development:
processes are developed along with the products they support
Engineering Discipline
What process areas do you think a software company should have for "Engineering"?
Engineering
REQM Requirements Management
RD Requirements Development
TS Technical Solution
PI Product Integration
VER Verification
VAL Validation
Support (Supporting Processes)
What process areas do you think a software company should have for "Support"?
Support
CM Configuration Management
PPQA Process and Product Quality Assurance
MA Measurement and Analysis
DAR Decision Analysis and Resolution
CAR Causal Analysis and Resolution
Process Management
What process areas do you think a software company should have for "Process Management"?
Process Management
OID Organizational Innovation and Deployment
OPD Organizational Process Definition +IPPD
OPF Organizational Process Focus
OPP Organizational Process Performance
OT Organizational Training
How to Evaluate a Process Area
How do you know if your organization's "process" incorporates a process area?
Ask project staff?
Answer may be designed to please.
Evaluating Process Area
How do you know if your organization's "process" incorporates a process area?
1. Must meet "specific goals" of the process area.
and
2. Incorporate "specific practices" for the process area.
See http://www.software-quality-assurance.org/index.htm for detailed list of practices, subpractices, & work products
Example: Project Planning
SG 1 Establish Estimates
Practices for this goal: Estimate the Scope of the Project Estimate Work Product & Task Attributes Define Project Lifecycle Estimate Effort & Cost
See http://www.software-quality-assurance.org/index.htm for detailed list of practices, subpractices, & work products
CMMI Level 2
Managed
Level 2 : Managed
At maturity level 2, requirements, processes, work
products, and services are managed.
The status of the work products and the delivery of
services are visible to management at defined points
(for example, at major milestones and at the completion
of major tasks).
Level 2 Benefits
The process discipline reflected by maturity level 2 helps
to ensure that practices are retained during times of
stress.
When these practices are in place, projects are
performed and managed according to their plans.
>> This doesn't mean the project will finish according to
plan.
Level 2 - Key Process Areas
CMMI suggests ("requires") our company implement practices in these process areas:
CM - Configuration Management
MA - Measurement and Analysis
PMC - Project Monitoring and Control
PP - Project Planning
PPQA - Process and Product Quality Assurance
REQM - Requirements Management
SAM - Supplier Agreement Management
Activity 1
For your software projects, write down any practices your team is using in these areas.
Be specific! Name specific activities for your practices.
CM - Configuration Management MA - Measurement and Analysis PMC - Project Monitoring and Control PP - Project Planning PPQA - Process and Product Quality Assurance REQM - Requirements Management SAM - Supplier Agreement Management
Generic Goals and Practices
Each process area has specific goals and practices.
There are also generic goals and practices that apply to all process areas.
Generic Goals GG 1
GG 1 Achieve Specific Goals
GP 1.1 Perform Specific Practices
Meaning:
Know just write it down... do it!
Generic Goals GG2
GG 2 Institutionalize a Managed Process GP 2.1 Establish an Organizational Policy GP 2.2 Plan the Process GP 2.3 Provide Resources GP 2.4 Assign Responsibility GP 2.5 Train People GP 2.6 Manage Configurations GP 2.7 Identify and Involve Relevant Stakeholders GP 2.8 Monitor and Control the Process GP 2.9 Objectively Evaluate Adherence GP 2.10 Review Status with Higher Level Mgmt
GG2 - connecting the goals
GP 2.1 Establish an Organizational Policy
GP 2.2 Plan the Process
GP 2.4 Assign Responsibility
GP 2.3 Provide Resources
GP 2.5 Train People
GP 2.7 Identify and Involve Relevant Stakeholders
GP 2.9 Objectively Evaluate Adherence
GP 2.8 Monitor and Control the Process
It needs commitment (from management) to work
Plan first
Assign the jobs to someone
You need resources to do your job
You need know-how to do it
Who cares about this? Get their input
... is the job really being done?
... is it really working?
Generic Goals GG3 - GG5
Apply to CMMI Maturity Levels 3 - 5.
Ignore them until you are more mature.
CMMI Level 2 Software Engineer:
Activity 2: Generic Practices
Did you apply any GG2 practices in your projects? GP 2.1 Establish an Organizational Policy GP 2.2 Plan the Process GP 2.3 Provide Resources GP 2.4 Assign Responsibility GP 2.5 Train People GP 2.6 Manage Configurations GP 2.7 Identify and Involve Stakeholders GP 2.8 Monitor and Control the Process GP 2.9 Objectively Evaluate Adherence GP 2.10 Review Status with Higher Level Mgmt
Specific Goals and Practices
OK, we got the general process areas we oughta' have.
What should we really do?
PP - Project Planning CM - Configuration Management MA - Measurement and Analysis PMC - Project Monitoring and Control PPQA - Process and Product Quality Assurance REQM - Requirements Management SAM - Supplier Agreement Management
PP - Project Planning
Specific Goals and Practices:
SG 1 Establish Estimates
Estimate the Scope of the Project Estimate Work Product & Task Attributes Define Project Lifecycle Estimate Effort & Cost
See http://www.software-quality-assurance.org/index.htm for specific subpractices & work products
PP - Project Planning (continued)
SG 2 Develop a Project Plan
Establish the Budget and Schedule Identify Project Risks Plan for Data Management Plan for Project Resources Plan for Needed Knowledge and Skills Plan Stakeholder Involvement Establish the Project Plan
Project Planning - subpractices
SP 2.1 Establish the Budget and Schedule
identify major milestones identify task dependencies identify constraints
define a budget and schedule
Work Products
Schedule
Schedule Dependencies
Budget
PP - Project Planning (continued)
SG 3 Obtain Commitment to the Plan
Review Plans Reconcile Work and Resource Levels Obtain Plan Commitment
Activity 3
What Project Planning practices did you really use?
Describe the actual activity/practice use used.
If none, they write "none".
CM - Configuration Management
SG 1 Establish Baselines
Identify Configuration Items Establish a Configuration Management System Create or Release Baselines
SG 2 Track and Control Changes
Track Change Requests Control Configuration Items
SG 3 Establish Integrity
Establish Configuration Management Records Perform Configuration Audits
Activity 4
What Configuration Management practices did you really use?
Describe the actual activity/practice use used.
If none, they write "none".
MA - Measurement & Analysis
SG 1 Align Measurement and Analysis Activities
Establish Measurement Objectives Specify Measures Specify Data Collection and Storage Procedures Specify Analysis Procedures
SG 2 Provide Measurement Results
Collect Measurement Data Analyze Measurement Data Store Data and Results Communicate Results
PMC - Project Monitoring and Control
SG 1 Monitor Project Against Plan Monitor Project Planning Parameters Monitor Commitments Monitor Project Risks Monitor Data Management Monitor Stakeholder Involvement Conduct Progress Reviews Conduct Milestone Reviews
SG 2 Manage Corrective Action to Closure Analyze Issues Take Corrective Action Manage Corrective Action
Activity 5
What Project Monitoring & Control practices did you really use?
Describe the actual activity/practice use used.
If none, they write "none".
PPQA - Process & Product QA
SG 1 Objectively Evaluate Processes and Work Products
Objectively Evaluate Processes Objectively Evaluate Work Products and Services
SG 2 Provide Objective Insight
Communicate and Ensure Resolution of Noncompliance Issues
Establish Records
PPQA subpractices
SP 1.2 Objectively Evaluate Work Products & Services
clearly state the criteria for evaluating work products use the stated criteria for evaluation evaluate products before they are delivered to
customer evaluate work products at milestones record results of evaluation identify lessons learned that could improve processes
in the future
Activity 6
What Product and Process QA practices did you really use?
Describe the actual activity/practice use used.
If none, they write "none".
REQM - Requirements Management
SG 1 Manage Requirements
Obtain an Understanding of Requirements Obtain Commitment to Requirements Manage Requirements Changes Maintain Bidirectional Traceability of Requirements Identify Inconsistencies Between Project Work and
Requirements
SAM - Supplier Agreement Management
SG 1 Establish Supplier Agreements
Determine Acquisition Type Select Suppliers Establish Supplier Agreements
SG 2 Satisfy Supplier Agreements
Execute the Supplier Agreement Monitor Selected Supplier Processes Evaluate Selected Supplier Work Products Accept the Acquired Product Transition Products
Beyond Level 2...
Process Areas from Level 3
Validation - "do the right thing"
The purpose of Validation is to show that a product fulfills its intended use in the intended environment.
SG 1 Prepare for Validation
Select Products for Validation Establish the Validation Environment Establish Validation Procedures and Criteria
SG 2 Validate Product or Components
Perform Validation Analyze Validation Result
Verification - "do the thing right"
The purpose of Verification is to ensure that work products meet their specified requirements.
SG 1 Prepare for Verification
... see documentation
SG 2 Perform Peer Reviews
SP 2.1 Prepare for Peer Reviews SP 2.2 Conduct Peer Reviews SP 2.3 Analyze Peer Review Data
SG 3 Verify Selected Work Products
... see documentation
Process Assets
Artifacts that describe, implement, and improve processes.
Includes:
Organization’s set of standard processes, including the process architectures and process elements
Descriptions of approved life-cycle models
Guidelines and criteria for tailoring a standard process
Organization’s measurement repository
Organization’s process asset library
Measurement Repository
Repository used to collect and make available measurement data on processes and work products
Examples: estimated size of work products effort estimates cost estimates defect estimates actual size of work products actual effort actual cost actual defects
Process Asset Library
Homework research and make a list of the kind of items that can
be in a process asset library. Make a table as follows:
Process Asset Description How can we (or do we) implement this asset at KU-CPE
How would it be beneficial to our software projects?
Project Management Plan templates
templates for PMP and plan components, such as configuration mgmt plan
Word and HTML files of IEEE format with descriptive text
1. save time in preparing plan documents
2. ensure we include key areas in our plan
Resources
http://www.software-quality-assurance.org/index.htm tabulated and annotated list of CMMI for software, organized by process area and activity
http://www.sei.cmu.edu/cmmi/ CMMI Web site
CMMI for Development, Version 1.2 (free PDF at SEI) http://www.sei.cmu.edu/publications/documents/06.reports/06tr008.html
Process Area (CMMI) at Wikipedia.org
overview of process areas and activities
IUP (Irrational Unified Process)
Some rational process suggestions
by the 219342-2550 class,
offered at the end of semester
Suggestions for an IUP Process
Our suggestions for a better IUP are to include or improve these areas:
CM Configuration Management
MA Measurement and Analysis
PMC Project Monitoring and Control
PP Project Planning
PPQA Process and Product Quality Assurance
REQM Requirements Management
SAM Supplier Agreement Management
PP - Project Planning
Problem: the project plan is not useful or relevant (nobody reads or follows it)
1, template is too long and complex, too much work to write
2. a Wiki would be better
3. students don't like reading (long) documents
4. written for instructor not for the (student) user
Solutions:
1. simplify project plan
2. iterate over the plan; revise plan ½-way through course
3. make it more useful to the student
PP - Project Planning Problems
Problem: Project leader cannot control team
members do not perform assigned tasks
sol'n: get instructor involved in enforcing work
Problem: Relying on "heroes"
not enough time (too much coursework)
student may give priority to other classes
members are lazy (not motivated to work)
inability to acquire needed knowledge/skill
CM - Configuration Management
Problem: Need a back-up mechanism
Problem: Need something other than Subversion for document management
Solutions: find a "document control system" use a structured Wiki with templates
PMC - Project Monitoring and Control
oral progress report by weekly group meetings in case of lateness, other members help with task changing requirements causes project lateness
Suggestions need reward for completing work earlier, consistency
must be able to monitor progress small extra credit would be significant motivation
frequent milestones, reviewed by instructorSP 1.6 Conduct Progress Reviews
SP 1.7 Conduct Milestone Reviews
MA - Measurement and Analysis
Problem: lack ability to collect useful measurements for metrics (can't evaluate performance)
Solution: Tools to assist in collecting measurements
Problem: What to measure? defects time? (man hours) related to work products/tasks
tasks completed delays, missed commitments lines of code use cases project complexity
Other Suggestions
more concrete software requirements specification
difficulty translating oral requirements into specs
prescriptive process that can apply to all projects
"process methodology" is descriptive and vague
students don't have time or experience to research concrete practices
need practical and useful method, not IEEE/ISO std
0000010Pedido
Producto Cantidad precunit
EmitirFactura
NroFactura: Total sin igv:
Igv:Total