CIS 376 Bruce R. Maxim UM-Dearborn

Slides:



Advertisements
Similar presentations
Quality control tools
Advertisements

©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Chapter 25 Process Improvement.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Chapter 25 Process Improvement.
IS301 – Software Engineering V:
CIS 376 Bruce R. Maxim UM-Dearborn
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement 1.
Project Management and Software Quality See accompanying Word file “Software PM tools 3”
Seven Quality Tools The Seven Tools
Process Improvement.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
Software Quality Engineering Roadmap
Overview Lesson 10,11 - Software Quality Assurance
8-1 Quality Improvement and Statistics Definitions of Quality Quality means fitness for use - quality of design - quality of conformance Quality is.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement.
Applying the Seven Basic Quality Tools in Software Development
1 Continuous Improvement. 2 1.Overview of the PDCA Problem Solving Cycle. 2.Foundations of the PDCA Cycle 3.Plan Step 4.Do Step 5.Check Step 6.Act Step.
Chapter 24 - Quality Management 1Chapter 24 Quality management.
SOFTWARE PROJECT MANAGEMENT Project Quality Management Dr. Ahmet TÜMAY, PMP.
ISHIKAWA’S BASIC SEVEN TOOLS OF QUALITY
Software Process and Product Metrics
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Project Management Methodology
1 L U N D S U N I V E R S I T E T Projektledning och Projektmetodik, VBEF01 Kristian Widén Tekn. Doktor Avd. För Byggproduktion Inst. För Byggvetenskaper.
CS 4310: Software Engineering
Project Quality Management
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools.
Graphical Analysis. Why Graph Data? Graphical methods Require very little training Easy to use Massive amounts of data can be presented more readily Can.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31 Slide 1 Process Improvement u Understanding, Modelling and Improving the Software Process.
Quality Management Processes Plan Quality Management Perform Quality Assurance Control Quality.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Process Improvement l Understanding, Modelling and Improving the Software Process.
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Metrics – part 2 Mehran Rezaei. Software Metrics Objectives – Provide State-of-art measurement of software products, processes and projects Why.
Seven Quality Tools The Seven Tools –Histograms, Pareto Charts, Cause and Effect Diagrams, Run Charts, Scatter Diagrams, Flow Charts, Control Charts.
©Ian Sommerville 2004 Software Engineering. Chapter 28Slide 1 Chapter 28 Process Improvement.
Measure : SPC Dedy Sugiarto.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Project quality management. Introduction Project quality management includes the process required to ensure that the project satisfies the needs for which.
Project Quality Management.  Define project quality management.  Describe quality planning and its relationship to project scope management.  Discuss.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
6 - 1 Course Title: Production and Operations Management Course Code: MGT 362 Course Book: Operations Management 10 th Edition. By Jay Heizer & Barry Render.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Making knowledge work harder Process Improvement.
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M31 version 5.09Slide 1 SMU CSE.
SOFTWARE PROCESS IMPROVEMENT
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
1 Project Quality Management QA and QC Tools & Techniques Lec#10 Ghazala Amin.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
Process Improvement Understanding, Modelling and Improving the Software Process.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M31 - Version 7.09 SMU CSE 8314 Software Measurement.
Process Improvement IS301 – Software Engineering Lecture # 23 – M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
PROCESS ASSESSMENT AND IMPROVEMENT. Process Assessment  A formal assessment did not seem financially feasible at the onset of the company’s process improvement.
Software Test Metrics When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure,
8.1 Plan Quality Management
Chapter 25 Process Improvement.
Quick Overview The Seven Tools
Quality Tools - 9/18/2018 Quality Tools -
PROCESS IMPROVEMENT TECHNIQUES – AN OVERVIEW PALLAVI CHANDRAJEET BHOR ROLL NO: HPGD/OC14/0741 SPECIALIZATION IN : SUPPLY CHAIN MANAGEMENT WELINGKAR.
Seven Quality Tools The Seven Tools
Chapter 13 Quality Management
Quality Tools - 2/19/2019 Quality Tools -
Seven Quality Tools The Seven Tools
Scatter Diagrams Slide 1 of 4
Presentation transcript:

