2. 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.
3. 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
4. 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?
5. 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
6. 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."
7. Overview of CMMI - Maturity Levels
5
4
3
2
1
0
"Optimizing"
“Quantitatively
Managed"
“Defined"
"Managed"
"Performed"
“Incomplete"
Ad hoc
not 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;
8. CMMI Model
Maturity Level m
Process Area 1 Process Area 2 ...
Specific Goals Generic Goals
• Commitment to Perform
• Ability to Perform
• Directing Implementation
• Verifying Implementation
Generic Practices
Specific Practices
9. What does CMMI offer?
Process Area
Generic Practices
Generic Practices
Generic Goals
Generic Goals
Expected Informative
Informative
Required
KEY:
Purpose
Statement
Introductory
Notes
Related
Process Areas
Subpractices
Subpractices
Specific Goals
Specific Goals
Specific Practices
Specific Practices
Typical Work
Products
Typical Work
Products
Subpractices
Subpractices Subpractices
Generic Practice
Elaborations
10. Key Process Areas
"Process Areas" are general areas
They can be grouped into 4 categories:
Process Management
Project Management
Engineering
Support
11. Project Management
What process areas do you think a software company
should have for "Project Management"?
12. 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
16. Support
CM Configuration Management
PPQA Process and Product Quality Assurance
MA Measurement and Analysis
DAR Decision Analysis and Resolution
CAR Causal Analysis and Resolution
17. Process Management
What process areas do you think a software company
should have for "Process Management"?
18. Process Management
OID Organizational Innovation and Deployment
OPD Organizational Process Definition +IPPD
OPF Organizational Process Focus
OPP Organizational Process Performance
OT Organizational Training
19. 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.
20. 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
21. 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
23. 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).
24. 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.
25. 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
26. 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
27. 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.
28. Generic Goals GG 1
GG 1 Achieve Specific Goals
GP 1.1 Perform Specific Practices
Meaning:
Know just write it down... do it!
29. 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
30. 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?
31. Generic Goals GG3 - GG5
Apply to CMMI Maturity Levels 3 - 5.
Ignore them until you are more mature.
CMMI Level 2 Software Engineer:
32. 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
33. 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
34. 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
35. 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
36. 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
37. PP - Project Planning (continued)
SG 3 Obtain Commitment to the Plan
Review Plans
Reconcile Work and Resource Levels
Obtain Plan Commitment
38. Activity 3
What Project Planning practices did you really use?
Describe the actual activity/practice use used.
If none, they write "none".
39. 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
40. Activity 4
What Configuration Management practices did you
really use?
Describe the actual activity/practice use used.
If none, they write "none".
41. 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
42. 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
43. Activity 5
What Project Monitoring & Control practices did you
really use?
Describe the actual activity/practice use used.
If none, they write "none".
44. 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
45. 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
46. Activity 6
What Product and Process QA practices did you really
use?
Describe the actual activity/practice use used.
If none, they write "none".
47. 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
50. 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
51. 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
52. 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
53. 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
54. 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
55. 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.rep
orts/06tr008.html
Process Area (CMMI) at Wikipedia.org
overview of process areas and activities
56. IUP (Irrational Unified Process)
Some rational process suggestions
by the 219342-2550 class,
offered at the end of semester
57. 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
58. 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
59. 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
60. 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
61. 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 instructor
SP 1.6 Conduct Progress Reviews
SP 1.7 Conduct Milestone Reviews
62. 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
63. 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