Capability Maturity Model EEE493'23 Reference: HvV 6'6 - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Capability Maturity Model EEE493'23 Reference: HvV 6'6

Description:

They won't do it, it's a hardware problem. Software Testers ... ad-hoc/improvised processes (project dependant) process are not rigorously followed ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 33
Provided by: claudeb2
Category:

less

Transcript and Presenter's Notes

Title: Capability Maturity Model EEE493'23 Reference: HvV 6'6


1
Capability Maturity ModelEEE493.23 Reference
HvV 6.6
Royal Military College of Canada Electrical and
Computer Engineering
  • Professor Greg Phillips
  • Greg.Phillips_at_rmc.ca
  • 1-613-541-6000 ext. 6491

Major JW Paul Jeff.Paul_at_rmc.ca 1-613-541-6000
ext. 6091
2
Tuesdays Twister
3
How many does it take to change a lightbulb?
  • Software Engineers
  • None. They wont do it, its a hardware problem
  • Software Testers
  • None, they just find problems, they dont fix
    them
  • Software Developers
  • None, they claim "the light works fine on our
    system
  • Database Programmers
  • Three. One to write the lightbulb removal
    routine, one to write the lighbulb insertion
    routine, and one to make sure no one else is
    trying to change the lightbulb at the same time

4
How many does it take to change a lightbulb?
  • Hardware Engineers
  • None, they tell software to code around it.
  • Marketing Executives
  • None, they just declare Darkness (TM) as the new
    standard.
  • "Engineers"
  • Ten. One to hold the bulb and nine to rotate the
    ladder

5
Review
  • What are Software Process Metrics? (hint 7 of
    them)
  • Work / Progress
  • Budgeted Cost / Expenditures
  • Staffing / Team Dynamics
  • Change Traffic / Stability
  • Breakage / Modularity
  • Rework / Adaptability
  • MTBF / Maturity
  • What are their key features?
  • Value Trend

6
What is the purpose of 493B?
  • Software Process and Quality
  • The implication is that by following an effective
    process one will produce better software
  • We have looked at many discrete processes - how
    do we know if an orgranization is using these
    concepts - or just using the buzzwords?
  • Answer CMM

7
The Birth of CMM
  • 1986, the Software Engineering Institute (SEI),
    investigated maturity framework (Watts
    Humphrey)
  • 1987 questionaires
  • software capability evaluation
  • maturity questionaire
  • 1991 - CMM
  • a set of key processes and recommended practices
  • guidance on how to gain control of their process
    and how to evolve toward a culture of software
    engineering and management excellence

8
Some Definitions
  • Software Process
  • set of activities, methods, practices, and
    transformations used to develop and maintain
    software and associated products
  • project plans, design documents, code, test
    cases, user manuals
  • Software Process Capability
  • knowing what the above will give you
  • Software Process Performance
  • actual results from the above
  • Software Process Maturity
  • how well the process is specific process is
    explicitly defined, managed, measured,
    controlled, and effective
  • also includes consistancy and change

9
Software Process Improvement
  • Six steps to improve software capabilities
    through process improvements
  • 1. Understand the current development process or
    processes
  • 2. Develop a vision of the desired process
  • 3. List the required process improvement actions
    in order of priority
  • 4. Produce a plan to implement the actions
  • 5. Commit the resources and execute the plan
  • 6. Start over at step 1

10
Immature Software Organization
  • Does not mean they produce poor code
  • Characterized by
  • ad-hoc/improvised processes (project dependant)
  • process are not rigorously followed
  • reactionary to immediate crisis
  • schedules and budgets routinely exceeded
  • no objective basis for measuring quality
  • hard to predict future events...

11
Mature Software Organizations
  • Does not mean they produce good code, but
  • Characterized by
  • organization wide ability for managing software
    development
  • process is integral to the organization
  • process is useable and useful
  • process is not static (evolves in controlled
    manner)
  • objective and quantitative quality metrics
  • schedules and budgets based on historical data
  • and thus usually achieved

12
CMM Levels
  • 1 Initial Competent People and Heroics
  • 2 Repeatable Project Management process
  • 3 Defined Engineering Process Org Support
  • 4 Managed Product and Process Quality
  • 5 Optimizing Continuous Process Improvement

13
Key Process Areas
  • Competent people heroics
  • Requirements Management
  • SW Project Planning
  • SW Project Tracking Oversight
  • SW Subcontract Management
  • SW Quality Assurance
  • SW Configuration Management
  • Organization Process Focus
  • Organization Process Defintion
  • Training Program
  • Integrated SW management
  • SW Product Engineering
  • Intergroup Coordination
  • Peer Reviews
  • Quantitative Process management
  • SW Quality Management
  • Defect Prevention
  • Technology Change Management
  • Process Change Management

