24
Software Process Assessment and Improvement

Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Embed Size (px)

Citation preview

Page 1: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Software ProcessAssessment and Improvement

Page 2: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Software Process

• Process is what binds people, methods and tools

• A process is defined by:– Process model (ie waterfall, spiral, etc.)

• Phases and timing between phases• Entry and exit criteria for each phase

– Methods for performing the activities within each phase (i.e. object-oriented design, test-driven development, formal inspections, etc.)

– Roles and responsibilities of workers– Workflows (requirements → design → code → test)

Page 3: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Process Issues

• There are good and bad processes

• Processes are more or less effective or mature

• Quality processes lead to quality products

Page 4: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Software Process Assessmentand Improvement

• Software process assessment is used to– Judge the capabilities of potential contractors– Establish a current baseline from which to

start an improvement initiative

• Software process improvement is important to stay competitive, lower costs, improve quality, etc.

Page 5: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

A Desirable Process is:

• Defined

• Measured

• Controllable

• Effective

• Institutionalized

Page 6: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Foundations of Software Process Improvement

• Software process improvement principles and techniques evolved from those used in manufacturing during the industrial revolution

• Based on the work of Shewhart, Deming, Crosby, Juran

• Watts Humphrey and Ron Radice applied these principles of process improvement in manufacturing to software development

Page 7: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Different Process Improvement Frameworks

• Capability Maturity Model Integrated (CMMI)

• ISO 9001

• ISO/IEC 15504 (SPICE)

Page 8: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

CMMI

• Version 1.1 of the CMMI came out in 2002. Version 1.2 came out in 2006. Version 1.3 came out in 2010.

• CMMI integrates existing stand-alone or silo models (CMM, SW-CMM, SE-CMM, Integrated product development maturity model)

Page 9: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

CMMI Process Areas

• CMMI contains 22 process areas:– Project Planning– Configuration Management– Measurement and Analysis– Etc…

• The CMMI supports two different representations of these process areas:– Staged– Continuous

Page 10: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Staged vs. Continuous

Page 11: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Staged

1

2

3

4

5

Process unpredictable, poorly controlled, and reactive

Process characterized for projects and is often reactive

Process characterized for the organization and is proactive

Process measuredand controlled

Focus on continuous process improvement

Optimizing

QuantitativelyManaged

Defined

Initial

Managed

Optimizing

Defined

Page 12: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 13: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

CMMI DEV Staged Representation

Level Focus Process Areas

5 OptimizingContinuousProcess Improvement

Organizational Innovation and DeploymentCausal Analysis and Resolution

4 Quantitatively Managed

Quantitative Management

Organizational Process PerformanceQuantitative Project Management

3 Defined ProcessStandardization

Requirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidationOrganizational Process FocusOrganizational Process Definition (+ IPPD extras)Organizational TrainingIntegrated Project Mgmt (+ IPPD extras)Risk ManagementDecision Analysis and Resolution

Requirements ManagementProject PlanningProject Monitoring and ControlSupplier Agreement ManagementMeasurement and AnalysisProcess and Product Quality AssuranceConfiguration Management

2 ManagedBasicProject Management

1 Initial

Page 14: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Model Components

• Process Areas (PA)– Specific Goals (SG) Required

• Specific Practices (SP) Expected–Typical Work Products

Informative–Sub-practices Informative–Notes

Informative–Discipline Amplifications

Informative–References

Informative

– Generic Goals (GG) Required• Generic Practices (GP) Expected

–Generic Practice Elaborations Informative

Page 15: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model

Example Process Area:Project Planning

Page 16: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 17: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 18: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 19: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 20: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 21: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 22: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 23: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model
Page 24: Software Process Assessment and Improvement. Software Process Process is what binds people, methods and tools A process is defined by: –Process model