SPM (5e) Software process quality© The McGraw-Hill Companies, 2009 1 Software Project Management Fifth Edition Chapter 13.2 Software process quality.

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

CSE 470 : Software Engineering The Software Process.
Chapter 2 The Software Process
©2006 OLC 1 Process Management: The Foundation for Achieving Organizational Excellence Process Management Implementation Worldwide.
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Software Development Process Models. The Waterfall Development Model.
Software project management (intro) Quality assurance.
Software Testing and Quality Assurance
Capability Maturity Model (CMM) in SW design
1 R&D SDM 1 Software Project Management Capability Maturity Model 2009 Theo Schouten.
Chapter 24 - Quality Management
Capability Maturity Model
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Software Integration and Documenting
What is Business Analysis Planning & Monitoring?
Chapter : Software Process
Process: A Generic View
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
Software Project Management Fifth Edition
Integrated Capability Maturity Model (CMMI)
Introduction to Software Quality Assurance (SQA)
N By: Md Rezaul Huda Reza n
Software Quality Assurance Activities
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
S Q A.
Chapter 2 Process: A Generic View
Software Engineering Lecture # 17
1 Activities covered by project management Feasibility study Is project technically feasible and worthwhile from a business point of view? Planning Only.
10/16/2015Bahill1 Organizational Innovation and Deployment Causal Analysis and Resolution 5 Optimizing 4 Quantitatively Managed 3 Defined 2 Managed Continuous.
Software Process Models
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Software Process Assessment and Improvement
Quality Concepts within CMM and PMI G.C.Reddy
Capability Maturity Model CS3300 Fall The Problem Contractors over budget and late. Need a way to rank how likely a software company is to deliver.
1 ISO 9001:2000 ISO 9001 is the creation of the International Organisation for Standardisation (ISO), a Swiss-based federation of national standards bodies.ISO.
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Software Engineering - I
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Process: A Generic View
1 Agenda for measurement r1. CMMI r2. Other thrusts.
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
SOFTWARE PROCESS IMPROVEMENT
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
MSA Orientation – v203a 1 What’s RIGHT with the CMMI?!? Pat O’Toole
Project Management Strategies Hidden in the CMMI Rick Hefner, Northrop Grumman CMMI Technology Conference & User Group November.
IT Project Management, Third Edition Chapter 8 1 Chapter 5: Project Quality Management.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Certification: CMMI Emerson Murphy-Hill. Capability Maturity Model Integration (CMMI) Creation of the Software Engineering Institute (SEI) at Carnegie.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Software Quality Control and Quality Assurance: Introduction
School of Business Administration
CS4311 Spring 2011 Process Improvement Dr
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Software Engineering (CSI 321)
د. حنان الداقيز خريف /28/2016 Software Quality Assurance ضمان جودة البرمجيات ITSE421 5 – The components of the SQA.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
CMMI – Staged Representation
Quality Management Lecture 9 1/2/2019.
Capability Maturity Model
Chapter # 8 Quality Management Standards
Capability Maturity Model
Chapter 4: Software Process Models
Presentation transcript:

SPM (5e) Software process quality© The McGraw-Hill Companies, Software Project Management Fifth Edition Chapter 13.2 Software process quality

SPM (5e) Software process quality© The McGraw-Hill Companies, BS EN ISO 9001:2000 and quality management systems ISO 9001 is one of a family of standards that specify the characteristics of a good quality management system (QMS) Can be applied to the creation of any type of product or service, not just IT and software Does NOT set universal product/service standards DOES specify the way in which standards are established and monitored

SPM (5e) Software process quality© The McGraw-Hill Companies, ISO 9001:2000 principles 1. Understanding the requirements of the customer 2. Leadership to provide unity of purpose and direction to achieve quality 3. Involvement of staff at all levels 4. Focus on the individual which create intermediate and deliverable products and services

SPM (5e) Software process quality© The McGraw-Hill Companies, ISO 9001:2000 principles 5. Focus on interrelation of processes that deliver products and services 6. Continuous process improvement 7. Decision-making based on factual evidence 8. Mutually beneficial relationships with suppliers

SPM (5e) Software process quality© The McGraw-Hill Companies, ISO 9001:2000 cycle Establish requirements + acceptance criteria + quality levels Design product Design production process + quality process build quality control process improvement customer

SPM (5e) Software process quality© The McGraw-Hill Companies, The need to improve can everything be improved at one? no, must tackle the most important things first ‘poor companies are poor at changing’ some later improvements build on earlier ones but there are problems improvement takes up time and money ‘improvement’ may simply be more bureaucracy!

