Software Process Assessment and Improvement. Software Process Process is what binds people, methods...

Preview:

Citation preview

Software ProcessAssessment and Improvement

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)

Process Issues

• There are good and bad processes

• Processes are more or less effective or mature

• Quality processes lead to quality products

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.

A Desirable Process is:

• Defined

• Measured

• Controllable

• Effective

• Institutionalized

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

Different Process Improvement Frameworks

• Capability Maturity Model Integrated (CMMI)

• ISO 9001

• ISO/IEC 15504 (SPICE)

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)

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

Staged vs. Continuous

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

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

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

Example Process Area:Project Planning

Recommended