02-Process Improvement

Download Report

Transcript 02-Process Improvement

Process Improvement
It is not necessary to change. Survival is not
mandatory.
» W. Edwards Deming
Both change and stability are fundamental to
process improvement.
» Dennis Ahern
Models
• Models provide a common set of process
requirements that capture the best practices
and knowledge in a format that can be used
to guide priorities.
» CMMI Distilled, Ahern, Clouse, Turner, p5.
Basic Model of Improvement
•
•
•
•
•
Observe some difficulty
Collect some data
Identify the root causes (hypothesis)
Develop reasonable solutions (test)
Plan and implement the changes
Process Improvement Doesn’t
Just Happen
• many models and buzzwords
– SEI
– ISO 9000
– CQI
– test process improvement
– PSP
– CMM
– Plan-Do-Check-Act
– QIP
–…
Emphasis
• high-quality software
• finite amount of resources
• cost-effective manner
Two Observables
• Cost:
– Main cost in software is time. (Why?)
• Quality:
– correctness
– reliability
– robustness
– user friendliness
– verifiability
– maintainability
– safety
Why is Process Improvement Difficult?
• Software development is:
– Evolutionary and experimental
– Not production
– Human based
• Software is variable:
– Processes
– Goals
– Content
• We lack models:
– Needed to to reason about the process and the product
Capability Maturity Model
(CMM) for Software
Capability Maturity Model
(CMM) for Software
• Process Capability
– ability of a process to produce planned results
• Software Engineering Institute (SEI)
– Carnegie Mellon
• 5 Levels
• Certification based on audits
5 Stages of CMM for Software
•
•
•
•
•
Level 1: Initial
Level 2: Repeatable
Level 3: Defined
Level 4: Managed
Level 5: Optimizing
Optimizing
Managed
Defined
Repeatable
Initial
SEI
Capability Maturity Model
Optimizing
Major improvements
in quality and quantity
Managed
Substantial quality improvements
• Comprehensive measurements
Defined
Achieved foundation for major and
continuing progress
Repeatable
Achieved a stable process with a repeatable
level of statistical control
Initial
• Ad hoc
• No process in place
Level
Focus
Initial
Heroics
Repeatable Basic project management
Defined
Process standardization
Managed
Quantitative management
Optimizing Continuous process Improvement
CMM Maturity Level 1: Initial
Characteristics
To get to next level
• No sound SE management
• Initiate project
principles in place
management
• Ad hoc practices
• May be successful because of
competent manager and team
• Activities are not preplanned,
but response to crisis
• Unpredictable process
• Cannot predict time and cost
of development
Elements of Basic Project
Management
•
•
•
•
•
•
Software Configuration Management
Software Quality Assurance
Software Acquisition Management
Software Project Control
Software Project Planning
Software Requirements Management
CMM Maturity Level 2: Repeatable
Characteristics
• Basic SE management
practices in place
• Planning and management are
based on experience with
similar products (repeatable)
• Track costs and schedules
• Identify problems as arise and
take immediate corrective
action
To get to next level
• Standardize Processes
Process Standardization
• Peer Reviews
• Project Interface Coordination
• Software Product Engineering
– methods and technologies
– software development process architecture
• Integrated Software Management
• Organization-level Awareness
– Organization Training Program
– Organization Process Definition
– Organization Process Focus
CMM Maturity Level 3: Defined
Characteristics
• Process for development
fully documented
• Reviews used to achieve
software quality
• Introduce CASE Tools
To get to next level
• Quantitative Management
Quantitative Management
• Statistical process management
– quantify quality and cost parameters
• Process database to maintain process data
• Assess relative quality of each product
CMM Maturity Level 4: Managed
Characteristics
• Organization sets quality
and productivity goals for
each project
• Continually measure
• Statistical quality control
in place
To get to next level
• Support automatic
gathering of process data
• Use data to analyze and
modify the process
• Defect Prevention
CMM Maturity Level 5: Optimizing
Characteristics
To maintain level
• Statistical quality and
• Continue improvement
process control techniques
and optimization of the
are used and guide the
process
organization
• Process has positive
feedback loop
Other Improvement Process Models-1
Plan-Do-Check-Act (Deming)
(Improving single process within an organization)
• Plan. Develop plan for effective improvement
• Do. The development organization carries out the
plan
• Check. After process termination, observe the
effects of the change or test
• Act. Study the results and document the lessons
learned. Emphasis on
– understanding the principles of the process,
– predicting product’s quality
– suggest further improvement
Other Improvement Process Models-2
Quality Improvement Paradigm (NASA Goddard)
(Systematic software development and SE technology
validation )
• Characterize project using models and baselines
• Set quantifiable improvement goals on basis of relevance to
organizing successful project and organization performance
improvement
• Execute the plan to develop products and provide feedback
• Analyze the collected data and information gathered and
evaluate the current practices, determine problems, record
findings, and make recommendations for improvement
• Package the experience in the form of new, updated or refined
models. Store them in an experience base so it is available for
future projects.
Process Improvement Framework Quagmire
CMMI: CMM Integrated
Reduce Cost:
–
–
–
–
eliminate inconsistencies between processes
Reduce duplication
Provide common terminology and style
Increase clarity
CMMI Principles
• Maintain executive support
– Strong consistent support is crucial
• Pick your targets carefully
– Don’t underestimate effort
• Leverage best practices
– “Steal with pride”
• Align process improvement with your
business objectives
– Improve your business
The Model
• Required: Statement of Goals
– a desirable end state; succinct
– Example: Requirements are managed and
inconsistencies with plans and products are identified
• Expected: Statement of a Practice
– the expected means of achieving a goal
– every practice maps to exactly one goal
– Example: Develop an understanding with the
requirements providers on the meaning of the
requirements
• Informative: 10 types of information components
identified (e.g. purpose, reference, typical work
products)
Goals of the capability levels
Level
Goal
CL 0
No goal
CL 1
CL 2
The process supports achievement of specific goals of
the process area by transforming identifiable inputs to
identifiable outputs
The process is institutionalized as a managed process
CL 3
The process is institutionalized as a defined process
CL 4
The process is institutionalized as a quantitatively
managed process
The process is institutionalized as an optimizing
process
CL 5
Level 3
• Defined: For each process area considered,
each project in the organization will have a
managed process (created under Level 2)
that is tailored using standard guidelines.
4 process categories
•
•
•
•
Process Management
Project Management
Engineering
Support
4 process areas
• Process Management
– Process Definition
– Training
• Project Management
• Engineering
• Support
4 process areas
• Process Management
• Project Management
– Project Planning
– Monitoring and Control
– Risk Management
• Engineering
• Support
4 process areas
• Process Management
• Project Management
• Engineering
– Requirements Development and Management
– V&V
– Product Integration
• Support
4 process areas
•
•
•
•
Process Management
Project Management
Engineering
Support
– Configuration Management
– Measurement and Analysis
– Decision Analysis and Resolution
Summary: Process improvement
• May not be necessary for a given project
• May be neglected by some companies
• May be necessary for survival of
– companies
– employees