SPM (5e) Software process quality© The McGraw-Hill Companies, Capability maturity model created by Software Engineering Institute, Carnegie Mellon University CMM developed by SEI for US government to help procurement Watts S. Humphrey ‘Managing the software process’ Addison Wesley Assessment is by questionnaire and interview

SPM (5e) Software process quality© The McGraw-Hill Companies, Capability maturity model 2 Different versions have been developed for different environments e.g. software engineering New version CMMI tries to set up a generic model which can be populated differently for different environments

SPM (5e) Software process quality© The McGraw-Hill Companies, Process maturity levels 1. initial 2. repeatable 3. defined 4. managed 5. optimizing basic management control process definition process management process control A company is at level 1 by default i.e. there is no level zero

SPM (5e) Software process quality© The McGraw-Hill Companies, A repeatable model inputs (requirements) control (budget, schedule, standards) resources (staff, tools) construct the system outputs (code, documentation)

SPM (5e) Software process quality© The McGraw-Hill Companies, Repeatable model KPAs To move to this level concentrate on: Configuration management Quality assurance Sub-contract management Project planning Project tracking and oversight Measurement and analysis

SPM (5e) Software process quality© The McGraw-Hill Companies, A defined process design & define code & unit test integrate/ system test requirements design methods tools, staff etc system design tested modules inspection criteria tools, staff etc. test plans tools, staff etc. system software

SPM (5e) Software process quality© The McGraw-Hill Companies, Repeatable to defined KPAs Concentrate on Requirements development and technical solution Verification and validation Product integration Risk management Organizational training Organizational process focus (function) Decision analysis and resolution Process definition Integrated project management

SPM (5e) Software process quality© The McGraw-Hill Companies, a managed process design & define code & unit test integrate/ system test requirements design methods tools, staff etc system design tested modules inspection criteria tools, staff etc. test plans tools, staff etc. system software manage directives design defects directives coding errors directives system errors

SPM (5e) Software process quality© The McGraw-Hill Companies, Defined to managed KPAs Concentrate on: Organizational process performance Quantitative project management

SPM (5e) Software process quality© The McGraw-Hill Companies, design & define code & unit test integrate/ system test requirements design methods tools, staff etc system design tested modules inspection criteria tools, staff etc. test plans tools, staff etc. system software manage directives design defects directives coding errors directives system errors Optimize old control/development system new control/development system Optimizing

SPM (5e) Software process quality© The McGraw-Hill Companies, Managing to optimizing: KPAs concentrate on: Causal analysis and resolution Organizational innovation and deployment

SPM (5e) Software process quality© The McGraw-Hill Companies, Some questions about CMMI suitable only for large organizations? e.g. need for special quality assurance and process improvement groups defining processes may not be easy with new technology how can we plan when we’ve not used the the development method before? higher CMM levels easier with maintenance environments? can you jump levels? (HP level 5 in India)

SPM (5e) Software process quality© The McGraw-Hill Companies, ISO/IEC IT process assessment To provide guidance on the assessment of software development processes Process Reference Model: Needs a defined set of processes that represent good practice to be the benchmark ISO is the default reference model Could use others in specific environments

SPM (5e) Software process quality© The McGraw-Hill Companies, ISO performance attributes CMMI levelISO incomplete initial1.1.process performance – achieves defined outcome repeatable2.1 process management – it is planned and monitored 2.2 work product management – control of work products

SPM (5e) Software process quality© The McGraw-Hill Companies, ISO performance attributes - contd CMMIISO Defined3.1. Process definition 3.2. Process deployment Managed4.1. Process measurement 4.2. Process control Optimizing5.1. Process innovation 5.2. Process optimization

SPM (5e) Software process quality© The McGraw-Hill Companies, Process Reference Model A defined standard approach to development Reflects recognized good practice A benchmark against which the processes to be assessed can be judged ISO is the default model

SPM (5e) Software process quality© The McGraw-Hill Companies, IS Process Assessment For each process in the relevant Process Reference Model For each set of attribute level criteria Assess whether: N: not achieved 0-15% P: partially achieved >15%-50% L: largely achieved >50%-85% F: fully achieved >85%

SPM (5e) Software process quality© The McGraw-Hill Companies, ISO performance indicators This is just an example of how indicators for each level might be identified 1.Performance Descriptions of maximum and minimum expected input values exist 2.1 Performance management A plan of how expected input variable ranges are to be obtained exists which is up to date

SPM (5e) Software process quality© The McGraw-Hill Companies, ISO performance indicators Work product management There are minutes of a meeting where the input requirements document was reviewed and corrections were mandated 3.1 Process definition A written procedure for input requirements gathering exists 3.2 Process deployment A control document exists that is signed as each part of the procedure is completed

