Software Engineering Inspection Models Continued

Size: px
Start display at page:

Download "Software Engineering Inspection Models Continued"

Transcription

1 Software Engineering Inspection Models Continued Structure Review of the CMM/CMMI model /CMMI model Steps/Levels Management views of levels CMMI context Capability Maturity Models SEI developed the CMM v for DOD contractors A means of assessing the software development capabilities of DOD sub-contractors Purpose to maximise customer satisfaction Process based model The means by which people, procedures, methods, equipment, and tools are integrated to produce a desired end result (SEI) CMMI Process Improvement Framework Integration of earlier models(p-cmm, SPICE, Bootstrap model) An accepted industry wide approach to improve processes within a company Two types Staged Organisations rated against a pre-defined set of process areas that offer stability. Each CMM level will have key process areas and they address key areas for that maturity level e.g. Software project planning is a CMM level 2 key area. Continuous Focuses on improving specific process areas Does not categorise an organisation according to generic levels Each practice is assessed Companies choose the process they wish to improve. CMM Staged Relies on measurement Process of continuous improvement Description of stages of organisational development Includes: setting goals, identifying priorities, predicting performance, bench marking. Not definitive Customer satisfaction orientated CMM Staged Comprises Maturity levels, goals, key process areas, common features and key practices Process areas are defined (areas that are important for improvement) Goals what the company is aiming for in each of the defined process areas. 1

2 The model The model CMM Maturity Levels Managed (4) Optimising(5) CMMI Maturity Levels *Quantitatively Managed (4) Optimising(5) Defined (3) Defined (3) Repeatable(2) *Managed(2) Initial (1) Initial (1) i Maturity levels Key process areas Common features Key practices Process capability Goals Implementation Activities Maturity levels Process capability How mature the development process is will indicate how capable it is to develop high quality systems. Key process areas Goals Common features Implementation Clusters of related activities that when performed collectively achieve a set of goals considered important for enhancing process maturity. Each CMM level will have key process areas and they address key areas for that maturity level. Eg Software project planning is a CMM level 2 key area. Common features of how the key process areas have been implemented are apparent. E.g common features include: commitment to perform (senior management commitment), ability to perform (assigning resources), activities performed (plans and procedures exist) and verification of implementation (reviews and audits). 2

3 Key practices Activities The actual activities that contribute to the effective implementation of a key process area. Eg. A key practice of project planning is size estimating. Example: Maturity Level: 2 - Repeatable Key process area: Goal: Common feature: Key practice: Software Project Planning 1. Software estimates are documented Activities performed 9. Estimates for the size of the software... The initial level The initial level (cont.) Unstable, chaotic, disorganised Performance by heroics Depends on the quality of staff Everything driven by schedule priority Unpredictable Believe their problems are technical I d rather have it wrong than late (PM) Maintenance a big problem Behaviour in a crisis a good indicator Do not value QC activities No compliance mechanisms The repeatable level The process is visible at defined points Products are controlled Rigorous project management Project rather than process understanding Bad at introducing a new tool or method They think they re at level 4! The repeatable level (cont.) configuration management quality assurance subcontract management project tracking project planning requirements management 3

4 The defined level The defined level (cont.) To control a process it must be understood Identify inputs and their affect Everyone agrees on processes and their role The process is visible throughout Consistent implementation Basis for improvement Little data collection Key processes: peer reviews, intergroup coordination, integrated software management, training, process definition and focus The managed level The managed level (cont.) Applying statistical process control (SPC) Explicitly addressing customer needs The process is quantitatively understood Potential cost problem quality management quantitative process management The optimised level The optimised level (cont.) Automate, pilot new technologies Identify and eliminate chronic causes of poor performance Continually improving the process Data collection an integral part of the process Performance of projects routinely evaluated process change management technology change management defect prevention 4

5 CMM context Post to Class Discussion Software process improvement in context of strategic plans business objectives company structure technologies in use social culture management system Read Somerville Chapter on Process Improvement Research CMMI What are the main levels and what do they indicate. List the measurement data you would expect companies at each level of the CMM to collect List the type of improvement goals you would expect project managers to have at each level of the CMMI Find references to organisations with a CMMI grading 5