software process assessment and improvement. software process process is what binds people, methods...
TRANSCRIPT
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