1
initial
2
repeatable
3
defined
4
managed
5
optimizing
14
Structure of CMM
maturity levels
indicate
process capability
contain
key process areas
achieve
organized by
goals
common features
address
contain
implementation / institutionalization
key practices
describe
activities / infrastructure
15
Process Maturity Levels
Optimizing (5)
Continuosly Improving Process
Process Control
Managed (4)
Predictable Process
Process Measurement
Defined (3)
Standard, Consistent Process
Process Definition
Repeatable (2)
Disciplined Process
Basic Management Control
Initial (1)
16
The Initial Process (Risks)
  • (A.K.A. total chaos)
  • No management mechanism in place to plan and
    track the work of individuals
  • If procedures are established they are abandoned
    during a crisis
  • PM Panic Management (make the biggest fire
    smaller)
  • tends to be continuous
  • capability of org characteristic of individuals

Basic Management Control
Initial (1)
17
To Improve to Repeatable Process
  • Understand the difference between speed and
    progress
  • Basic project control
  • Project management
  • project size estimation
  • Management oversight
  • quarterly review of process
  • Quality assurance
  • establish a QA organization (? 5-6 of
    development org)
  • Change control

18
The Repeatable Process
  • Provides control over the way the organization
    establishes its plan and commitments
  • basic software management controls exist for
    tracking cost, schedule and functionality
  • Experienced at doing similar work
  • realistic project commitments based upon previous
    results

Process Definition
Repeatable (2)
19
Repeatable - KPA
  • Software configuration management
  • Software quality assurance
  • Software subcontract management
  • Software project tracking and oversight
  • Software project planning
  • Requirements management
  • Phase of greatest risk to the organization
  • introduction of new tools will affect process
  • entering new territory, by trying new products
  • major organizational changes can be disruptive

20
Getting to the Defined Process
  • Establish a process group
  • ? 1-3 of development org
  • Establish a development process architecture
  • describes the technical and management activities
    for proper execution of the development process
  • Introduce a family of software engineering
    methods and technologies
  • design and code inspection
  • formal/semi-formal design methods
  • library control systems
  • comprehensive testing methods

21
The Defined Process
  • Processes for development and maintenance of
    software is standardized across the corporation
  • software engineering is integrated into the
    larger engineering management processes
  • The Acid-test
  • When faced with a crisis they will continue to
    use the process that has been defined
  • But only qualitative
  • Little data to support the effectiveness of the
    process
  • need to move to a quantitative process

Process Measurement
Defined (3)
22
Defined - KPA
  • Peer reviews (a.k.a. inspections)
  • Intergroup coordination
  • Software product engineering
  • Integrated software management
  • Training program
  • Software process definition
  • Software process focus

23
To Improve to the Managed Process
  • Establish basic process measurements to identify
    quality and cost of each process step
  • cost-benefit analysis
  • Establish a process database and provide
    resources to maintain it (gathering of data)
  • Assess the quality of the product at each step
    and report to management

24
The Managed Process
  • Productivity and quality are quantitatively
    measured across the organization
  • Key software processes are instrumented
  • statistical quality control is employed
  • Definition of the measured data is key
  • only gather what you need ()
  • process data must not be used to compare projects
    or individuals

Process Control
Managed (4)
25
Managed KPA
  • Quality management
  • Quantitative process management

26
To Improve to the Optimizing Process
  • Automatic gathering of process data
  • Use process data to analyze and modify the process

27
The Optimizing Process
  • Organizational focus is on continuous process
    improvement
  • supported by quantitative trend analysis as to
    process strengths and weaknesses
  • Process innovations and new technologies are
    introduced supported by cost benefit analysis
  • Data is available to tune the process itself
  • Ability to put the resources where it counts

Optimizing (5)
28
Optimizing KPA
  • Process change management
  • Technology change management
  • Defect prevention

29
CMM vs XP
CMM LEVEL
  • Competent people heroics
  • Requirements Management
  • SW Project Planning
  • SW Project Tracking Oversight
  • SW Subcontract Management
  • SW Quality Assurance
  • SW Configuration Management
  • Organization Process Focus
  • Organization Process Defintion
  • Training Program
  • Integrated SW management
  • SW Product Engineering
  • Intergroup Coordination
  • Peer Reviews
  • Quantitative Process management
  • SW Quality Management
  • Defect Prevention
  • Technology Change Management
  • Process Change Management

1
- - - - - - -
2
3
4
5
30
Short-comings and Future of CMM
  • Surprise, surprise - CMM is not a silver bullet
  • a mature process is no guarantee of a quality
    product
  • Not well suited for smaller companies / projects
  • Personal Software Process (PSP) is one attempt to
    address this need
  • Crude and harsh 5-point scale
  • if you fail just one of the KPAs, you fail the
    level
  • CMMs now exist for software, people, software
    acquisition, systems engineering and integrated
    product development
  • latest initiative CMM Integration (CMMI)

31
Supplemental References
  • Capability Maturity Model for Software (Version
    1.1). Carnegie Mellon Software Engineering
    Institute, 1993.
  • www.sei.cmu.edu/publications/documents/93.reports/
    93.tr.024.html

32
Capability Maturity Model (CMM)
  • used as a standard for appraising the current
    state of the organizations software process
  • used as a guide for identifying and prioritizing
    the actions comprising the software process
    improvement effort
  • Made up of 5 levels and 18 key process areas
    (KPA)
  • a CMM-based maturity questionnaire may be used
    to assess the software capability of a particular
    organization
  • government may use this to assess the capability
    of potential software development contractors
Write a Comment
User Comments (0)
About PowerShow.com