SPM (5e) Software process quality© The McGraw-Hill Companies, Process measurement Collected measurement data can be collected e.g. number of changes resulting from review 4.2. Process control Memos relating to management actions taken in the light of the above ISO performance indicators 2

SPM (5e) Software process quality© The McGraw-Hill Companies, Process innovation Existence of some kind of ‘lessons learnt’ report at the end of project 5.2. Process optimization Existence of documents assessing the feasibility of suggested process improvements and which show consultation with relevant stakeholders ISO performance indicators 3

SPM (5e) Software process quality© The McGraw-Hill Companies, Techniques to improve quality -Inspections when a piece of work is completed, copies are distributed to co-workers time is spent individually going through the work noting defects a meeting is held where the work is then discussed a list of defects requiring re-work is produced

SPM (5e) Software process quality© The McGraw-Hill Companies, Inspections - advantages of approach an effective way of removing superficial errors from a piece of software motivates the software developer to produce better structured and self-descriptive code spreads good programming practice enhances team-spirit the main problem maintaining the commitment of participants

SPM (5e) Software process quality© The McGraw-Hill Companies, ‘Clean-room’ software development Ideas associated with Harlan Mills at IBM Three separate teams: 1. Specification team – documents user requirements and usage profiles (how much use each function will have) 2. Development team – develops code but does not test it. Uses mathematical verification techniques 3. Certification team – tests code. Statistical model used to decide when to stop

SPM (5e) Software process quality© The McGraw-Hill Companies, Formal methods Use of mathematical notations such as VDM and Z to produce unambiguous specifications Can prove correctness of software mathematically (cf. geometric proofs of Pythagoras’ theorem) Newer approach use Object Constraint Language (OCL) to add detail to UML models Aspiration is to be able to generate applications directly from UML+OCL without manual coding – Model Driven Architectures (MDA)

SPM (5e) Software process quality© The McGraw-Hill Companies, Testing: the V-process model This shown diagrammatically on the next slide It is an extension of the waterfall approach For each development stage there is a testing stage The testing associated with different stages serves different purposes e.g. system testing tests that components work together correctly, user acceptance testing that users can use system to carry out their work

SPM (5e) Software process quality© The McGraw-Hill Companies, Testing: the V-process model

SPM (5e) Software process quality© The McGraw-Hill Companies, Black box versus glass box test Glass box testing The tester is aware of the internal structure of the code; can test each path; can assess percentage test coverage of the tests e.g. proportion of code that has been executed Black box testing The tester is not aware of internal structure; concerned with degree to which it meets user requirements

SPM (5e) Software process quality© The McGraw-Hill Companies, Test plans Specify test environment In many cases, especially with software that controls equipment, a special test system will need to be set up Usage profile failures in operational system more likely in the more heavily used components Faults in less used parts can lie hidden for a long time Testing heavily used components more thoroughly tends to reduce number of operational failures

SPM (5e) Software process quality© The McGraw-Hill Companies, Management of testing The tester executes test cases and may as a result find discrepancies between actual results and expected results – issues Issue resolution – could be: a mistake by tester a fault – needs correction a fault – may decide not to correct: off-specification a change – software works as specified, but specification wrong: submit to change control

SPM (5e) Software process quality© The McGraw-Hill Companies, Decision to stop testing The problem: impossible to know there are no more errors in code Need to estimate how many errors are likely to be left Bug seeding – insert (or leave) known bugs in code Estimate of bugs left = (total errors found)/(seeded errors found) x (total seeded errors)

SPM (5e) Software process quality© The McGraw-Hill Companies, Alternative method of error estimation Have two independent testers, A and B N 1 = valid errors found by A N 2 = valid errors found by B N 12 = number of cases where same error found by A and B Estimate = (N 1 × N 2 )/ N 12 Example: A finds 30 errors, B finds 20 errors. 15 are common to A and B. How many errors are there likely to be?

SPM (5e) Software process quality© The McGraw-Hill Companies, Quality plans quality standards and procedures should be documented in an organization’s quality manual for each separate project, the quality needs should be assessed select the level of quality assurance needed for the project and document in a quality plan

SPM (5e) Software process quality© The McGraw-Hill Companies, typical contents of a quality plan scope of plan references to other documents quality management, including organization, tasks, and responsibilities documentation to be produced standards, practices and conventions reviews and audits

SPM (5e) Software process quality© The McGraw-Hill Companies, more contents of a quality plan testing problem reporting and corrective action tools, techniques, and methodologies code, media and supplier control records collection, maintenance and retention training risk management