software development: tools and processes

29
Software Development: Software Development: Tools and Processes Tools and Processes Lecture Lecture - - 5: CMMI Architecture 5: CMMI Architecture

Upload: others

Post on 12-Sep-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Development: Tools and Processes

Software Development: Software Development: Tools and ProcessesTools and Processes

Lecture Lecture --5: CMMI Architecture5: CMMI Architecture

Page 2: Software Development: Tools and Processes

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

Page 3: Software Development: Tools and Processes

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

Page 4: Software Development: Tools and Processes

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

Page 5: Software Development: Tools and Processes

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

Page 6: Software Development: Tools and Processes

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

Page 7: Software Development: Tools and Processes

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

Page 8: Software Development: Tools and Processes

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

Page 9: Software Development: Tools and Processes

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

Page 10: Software Development: Tools and Processes

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

Page 11: Software Development: Tools and Processes

11

CMMI Model Structure

Page 12: Software Development: Tools and Processes

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

Page 13: Software Development: Tools and Processes

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.

Page 14: Software Development: Tools and Processes

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

Page 15: Software Development: Tools and Processes

15

Equivalent Staging

CMMI provides a mapping to move from continuous to staged

Page 16: Software Development: Tools and Processes

16

Equivalent Staging

Page 17: Software Development: Tools and Processes

17

Equivalent Staging

Page 18: Software Development: Tools and Processes

18

Equivalent Staging

Page 19: Software Development: Tools and Processes

19

Equivalent Staging

Page 20: Software Development: Tools and Processes

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)

Page 21: Software Development: Tools and Processes

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

Page 22: Software Development: Tools and Processes

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

Page 23: Software Development: Tools and Processes

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.)

Page 24: Software Development: Tools and Processes

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

Page 25: Software Development: Tools and Processes

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.

Page 26: Software Development: Tools and Processes

26

The Capability Levels

5 Optimizing

4 Quantitatively Managed

3 Defined

2 Managed

1 Performed

0 Incomplete

Page 27: Software Development: Tools and Processes

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

Page 28: Software Development: Tools and Processes

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

Page 29: Software Development: Tools and Processes

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