470 likes | 794 Views
Software quality and management. 5. Process oriented approaches towards software quality. SPICE model / ISO 15504 standard. Dr. Balla Katalin. Contents. Continuous maturity models What is SPICE? History of SPICE Elements of SPICE model Dimensions of SPICE model Process dimension
E N D
Software quality and management 5. Process oriented approaches towards software quality. SPICE model / ISO 15504 standard. Dr. Balla Katalin
Contents • Continuous maturity models • What is SPICE? • History of SPICE • Elements of SPICE model • Dimensions of SPICE model • Process dimension • Software life cycle processes: ISO 12207 • V-model • Maturity dimension • SPICE audit Software quality and management - 5.
Maturity models • Staged models • Look to the entire organisation • In their wiev there is one process with different aspects, characteristics • Deal with managerial and technical processes, the technology used, the organisation itself … • Continuous models • Define maturity levels for certain processes (not for the entire organisation), according to different characteristics • The user of the model can decide about the process for which maturity will be checked • „Combined”, integrated models • Combine the two approaches, making use of the most useful elements Software quality and management - 5.
What is SPICE? • Software Process ImprovementandCapability dEtermination • http://www.sei.cmu.edu/iso-15504/ • http://www.sqi.gu.edu.au/spice/ • An international collaborative effort to develop a standard • It has been underway (unofficially) since 1990 and officially since June of 1993 • The (prospective) standard is intended to, among other things, establish a common framework • for expressing the process capability ratings resulting from a 15504-conformant assessment and • to provide a migration path for existing assessment models and methods wishing to become 15504-conformant. Software quality and management - 5.
History of SPICE • Approximately 20 countries are actively contributing resources to this effort. The effort is being managed by a working group ISO/IEC JTC1/SC7/WG10 of the JTC1 subcommittee responsible for software engineering standards, ISO/IEC JTC1/SC7. • JTC1 ISO/IEC JTC1 is a joint ISO and IEC technical committee which deals with information technology. Software quality and management - 5.
History of SPICE • Interest in developing an international standard on software process assessment was sparked by an investigative study sponsored by the U.K. Ministry of Defense (MOD) into methods for assessing the development capability of software suppliers. Software quality and management - 5.
History of SPICE • The study identified and reviewed two dozen existing methods already in use and put forth these findings: • There is a general need to supplement reliance of software procurers on ISO 9001. • There is wide support for a software assessment scheme which is in the public domain, widely recognised, and preferably backed by an international standard. • Some organisations using or developing their own assessment schemes have registered interest in supporting a public domain, standardised scheme, in preference to their own schemes. • An initiative to develop such a scheme would be directed toward continuous process and quality improvement matched to business needs. The initiative would be focused around an international standard on process management which would itself provide a framework for a capability assessment scheme supporting both self-improvement for software suppliers and capability determination as a means of evaluating contract risk. Software quality and management - 5.
The SPICE project • January 1993: standard development has been approved • June 1993: SPICE project was started • SPICE goal and scope: • The SPICE (Software Process Improvement Capability dEtermination) project is an ancillary effort staffed primarily by volunteers from around the world. The SPICE project has three goals: • Assist the standardization effort in its preparatory stage to develop initial working drafts. • Undertake user trials in order to gain early experience data that will form a basis for revision of the published technical reports prior to review as full international standards. • Create market awareness and take-up of the evolving standard. Software quality and management - 5.
Actual state of SPICE • All parts of the 15504 document set have been approved for publication as Technical Reports; 15504-5 will lag behind the other 8 parts by approximately 6 months. Availability can be determined by contacting the authorized standards agent in one’s country (ANSI for the United States) or ISO. The work of WG10 will now focus on progressing the document set to full international standard status; this work will likely take approximately 24 months. • SPICE Trials Around the World • Phase 2 trials have now closed and phase 3 is being planned. • U.S. SPICE Trials • There have been no additional trials reported in the United States since the first one was reported in early 1998. • Expression of interest : Software quality and management - 5.
ISO 15504 elements • ISO/IEC TR 15504-1:1998Information technology -- Software process assessment -- Part 1: Concepts and introductory guide • ISO/IEC 15504-2:2003Information technology -- Process assessment -- Part 2: Performing an assessment • ISO/IEC 15504-2:2003/Cor 1:2004 • ISO/IEC 15504-3:2004Information technology -- Process assessment -- Part 3: Guidance on performing an assessment • ISO/IEC 15504-4:2004Information technology -- Process assessment -- Part 4: Guidance on use for process improvement and process capability determination • ISO/IEC TR 15504-5:1999Information technology -- Software Process Assessment -- Part 5: An assessment model and indicator guidance • ISO/IEC TR 15504-9:1998Information technology -- Software process assessment -- Part 9: Vocabulary Software quality and management - 5.
What is SPICE/ ISO 15504 good for? • It is a framework related to processes and process maturity, summarising the experience of small, medium and large companies worldwide • A framework for • Understanding strengths and weaknesses of processes • SPI and measurement of SPI • Helping the customers understand the maturity of their providers • Helps in harmonising process auditing models Software quality and management - 5.
Elements of SPICE model • Concentrates on individual processes • Input and output • Goal / scope of the process • Activities of the process • Roles and responsibilities • Checkpoints • Process measures • Performance requirements • Competencies needed Process Software quality and management - 5.
SPICE process management • Are the activities connected to individual processes performed (at least informally)? • Is the process properly planned? • Are the activities executed conform to the plan? • Is process execution controlled? • Is process execution monitored, are corrective actions being taken? • Is the process standardised? • Is the process understood quantitatively also? • Is the process continuously improved? Software quality and management - 5.
SPICE maturity levels 5. Optimising 4 . Predictable 3. Established 2. Managed 1. Performed 0. Not performed 5 4 3 2 1 0 Software quality and management - 5.
Process maturity Processes Process maturity levels 5. Optimising 4. Predictable • Primary • Customer related • Engineering • Supporting • Managerial • Organisational 3. Established 2. Managed 1. Performed 0. Not performed Software quality and management - 5.
Dimensions of SPICE model Software quality and management - 5.
Process dimension • Processes = Software life cycle processes !!! Software quality and management - 5.
Process dimension:Software life cycle processes • ISO /IEC 12207: Information Technology - Software life cycle processes • The international standard ISO 12207 is a globally accepted standard for software lifecycle processes. Though not suited for the direct application in a concrete project, it offers a frame that national standards or corresponding process details to be integrated in order to achieve a standard that can be used in an actual case. Furthermore, the ISO 12207 standard includes definitions that can be applied as a basis for a common terminology, even in national standards. • „This is the Process for Building Software In the 21st Century! „ http://www.12207.com/ Software quality and management - 5.
Process dimension:Software life cycle processes • ISO/IEC 12207:1995Information technology -- Software life cycle processes • ISO/IEC 12207:1995/Amd 1:2002 • ISO/IEC TR 15271:1998Information technology -- Guide for ISO/IEC 12207 (Software Life Cycle Processes) • ISO/IEC TR 16326:1999Software engineering -- Guide for the application of ISO/IEC 12207 to project management Software quality and management - 5.
Process dimension:Software life cycle processes • According to ISO 12207, the following processes are possible to execute during software life cycle : Software quality and management - 5.
Process dimension:V-model • /Myers, 1979/ The Art of Software Testing • The testing cycle has been structured to model the development cycle. • /Boehm, 1979/ Guidelines for Verifying and Validating Software Requirements and Design Specifications • "V-chart" which shows the context of verification and validation activities throughout the software lifecycle • /VM 1997/ V-Model 97, Lifecycle Process Model • Lifecycle Process Model -Developing Standard for IT Systems of the Federal Republic of Germany. General Directive No. 250. June 9 • V-model: Regulations setting up all activities, products, and their logical interdependencies during the development and maintenance/modification of systems, realizing the system tasks predominantly by using IT, within the scope o the federal administration. • /Sommerville, 1999/ Software Engineering • V&V Process: is a whole life-cycle process. V&V must be applied at each stage in the software process. Software quality and management - 5.
Process dimension:V-model Boehm,1979/ Guidelines for Verifying and Validating Software Requirements and Design Specifications Software quality and management - 5.
Process dimension:V-model • V&V Process: is a whole life-cycle process. V&V must be applied at each stage in the software process. Has two principal objectives:- The discovery of defects in a system.- The assessment of whether or not the system is usable in an operational situation. (Sommerville, 1999/) Software quality and management - 5.
Process dimension:Conformity between ISO 12207 and V-model Software quality and management - 5.
Process dimension:Conformity between ISO 12207 and V-model • Software Detailed Design SD5.1 - Description of SW Component/Module/Database QA1.2 - Generation the Assessment Plan QA2.1 - Definition of Assessment Methods and Criteria QA4 - Product Assessment PM6 - Phase Review • Software Coding and Testing SD6.1 - Coding of SW ModulesSD6.2 - Realization of DatabaseQA2.3 - Definition of Test CasesQA2.4 - Generation of Assessment ProcedureSD6.3 - Self-Assesment of the SW Module/DatabaseQA4 - Product Assessment • Software Integration SD4.3 - Specification of SW IntegrationSD7 - SW IntegrationQA2.3 - Definition of Test CasesQA2.4 - Generation of Assessment ProcedureQA4 - Product AssessmentPM6 - Phase Review • Software Qualification Testing QA4 - Product AssessmentCM2 - Product and Configuration ManagementCM4.4 - Data BackupPM6 - Phase Review • System Integration SD8 - System IntegrationQA2.3 - Definition of Test CasesQA2.4 - Generation of Assessment ProcedureQA4 - Product Assessment • System Qualification Testing QA4 - Product AssessmentCM2 - Product and Configuration ManagementCM4.4 - Data BackupPM6 - Phase Review • Software Installation SD9 - Transition to Utilization • Software Acceptance Support SD9 - Transition to UtilizationPM6 - Phase Review Software quality and management - 5.
Maturity dimension: process maturity • „Generic practices” are used to determine process maturity. If a process is on a certain level of maturity, the generic practices associated to that maturity level should be there. • If a process is on a certain maturity level, it must satisfy certain goals and must produce certain deliverables. Software quality and management - 5.
Maturity dimension: Characteristics of SPICE maturity levels • Level 1. (performed): • The process is performed, it has no specific characteristics. Software quality and management - 5.
Maturity dimension: Characteristics of SPICE maturity levels • Level 2. (managed): • 2.1. Performance management • Resource needs definition • Process efficiency planning • Implementing the defined activities • Managing execution of the activities • 2.2. Managing work product attribute • Defining the requirements relative to integrity and quality • Definition of the activities needed • Configuration management of work products • Quality management of work products Software quality and management - 5.
Maturity dimension: Characteristics of SPICE maturity levels • Level 3. (established) • 3.1. Process definition • Standard process definition • Standard process customisation • Institutionalisation of standard process • Feedback to standard process • 3.2. Resources connected to the process • Definition of human resource competencies • Defining infrastructural requirements of the process • Ensuring the human resources having the required competencies • Ensuring proper infrastructure Software quality and management - 5.
Maturity dimension: Characteristics of SPICE maturity levels • Level 4. (predictable) • 4.1.: Process measurement • Defining process goals and associated metrics • Ensuring appropriate resources and infrastructure • Gathering defined measurement data • Monitoring if process goals are reached • 4.2. Process control • Defining analysis and control techniques • Ensuring appropriate resources and infrastructure • Analysing existing measurement data • Identifying deviances and taking the appropriate corrective action Software quality and management - 5.
Maturity dimension: Characteristics of SPICE maturity levels • Level 5. (optimising): • 5.1. Process change • Identification and approval of changes needed in the standard process • Ensuring resources needed for institutionalisation • Institutionalising the approved change • Analysing efficiency of the change introduced • 5.2. Continuous improvement • Identifying improvement opportunities • Defining institutionalisation strategy • Institutionalising changes in the customised procedure • Analysing efficiency of the change introduced Software quality and management - 5.
SPICE audit • Working method • Choosing the processes • Questionnaires • Interviews • Report • Process improvement plan • Registration in database • Assessment results: maturity profile for the chosen processes. Software quality and management - 5.
SPICE audit process Software quality and management - 5.
Components of SPICE documents set Software quality and management - 5.
SPICE audit Maturity levels Processes 5. Optimising 4 . Predictable 3. Established 2. Managed 1. Performed 0. Not performed P1 P2 P3 Software quality and management - 5.
SPICE - profile Process Process maturity ..5.2 A1 2.1 3.2. 2.2 Requirement management Supplier management Requirement analysis Planning Coding Testing Software quality and management - 5.
SPICE assessment • SPI plan is an important result of the assessment Software quality and management - 5.
Level 1.: performed process N P W F Remarks 1.1. Process performance 1.1.1. Basic practices needed for the process are in place. SPICE assessment - example Software quality and management - 5.
Level 2.: Managed process N P W F Remarks 2.1. Performance management 2.1.1. Identifying resource needs 2.1.2. Performance planning 2.1.3. Implementing the defined activities 2.1.4. Managing the execution SPICE assessment - example Software quality and management - 5.
SPICE assessment • Evaluation of the results: • Base practice existence based algorithm / or • goal based algorithm • Weighting based on most important drivers Software quality and management - 5.
from „quarter” level 0.0000 1 +0.00 0.1950 2 +0.25 0.3950 3 +0.50 0.5950 4 +0.75 0.7950 Next level + 1 Goal based algorithm • Algorithm for calculating the maturity level : • The attributes „fully”, „widely”, „partially” and „not existing” have fixed values • T – 1, W – 0.666, P – 0.333, N – 0 -this is valid on level 1, on other levels we have other values !!! • According to experience / averages, the results are the following: Software quality and management - 5.
Goals from „quarter” level Evaluation Connected value 0.0000 1 +0.00 All project members are using the appropriate version of the products F 1 0.1950 2 +0.25 The elements have their Checked in / out state F 1 0.3950 3 +0.50 It is possible at any time to produce a complete release or a test configuration W 0,666 0.5950 4 +0.75 Description of configuration elements is constantly updated W 0,666 0.7950 Next level + 1 Possibility for configuration state report exists N 0 Changes can be followed W 0,666 Configuration elements are complete, consistent and correct P 0,333 Configuration elements are fully transparent, and the degree in which they satisfy the requirements can be followed P 0,333 Goal based algorithm: example • Process: configuration management Average: 0,583 Result: 0,50 Software quality and management - 5.
Process Business drivers Effect Maturity level Time dependence Product quality Service quality Costs Weight 30 30 20 20 Project management 3 1 2 3 2,2 2 Quality assurance 1 3 3 2 2,2 1 Configuration management 2 2 2 1 1,8 1 Risk management 2 2 2 2 2,0 1 Subcontractor management 0 2 0 1 0,8 2 Testing 1 3 1 1 1,8 1 Integration 1 2 2 1 1,5 1 Taking into account basic „drivers” - example effect= time dependence x 30 + product qual x 30 + process qual x 20 + cost x 20 100 Importance: 1-3 Software quality and management - 5.
Choosing development direction 5 4 Maturity level 3 Areas for improvement 2 1 0 1 2 3 Effect Software quality and management - 5.
SPICE assessment results • The algorithms are always the basis only. • Final decision is to be taken by the auditors, taking into account all circumstances. Software quality and management - 5.
What we talked about... Metric Quality attribute Definition Product Process Resource Software quality and management - 5.