CIS 376 Bruce R. Maxim UM-Dearborn Process Improvement CIS 376 Bruce R. Maxim UM-Dearborn

Process Improvement Goals Understanding existing processes Introduce process changes to improve quality, reduce costs, or accelerate schedules Industry is demanding increased attention to quality in general Most process improvement work focuses on defect reduction and prevention There are other process attributes that deserve our attention

Process Improvement Attributes - part 1 Understandability - degree to which a process is well defined and understood Visibility - process activities have results that are externally recognizable Supportability - process activities supported by CASE tools Acceptability - defined processes are used and accepted by software engineers

Process Improvement Attributes - part 2 Reliability - process is defined so that errors are avoided or trapped before product errors result Robustness - process can continue despite unexpected problems Maintainability - process can evolve to reflect changing organizational requirements or identified process improvements Rapidity - the time required to complete a system from specification to delivery

Process Improvement Stages Process analysis modeling and quantitative analysis of existing processes Improvement identification quality, cost, and scheduling bottlenecks located Process change introduction modify process to remove bottlenecks Process change training train staff involved in process revision proposals Change tuning process improvements are revised and allowed to evolve

Process Improvement Activities

Process and Product Quality Closely related to one another Good processes are usually required to produce good products In manufacturing applications, process is principle determinant of quality For design-based activities, the capabilities of the designers are also important

Product Quality Factors Development technology for large projects with average capability this is the main determinant of product quality Quality of people involved for small projects the developer capability is the main determinant of product quality Process quality significant for both small and large projects Cost, time, and schedule constraints unrealistic schedules can doom the quality of most products

Process Analysis and Modeling study of existing processes to understand relationships among process components allows comparisons with other processes Process modeling documentation of process in which the tasks, roles, and entities used are recorded best to represent models graphically several different perspectives may be used (e.g. activities, deliverables, etc.) model should be examined for weaknesses, this involves discussion with stakeholders

Process Model Elements - part 1 Activity - (round edged rectangle) has clearly defined objective, entry, and exit conditions Process - (round edged rectangle with shadow) set of coherent activities with agreed upon objective Deliverable - (rectangle with shadow) tangible output of an activity predicted by project plan Condition - (parallelogram) process or activity pre- or post-conditions

Process Model Elements - part 2 Role - (circle with shadow) defined and bounded area of responsibility Exception - (double edged box)) description of how to modify the process if anticipated or unanticipated events occur Communication - (arrow) exchange of information between people and/or machines

Process Model Example

Process Exceptions Process models can’t represent how to handle exceptions key people are lost prior to a critical review failure of e-mail server for several days organizational reorganization request to respond to change requests General procedure is to suspend the process model and follow RMMM plans augmented with the managers own initiatives

Process Measurement Wherever possible quantitative process data should be collected Organizations without process standards may have to be define processes before measurements can be made (since they won’t know what to measure) Process measurements should be used to assess process improvements Organization objectives drive process improvement, not measurements

Process Measurement Classes Time taken to complete process activities e.g. calendar time to complete a milestone Resources required to complete processes or activities e.g. person months Number of event occurrences e.g. number of defects found

Goal Question Metric Paradigm Goals What is the organization trying to achieve? Process improvement deals with goal satisfaction. Questions Concerned with areas of uncertainty related to goals. You need process knowledge to derive questions. Metrics Measurements collected to answer questions

SEI Process Maturity Model Level 1 - Initial essentially uncontrolled Level 2 - Repeatable project management procedures defined and used Level 3 - Defined process management strategies defined and used Level 4 - Managed quality management strategies defined and used Level 5 - Optimizing process improvement strategies defined and used

SEI Process Model Problems Focuses on project management rather than project development Ignores the use of strategies like rapid prototyping Model is intended to represent organizational capability and not practices used on particular projects There may be wide variation in the practices used in a single organization Capability assessment is questionnaire-based

Capability Assessment Process

Process Classification Informal No detailed process model, developers created their own way of doing things Managed defined model drive development process Methodical processes supported by standard development method Supported processes supported by automated CASE tools

Process Tool Support

