Title: CMMI Capability Maturity Model Integration
1CMMI - Capability Maturity Model Integration
- BCI3023 / BCI3063
- CURRENT ISSUES IN ICT
- CHAPTER 1 ISSUES IN SOFTWARE DEVELOPMENT
2Introduction
- CMMI Objective
- To provide guidance for improving your
organizations processes and your ability to
manage the development, acquisition, and
maintenance of products or services. - Helps your organization appraise its
organizational maturity or process area
capability, establish priorities for improvement,
and implement these improvements - To help set process-improvement objectives and
priorities, improve processes, and provide
guidance for ensuring stable, capable, and mature
processes. - 2 representation
- Staged
- Continuous
3Model Component
4Capability Levels
5Framework Interaction
- Process areas can be grouped into 4 categories
- Process Management
- Project Management
- Engineering
- Support
-
6Process Management
- The Process Management process areas of
- CMMI are as follows
- Process Focus
- Organizational Process Definition
- Organizational Training
- Organizational Process Performance
- Organizational Innovation and Deployment
7Basic Process Management Process Areas
8Advanced Process Management Process Areas
9Project Management
- The Project Management process areas of CMMI are
as - follows
- Project Planning
- Project Monitoring and Control
- Supplier Agreement Management
- Integrated Project Management for IPPD (or
Integrated Project Management) - Risk Management
- Integrated Teaming
- Integrated Supplier Management
- Quantitative Project Management
10Basic Project Management Process Areas
11Advanced Project Management Process Areas
12Engineering
- The Engineering process areas of CMMI are
- as follows
- Requirements Development
- Requirements Management
- Technical Solution
- Product Integration
- Verification
- Validation
13Engineering Process Areas
14Support
- The Support process areas of CMMI are as
- follows
- Configuration Management
- Process and Product Quality Assurance
- Measurement and Analysis
- Organizational Environment for Integration
- Decision Analysis and Resolution
- Causal Analysis and Resolution
15Basic Support Process Areas
16Advanced Support Process Areas
17CMMI LEVELS
- The capability levels and generic model
components focus on building the organizations
ability to pursue process improvement in multiple
process areas. Using capability levels, generic
goals, and generic practices, users are able to
improve their processes, as well as demonstrate
and evaluate their organizations progress as
they improve
18MATURITY LEVEL
19Capability Level 0 Incomplete
- An incomplete process is a process that is either
not performed or partially performed. One or more
of the specific goals of the process area are not
satisfied
20Capability Level 1 Performed
- A capability level 1 process is characterized as
a performed process. - A performed process is a process that satisfies
the specific goals of the process area. It
supports and enables the work needed to produce
identified output work products using identified
input work products. - A critical distinction between an incomplete
process and a performed process is that a
performed process satisfies all of the specific
goals of the process area.
21Capability Level 2 Managed
- A critical distinction between a managed process
and a defined process is the scope of application
of the process descriptions, standards, and
procedures. For a managed process, the process
descriptions, standards, and procedures are
applicable to a particular project, group, or
organizational function. As a result, the managed
processes for two projects within the same
organization may be very different.
22Capability Level 3 Defined
- A defined process is a managed (capability level
2) process that is tailored from the
organization's set of standard processes
according to the organizations tailoring
guidelines, and contributes work products,
measures, and other process-improvement
information to the organizational process assets.
CL104.N106 - The organizations set of standard processes,
which are the basis of the defined process, are
established and improved over time. Standard
processes describe the fundamental process
elements that are expected in the defined
processes. Standard processes also describe the
relationships (e.g., the ordering and interfaces)
between these process elements. The
organization-level infrastructure to support
current and future use of the organization's set
of standard processes is established and improved
over time. CL104.N101
23Capability Level 3 Defined
- The organizational process assets are artifacts
that relate to describing, implementing, and
improving processes. These artifacts are assets
because they are developed or acquired to meet
the business objectives of the organization, and
they represent investments by the organization
that are expected to provide current and future
business value.
24A defined process clearly states the following
- Purpose
- Inputs
- Entry criteria
- Activities
- Roles
- Measures
- Verification steps
- Outputs
- Exit criteria
25Capability Level 4 Quantitatively Managed
- A quantitatively managed process is a defined
(capability level 3) process that is controlled
using statistical and other quantitative
techniques. Quantitative objectives for quality
and process performance are established and used
as criteria in managing the process. The quality
and process performance are understood in
statistical terms and are managed throughout the
life of the process. - The quantitative objectives are based on the
capability of the organization's set of standard
processes, the organizations business
objectives, and the needs of the customer, end
users, organization, and process implementers,
subject to available resources.
26Capability Level 5 Optimizing
- An optimizing process is a quantitatively managed
(capability level 4) process that is changed and
adapted to meet relevant current and projected
business objectives. An optimizing process
focuses on continually improving the process
performance through both incremental and
innovative technological improvements. Process
improvements that would address root causes of
process variation and measurably improve the
organizations processes are identified,
evaluated, and deployed as appropriate. These
improvements are selected based on a quantitative
understanding of their expected contribution to
achieving the organizations process-improvement
objectives versus the cost and impact to the
organization. The process performance of the
organizations processes is continually improved.
27Capability Level 5 Optimizing
- Selected incremental and innovative technological
process improvements are systematically managed
and deployed into the organization. The effects
of the deployed process improvements are measured
and evaluated against the quantitative
process-improvement objectives.
28CMMI Technology Conference
Using CMMI to Balance Agile and Plan-driven
Methods
Richard TurnerThe George Washington
UniversityOUSD(ATL)/DS/SE
- Denver, CO November 19, 2003
29Background
WARNING!Generalizations Ahead
- Success in any endeavor requires both agility and
discipline - Two approaches to software development
- Plan-driven (SW-CMM, document-based, strong
process) - Agile (XP, tacit knowledge, light process)
- Agile and plan-driven proponents are believers
- Both have strengths and weaknesses balance is
needed
30Some Observations on Balancing
- It is better to build your method up than to
tailor it down - Methods are important, but potential silver
bullets are more likely to be found in areas
dealing with - People
- Values
- Communications
- Expectations management
- Neither agile nor plan-driven methods provide a
silver bullet - Agile and plan-driven methods have home grounds
where each clearly dominates - Future developments will need both agility and
discipline - Some balanced methods are emerging
311. No Silver Bullet
- Brooks werewolf concerns
- Complexity, conformity, changeability,
invisibility - Agile methods
- On target for changeability and invisibility
- Miss on complexity and conformity
- Plan-driven methods
- On target for conformity and invisibility
- Miss on complexity and changeability
- Bullets can lose their efficacy as wolves evolve
322. Home Grounds Exist
- Agile and plan-driven methods have definite home
grounds - Environment where they are most likely to succeed
- Extremes are rarely populated
- Five dimensions can help illustrate a projects
or organizations home ground relationship - Size, Criticality, Dynamism, Personnel, Culture
333. Future Applications Need Both
- Historically
- Many small, non-critical, well-skilled, agile
culture, rapidly evolving projects - Many large, critical, mixed-skill, ordered
culture, stable projects - In the future
- Large projects are no longer stable
- Maintenance of extensive process and product
plans will become too expensive - Complexity and conformity werewolves are waiting
for agile projects - Attributes of both approaches will be needed
344. Balanced Methods are Emerging
- Agile methods
- Crystal Orange
- DSDM
- FDD
- Lean Development
- Plan-Driven methods
- Rational Unified Process
- CMMI
- Hybrid
- Boehm-Turner Risk-based
- Manzo (AgileTek) Code Science/Agile Plus
355. Build up Dont Tailor Down
- Plan-driven methods traditionally
- Have over defined processes
- Advocate (or require) tailoring
- Are rarely tailored well
- Agilists traditionally
- Begin with the minimum
- Add as needed (and justified by cost-benefit)
- Have multiple core sets
366. Methods arent always the answer
- Agile movement has echoed a long line of warning
calls - Success of agile may be due as much to people
factors as to technology - Valuing people over processes is the most
important factor in the agile manifesto
I know I saw something about that in the process
somewhere
37People
- Development is of the people, by the people, for
the people - Separation of concerns is increasingly harmful
38Values
- Reconciling values is a critical people-oriented
task - Stakeholders value different things
- Software engineering is usually value-neutral
- Process improvement and plan-driven methods are
inwardly-focused - Aimed at productivity improvement
- Not higher value to customer
- Agilists attention to prioritization and
negotiation are promising
39Communications
- Face it, most engineers cant talk, much less
write - Rapid change increases need for solid
communication - Few sources of guidance
- Alistair Cockburns Agile Software Development is
a good starting place
40 41Expectations Management
- Differences between successful and troubled
projects is often expectations management - SW developers have problems with EM
- Strong desire to please
- Avoid confrontation
- Little confidence in prediction
- Over confidence in abilities
- Most significant common factor in successful
plan-driven/agile teams - EM means not setting up unrealistic expectations
- Process mastery
- Preparation
- Courage
42So How does CMMI help balance?
- Flexibility
- Broader engineering and management scope
- Addresses people aspects
- High maturity
43Flexibility
- Goals and practices are more flexible in CMMI
- Need to span differences led to more general
language - Alternative practices provide an entry point for
innovative approaches - Continuous representation provides more
flexibility in deciding what PI should address
44Broader Engineering and Management Scope
- Supports agile technical/management approaches
- Product Integration PA can support continuous
integration - Engineering and Support Pas (e.g. VAL, CM) are
compatible with test-driven design and automated
tools - Agile methods are often both iterative and
concurrent - Recursion of engineering PAs (e.g. RD, TS)
supports iterative development - Broader scope allows multiple disciplines and
approaches for different components - Agile for emerging or rapidly evolving components
- Plan-driven for well-understood or regulated
components
45Addresses People Aspects
- Values
- Effective SE (e.g. trade studies) cannot be value
neutral (DAR) - Communication
- IPPD, shared vision, and stakeholder concerns
make for more effective communications (IPM, PP) - Expectation Management
- Emphasis on measurement produces good data that
enables effective expectation management (MA)
46High Maturity
- Innovation at level 5 argues for agile approaches
- Having both agile and plan-driven standard
processes allows marketplace agility - Application of Lean and Six Sigma techniques at
high maturity levels eliminates non-value added
processes and results in more agile tailor-up
rather than tailor-down approaches
47A Risk-based Balancing Process
48How CMMI Supports the Process
PP, RSKM
RSKM
PP, OPD
DAR, TS
PMC, PI, TS
49Conclusions
- Plan-driven and agile methods both aim to
- Satisfy customers
- Meet cost and schedule parameters
- Home grounds exist, but the opportunity for
integration is expanding - CMMI supports balancing methods
- Flexible application of the model allows both
plan-driven and agile methods - PA support to risk-based balancing process
- For more on the risk-based process, see
- Boehm/Turner, Balancing Agility and Discipline A
Guide for the Perplexed, Addison Wesley, Boston,
2003.
50Contact Information
- Rich Turner
- 703.602.0851 x124
- Rich.Turner.CTR_at_osd.mil
51Five Critical Dimensions