660 likes | 1.48k Views
Software Process Assessment 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
E N D
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
Optimizing Optimizing 5 Focus on continuous process improvement Quantitatively Managed Process measuredand controlled 4 Defined Defined Process characterized for the organization and is proactive 3 Managed Process characterized for projects and is often reactive 2 Initial Process unpredictable, poorly controlled, and reactive 1 Staged
Level Focus Process Areas Continuous Process Improvement Organizational Innovation and Deployment Causal Analysis and Resolution 5 Optimizing Organizational Process Performance Quantitative Project Management 4 Quantitatively Managed Quantitative Management Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition (+ IPPD extras) Organizational Training Integrated Project Mgmt (+ IPPD extras) Risk Management Decision Analysis and Resolution Process Standardization 3 Defined Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Basic Project Management 2 Managed 1 Initial CMMI DEV Staged Representation
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