Software Development: Tools and Processes
Transcript of Software Development: Tools and Processes
Software Development: Software Development: Tools and ProcessesTools and Processes
Lecture Lecture --5: CMMI Architecture5: CMMI Architecture
CMMI Tutorial Mar 25 , 2002CMMI Tutorial Mar 25 , 2002 22
History of the CMMIHistory of the CMMI1987 1991 1995 1997 2000 2002
First CMMPublished
Model Refinedand Published as
SW-CMM v1.0
SW-CMM v1.1Published
1993
Software Acquisition (SA-CMM),Systems Engineering (SE-CMM),
Integrated Product Development (IPD-CMM),Organizational Workforce Capability Development (People CMM)
Developed
CMMI InitiativeLaunched
CMMI-SE/SWVersion 1.0Published
CMMI-SE/SW/IPPD/AVersion 1.1Published
Commonly Used CMMs
Software CMM staged software development
System Engineering CMM continuous system engineering
Software Acquisition CMM staged software acquisition
System Security Engineering CMM continuous security engineering
FAA-iCMM continuous software engineering, systems engineering, and acquisition
IPD-CMM hybrid integrated product development
People CMM staged workforce
SPICE Model continuous software development
So Many Models, So Little Time
SoftwareCMM
SoftwareCMM
SystemsSecurity
Engr CMM
SystemsSecurity
Engr CMM
SystemsEngrCMM
SystemsEngrCMM
PeopleCMM
PeopleCMM
ZZZCMMZZZCMM
FAAiCMMFAA
iCMM
IPDCMMIPD
CMMSoftware
AcqCMM
SoftwareAcqCMM
EIA 731EIA 731• Different structures,
formats, terms, ways of measuring maturity
• Causes confusion, especially when using more than one model
• Hard to integrate them in a combined improvement program
• Hard to use multiple models in supplier selection
5
SW-CMM
Also see
www.software.org/quagmire
MIL-Q -9858
Trillium Baldrige
IEEE Stds. 730,828829, 830,1012,1016
1028,1058,1063ISO 15504*(SPICE)
People CMM
IPD-CMM*
DODIPPD
SECAMAF IPD Guide
SDCCR
SCE
NATO AQAP1,4,9
BS5750
MIL-STD-498
DOD-STD-2167A
DOD-STD -7935A
MIL-STD-499B*
ISO/IEC12207
IEEE1220 ISO 10011
SDCE
SE-CMM SECM*(EIA/IS 731)
EIA/IS632
ISO 9000Series
EIA/IEEEJ-STD-016
IEEE/EIA12207
EIA 632*
MIL-STD-1679
IEEE 1074
TickIT
SSE-CMM
ISO 15288*
EQA
* Not yet released
CMMI*
PSP
SA-CMM
Q9000
DOD-STD-2168
FAA-iCMM
DO-178B
SW-CMM
The Frameworks Quagmire
6
CMMI content classification• Required
– Essential to model and understanding the requirement of process implementation
– Statement of “Goals” of PAs are required CMMI components
• Expected– May not be fully essential– Play a central role in process improvement– Indicators of achievement of required components– Only expected component is statement of “Practice”.
• Informative– Useful guidance for process improvement– Clarifications for required and expected materials– Ten types of informative components
» Purpose, Introductory note, Reference, Names, Notes, Typical work products, sub-practices, discipline amplifications, generic practice elaborations
7
Informative MaterialsPurposeSummary of the specific goals for the PA
Introductory NoteScope of the PA, importance, interaction with other PA
ReferenceLink to other PA for further information on the topic
NamesAll goals and practices are given a name
Practice-to-Goal RelationshipA table which maps the SP and GP to respective Goals
8
Informative MaterialsNotesThese are attached to model components (explanations, examples)
Typical work productsOutput of the practices (files, documents, flow charts etc.)
Sub-practicesExplanation of meaning and elaboration of practices
Discipline AmplificationsFor example, “for software engineering”
Generic Practice ElaborationsApplication of a generic practice for a particular process area
9
CMMI Models
Source Models
• Capability Maturity Model for Software V2, draft C (SW-CMM V2C)
• EIA Interim Standard 731, System Engineering Capability Model (SECM)
• Integrated Product Development Capability Maturity Model, draft V0.98 (IPD-CMM)
CMMI-SE/SW
Staged
Representation
CMMI-SE/SW
Continuous
Representation
• Combined System Engineering / Software Engineering model
• Can be applied to:– Just the software engineering
projects in an organization– Just the system engineering
projects in an organization– Both– IPPD can be used in either/both
10
Comparing Model Representations
Staged
ML 1
ML2ML3
ML4
ML5
. . .for an established set of process areas across anorganization
Continuous
PA PA
Proc
ess
Are
a C
apab
ility
0
1 2
3
4
5
PA. . .for a single process areaor a set of process areas
11
CMMI Model Structure
12
Advantages of Each Representation
Continuous Representation Staged Representation
Provides maximum flexibility for order of process improvement
Predefined and proven path with case study and ROI data
High visibility of improvement within process areas
Focuses on organizational improvement
Easy upgrade from EIA 731 Easy upgrade from SW-CMM
Easy comparison to ISO 15504 Provides familiar benchmarking capability
Improvement of process areas can occur at different rates
Overall results summarized in a maturity level
13
Relating Process Area Capability and Organizational Maturity
• Process area capability and organizational maturity are similar concepts.
• The difference between them is that process area capability deals with a set of processes relating to a single process area or specific practice, while organizational maturity pertains to a set of process areas across an organization.
14
CMMI StructureOne Model, Two Representations
Maturity Level 5OID, CAR
Maturity Level 4OPP, QPM
Maturity Level 3REQD, TS, PI, VER,VAL, OPF, OPD, OT,IPM, RSKM, DAR
OverviewIntroductionStructure of the ModelModel TerminologyMaturity Levels, Common Features, and Generic PracticesUnderstanding the ModelUsing the Model
Maturity Level 2REQM, PP, PMC,SAM, MA, PPQA, CM
Appendixes
EngineeringREQM, REQD, TS,PI, VER, VAL
Project ManagementPP, PMC, SAMIPM, RSKM, QPM
Process ManagementOPF, OPD, OT,OPP, OID
Process ManagementPAs- Goals- Practices
SupportCM, PPQA, MA, CAR, DAR
Appendixes
CMMI-SE/SWStaged
OverviewIntroductionStructure of the ModelModel TerminologyCapability Levels and Generic Model ComponentsUnderstanding the ModelUsing the Model
CMMI-SE/SWContinuous
15
Equivalent Staging
CMMI provides a mapping to move from continuous to staged
16
Equivalent Staging
17
Equivalent Staging
18
Equivalent Staging
19
Equivalent Staging
20
Process Area Capability Profile
A process area capability profile may be represented by a set of points in two dimensions.–the process dimension
»“What” you do–the capability dimension
»“How well” you do it
Cap
abili
ty(H
ow w
ell)
Process Area (What you do)
21
The Process Dimension
• The values on this axis describe what processes (described within Process Areas) you perform.
Cap
abili
ty
ProcessArea 1
ProcessArea 2
ProcessArea 3
ProcessArea n
Process
22
Process Areas
•Process Areas (PAs) are a cluster of related practices.
•They are the major building blocks in establishing process capability.
•Example PA: “Requirements Management”
•Process Areas has Purpose, Goal, and Practices
23
Goals and Practices
• Goals and Practices are the model elements used to realize the values on both the capability and process dimensions.–Goal
»A high level statement of the outcome to be achieved by effective implementation of a group of practices. (These are “required.”)
–Practice»A description of an action that is necessary
to enact a key element of a process area. (These are “expected,” and “alternate practices” are acceptable.)
24
Continuous Organization of Process Areas
Requirements Management Total 6 PARequirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidation
Engineering
ProjectManagement
Project Planning Total 8 PAProject Monitoring and ControlSupplier Agreement ManagementIntegrated Project Management(IPPD)Integrated Supplier Management (SS)Integrated Teaming (IPPD)Risk ManagementQuantitative Project Management
Organizational Process Focus Total 5 PAOrganizational Process DefinitionOrganizational TrainingOrganizational Process PerformanceOrganizational Innovation and Deployment
ProcessManagement
Configuration Management Total 6 PAProcess and Product Quality AssuranceMeasurement and AnalysisCausal Analysis and ResolutionDecision Analysis and ResolutionOrganizational Environment for Integration (IPPD)
Support
Category Process Area
25
Capability Levels
• A capability level is a well-defined evolutionary plateau describing the capability of a process area.
• There are six capability levels.• Each level is a layer in the foundation for
continuous process improvement.• Thus, capability levels are cumulative, i.e., a
higher capability level includes the attributes of the lower levels.
26
The Capability Levels
5 Optimizing
4 Quantitatively Managed
3 Defined
2 Managed
1 Performed
0 Incomplete
27
An Example Process Area Capability Profile
P r o c e s s A r e aREQM PP PMC etc
543210
C a
p a
b i
l i t
y
28
Capability Representation Practices
• Base practices
• Advanced practices
• All CL1 practices are called base practices
• All higher practices are called advanced practices
• Only Engineering PA contain advance practices
• Some advance practices build on base practices
29
Specific and Generic Goals and Practices
• Specific Goals and Specific Practices– realize the process dimension– therefore, they apply to a particular Process
Area
• Generic Goals and Generic Practices– realize the capability dimension– therefore, they apply across all Process Areas