Defect Removal Effectiveness Defect removal is central to software development One of the top expense items Affects project scheduling Improves product quality

PSP - Defect Density This is the primary defect measure used in PSP Dd = 1000 * D/N D = total number of defects found in all phases of the process N = number of new and changed lines of code in the program

Defect Density Example For a program with 96 new or changed lines of code and 14 defects Dd = 1000 * (14/96) = 145.83 defects/KLOC

Defect Metrics - part 1 Error Detection Efficiency 100%*(#errors found in 1 inspection)/(#errors in product before inspection) Defect Removal Efficiency 100%*(#defects found now)/(#defects found now + #defects found later) Error Detection Percentage 100%*(#inspection errors)/(#inspection errors + #valid discrepancy reports)

Defect Metrics - part 2 Total Defect Containment Effectiveness (TDCE) (#prerelease defects)/(#prerelease defects + #post-release defects) Phase Containment Effectiveness (PCE) (#phase(i) defects)/(#phase(i) defects + #phase(i+x) defects) Effectiveness (E) 100%*N/(N + S) N = #defects found by an activity S = #defects found in subsequent activities

Phase-based Defect Removal Model Defects present at exit of each development phase are estimated This allows us to set realistic targets and assess the costs of reducing error injection rates This is a quality management tool and not a device for estimation of software reliability How would this work in practice?

Assumptions Suppose we decide to create two broad defect removal classes activities that handle defects before code is integrated into the system library (design reviews, inspections, unit testing) formal machine tests after code integration Also assume the same defect removal effectiveness for each phase

Example - part 1 MP = major problems found in before integration PTR = errors found during formal machine tests mu = MP/PTR the higher the value of mu the better Q = defects found after release to customer TD = (MP + PTR + Q) total defects for life of software

Example - part 2 Phase 1 effectiveness E1 = MP/TD MP = E1 * TD E2 = PTR/(TD - MP) PTR = E2 * (TD - MP)

Example - part 3 Some equations that can be useful in quality planning (assuming that E1 = E2) Q = PTR /(mu - 1) Q = MP / [mu * (mu - 1)] Q = TD / (mu * mu) These equations work with either raw or normalized defect values

PSP – Phase Yield Phase yield = 100 * (defects removed during phase)/ (defects in product at phase entry) Note: cannot be computed until project is completed

Phase Yield - Example 5 defects found during code review 3 defects found during compile 2 defects found during unit testing 2 defects found during integration testing Phase yield for compile = 100 * 3 / (3 + 2 + 2) = 42.9 % Phase yield for code review = 100 * 5 /(5 + 3 + 2 + 2) = 41.7 %

Seven Basic Software Quality Tools Checklists (paper forms) used to gather data for later analysis used to confirm that process tasks are complete both simple yes/no and branching questions

Seven Basic Software Quality Tools Pareto Diagram bar chart sorted in descending height order vertical axis labeled with # defects horizontal axis (nominal) labeled with defect cause types software defects tends cluster near related causes

Seven Basic Software Quality Tools Histogram frequency bar graph vertical axis is # defects horizontal axis has ordinal or interval type labels

Seven Basic Software Quality Tools Flowchart pictorial representation of a process breaks down process into its constituent steps can be useful in identifying were errors are likely to be found in the system

Seven Basic Software Quality Tools Scatter diagram (point plots) used with correlation, regression, or statistical modeling vertical axis is # defects horizontal axis some metric (e.g. McCabe’s index)

Seven Basic Software Quality Tools Run chart line graph showing performance of dependent variable (y) over time (x) best used for trend analysis (e.g. arrival of defects during formal machine testing) can plot cumulative dependent variables (S curves)

Seven Basic Software Quality Tools Control chart advanced form of run chart where capability is defined upper and lower control limits (dashed lines) are drawn to alert the user when dependent measure is out of control can plot cumulative dependent variables (S curves) C chart based on # conforming or not R chart based on subgroup ranges (max – min) X bar chart based on subgroup means

Control Chart (C)

Seven Basic Software Quality Tools Cause and effect (fish bone) diagram not widely used in software development, but can be useful shows effect between quality variable and the factors affecting it

Fishbone Diagram