SPC Training Material Ver 4.0

download SPC Training Material Ver 4.0

of 56

Transcript of SPC Training Material Ver 4.0

  • 8/10/2019 SPC Training Material Ver 4.0

    1/56

    TCS Confidential Presentation1

    Statistical Process Control Version 4.0July 2001

    Statement of ConfidentialityThis Training material contains information that is proprietary and confidential to

    TATA Consultancy Services.

  • 8/10/2019 SPC Training Material Ver 4.0

    2/56

    TCS Confidential Presentation2

    Course CoverageThis course on SPC covers the following topics:

    Overview of basic conceptsExploration on Process and Product QualityQuantitative Process Management/Software QualityManagement overview, Quality GoalsShewart/Deming Measurement Process and SiteImplementationComputation Formulas for Individuals XmR and u-chartsControl Chart Pattern AnalysisControl Limit Drawing Guidelines

  • 8/10/2019 SPC Training Material Ver 4.0

    3/56

    TCS Confidential Presentation3

    What is a Process? Process applies to any sequence of stepsperformed for a given purpose [IEEE -STD-610]whether they are the software development

    process or a subset within the softwaredevelopment processProcess implies the way we do things. In thesoftware context, it implies the way we do

    software. Processes produce two outputs:Product of serviceData

  • 8/10/2019 SPC Training Material Ver 4.0

    4/56

    TCS Confidential Presentation4

    QPM and SQMWhile QPM focuses on quantitativelymanaging the process quality, Software

    Quality Management (SQM) focuses onmanaging the product quality.

    QPM Process Quality SQM Product Quality

  • 8/10/2019 SPC Training Material Ver 4.0

    5/56

    TCS Confidential Presentation5

    Process and Product QualityProcess quality refers to the quantification of processcharacteristics whose values indicate a degree of quality ofthe underlying process

    For example, we can use Review Effectiveness to quantifythe efficiency of the review process , or the ScheduleSlippage to quantify the efficiency of our process by whichwe deliver our products in timeProduct quality refers to the quantification of product

    characteristics whose values indicate a degree of quality ofthe productFor example, we can use Defect Density to quantify thequality of our software deliverables ( how many defects arewe delivering?)

  • 8/10/2019 SPC Training Material Ver 4.0

    6/56

    TCS Confidential Presentation

    6

    Why Quantitative Management?

    Quantitative management is about makingdecisions based on sound informationQuantitative management is aboutmanagement by fact Facts are derived out of information Information is the interpretation of data Data comes from processes

  • 8/10/2019 SPC Training Material Ver 4.0

    7/56

  • 8/10/2019 SPC Training Material Ver 4.0

    8/56TCS Confidential Presentation

    8

    Quantitative Process ManagementQuantitative Process Management involves:1. Establishing goals for the project s defined software process 2. Taking measurements of process performance (project data)3. Analyzing these measurements4. Making adjustments to maintain process performance

    (project s UCL and LCL) within acceptable limits

    The organisation collects data from the software projects anduses these data to come up with the PCB of the OSSP. PCBdescribes the range of expected results from following asoftware process. These PCB data are used by the projectsto analyse the performance of the projects defined software

    process

  • 8/10/2019 SPC Training Material Ver 4.0

    9/56TCS Confidential Presentation

    9

    Software Quality ManagementThe purpose of Software Quality Management is todevelop a quantitative understanding of the quality

    of the project s software products and achievequality goals.SQM involves:1. Defining quality goals for the software products

    2. Establishing plans to achieve these goals3. Monitoring and adjusting software plans, work

    products, activities and the quality goals to satisfy theneeds and desires of the customer and end user

  • 8/10/2019 SPC Training Material Ver 4.0

    10/56TCS Confidential Presentation

    10

    What is a Quality Goal?

    Quality Goals apply to the SQM Key Process

    Area1. A quality factor is defined for the softwareproduct

    2. A quantitative measure for the factor is

    established3. A target or desired value of the factor is

    established - this constitutes the Quality Goal

  • 8/10/2019 SPC Training Material Ver 4.0

    11/56TCS Confidential Presentation

    11

    Scenario 1: A system must be designed such that its backend response time is not more than 5

    milliseconds.Here:

    Quality factor = Performance(Responsiveness)Quality goal = < 5 milliseconds

    What is a Quality Goal?

  • 8/10/2019 SPC Training Material Ver 4.0

    12/56TCS Confidential Presentation

    12

    Quality Goal - ExampleScenario 2:

    A module that is to be delivered should nothave more than 5 defects/KLOC at the timeof delivery

    Here:Quality factor = Reliability

    Quality goal = < 5 defects/KLOC

  • 8/10/2019 SPC Training Material Ver 4.0

    13/56TCS Confidential Presentation

    13

    QPM and SQM - Integrated ViewQuantitative Process Management

    Focuses on Process Quality

    Process performance ismeasured

    Measurements on processmetrics result in changes to thesoftware process (OPD)

    Software Quality Management

    Focuses on Product Quality

    Product quality is measured

    Measurements on qualitygoals result in changes tosoftware quality plan, workproducts, activities

  • 8/10/2019 SPC Training Material Ver 4.0

    14/56TCS Confidential Presentation

    14

    QPM and SQM - Implementation An integrated implementation of the key practices ofQPM and SQM is followed.

    Process MetricsReview Effectiveness % Rework Effort% Schedule slippage % Review Effort% Effort slippage %Size Deviation

    Product MetricsDefect density% Bad FixesTDCE

  • 8/10/2019 SPC Training Material Ver 4.0

    15/56TCS Confidential Presentation

    15

    QPM and SQM - Implementation

    SQM and QPM activities are outlined in the Metrics Section ofthe Software Quality Assurance Plan or UPP.

    Branch level Targets are used as performance limits for theprocess metrics and quality goals for the product metricsOther product quality goals other than the ones described maybe defined for projects:

    Example:Productivity

  • 8/10/2019 SPC Training Material Ver 4.0

    16/56TCS Confidential Presentation

    16

    Shewart/Deming Cycle, Measurement Process and Site Implementation

    Shewart/Deming Cycle Activity in the software measurementprocess Purpose

    Plan Identify scope, define procedures Establish a purpose, plan, andprocedure for measurement tied toorganizational goals

    Do Collect data Execute the plan to collect the data

    Check Analyze the data Analyze the data to determine theprogress towards measurementgoals

    Act Evolve process Make decisions based on theprogress towards goals andrecommend improvements on themeasurement process being used

  • 8/10/2019 SPC Training Material Ver 4.0

    17/56TCS Confidential Presentation

    17

    What is Statistical Process Control?

    Statistical Process Control (SPC) is a method todefine operational limits for acceptable variation inprocess data, and to examine the processperformance in absolute statistical terms

    SPC and its associated control charts weredeveloped by Walter A Shewart in the 1920s togain control of production costs and quality

  • 8/10/2019 SPC Training Material Ver 4.0

    18/56TCS Confidential Presentation

    18

    What is new in SPC? Statistical Process Control is NOT a new concept

    SPC is a widely used technique in other domains ofengineering - such as manufacturing.

    What is new is the application of statistical processcontrol techniques to Software Engineering andSoftware Project Management

  • 8/10/2019 SPC Training Material Ver 4.0

    19/56TCS Confidential Presentation

    19

    Process Capability

    3s3s

    Projects

    LCL

    Projects

    UCL

    BranchsUCL

    BranchsLCL

    ProcessCapabilityBaseline

    Stretched Targets

    LST UST

    All points within projects

    fixed UCL/LCL impliesprocess is stable

    All points within branchs

    fixed UCL/LCL (PCB)implies process is capable

  • 8/10/2019 SPC Training Material Ver 4.0

    20/56TCS Confidential Presentation

    20

    Basic Definitions UCL : Upper Control Limit

    LCL : Lower Control Limit

    USL : Upper Specification Limit

    LSL : Lower Specification Limit

    UST : Upper Stretched TargetLST : Lower Stretched Target

    PCB: Process Capability Baseline

    When PCB isestablished,the Spec Limits of the

    centre are usually set asthe control limits

    derived as per the PCB

    Set by Centre Head as aLong term Goal

    Not derived from data

    Derived from data

  • 8/10/2019 SPC Training Material Ver 4.0

    21/56TCS Confidential Presentation

    21

    What is an Outlier?

    In simple terms, it is a data point that fallsoutside the Control Limits. It indicatesdisturbance or abnormality in the process.

  • 8/10/2019 SPC Training Material Ver 4.0

    22/56

    TCS Confidential Presentation

    22

    Basic Definitions A process is said to be stable if there are no outliers wrt UCL

    and LCL of the process. If points lie outside the control

    limits, the process is unstable and is said to be out of

    control.

    A process is said to be capable if there are no outliers wrt

    Specification Limits.

    SEPG establishes Process Capability Baseline(PCB) when the

    process is stable and Capable .This is verified at the end of

    every three months

  • 8/10/2019 SPC Training Material Ver 4.0

    23/56

    TCS Confidential Presentation

    23

    How do you carry out the Process

    Measurement and Analysis Activities in theprojects?

  • 8/10/2019 SPC Training Material Ver 4.0

    24/56

    TCS Confidential Presentation

    24

    SPC Analysis at project Level

    Analyze and Correct Process andthen Prevent it from Recurring

    Now the Process is said to bestable at the project level

    Analyze and Correct outliers wrtSpec Limits

    No Outliers wrt Spec Limits,Process is Stable and Capable

    Now Fix the UCL and LCL at the project level as Process

    Performance Baseline(Fixed UCLand LCL)Continue for the next month

    Look for any outlier wrt ProjectsControl limits

    Collect Process Performance data

  • 8/10/2019 SPC Training Material Ver 4.0

    25/56

    TCS Confidential Presentation

    25

    How are Process Measurement and Analysis

    Activities carried out at the organization

    level?

  • 8/10/2019 SPC Training Material Ver 4.0

    26/56

    TCS Confidential Presentation

    26

    SPC Analysis at Organisation Level SEPG collects data from projects

    on a monthly basis

    SEPG consolidates data

    SEPG looks for any Outliers wrtcurrent CLs and Spec Limits of

    the Organisation

    SEPG along with PLs analyzesand corrects these outliers

    SEPG fixes the Control Limitsand they form Spec Limits forthe later months

    Projects in turn use the SpecLimits as their targets (USL and

    LSL )

    Spec Limitsare

    Quality Goals

  • 8/10/2019 SPC Training Material Ver 4.0

    27/56

    TCS Confidential Presentation

    27

    Process Improvement and Distribution Spread

    0

    0.002

    0.004

    0.006

    0.008

    0.01

    0.012

    0.014

    0.016

    0.018

    0.02

    -150 -100 -50 0 50 100 150 200 250

    Metricvalue

    P r o

    b a

    b i l i t y

    0

    0.002

    0.004

    0.006

    0.008

    0.01

    0.012

    0.014

    0.016

    0.018

    0.02

    -150 -100 -50 0 50 100 150 200 250

    Metr icv alu e

    P r o b a b i l i t

    0

    0.005

    0.01

    0.015

    0.02

    0.025

    0.03

    0.035

    0.04

    -150 -100 -50 0 50 100 150 200 250

    Metricvalue

    P r o b a b i l i t y

    Process Improvements

    More Process Improvements

    The bell-curve becomes:Taller Thinner with more process improvements

  • 8/10/2019 SPC Training Material Ver 4.0

    28/56

    TCS Confidential Presentation

    28

    Types of SPC charts

    Run ChartsControl charts

    X-mR chart Attribute charts p-chart np-chart

    c-chart u-chart z-chart

    Not all SPC techniques may be equally applicable

    for software processes

  • 8/10/2019 SPC Training Material Ver 4.0

    29/56

    TCS Confidential Presentation

    29

    Computation formulae for theIndividuals X-mR chart

    Characteristic:Each individual measurement is used andplottedMoving range values are absolute values of

    the present measurement minus the previousmeasurement

  • 8/10/2019 SPC Training Material Ver 4.0

    30/56

    TCS Confidential Presentation

    30

    Computation formulas for theIndividuals X-mR chart

    X-bar = X-avg = X/nR-bar = R-avg = R/(n-1)

    UCL [X] = X-bar + 3*Sigma= X-bar + 3*R-Bar/d2 where d2 = 1.128= X-bar + 2.66 * R-bar

    LCL [X] = X-bar 2.66 * R-barUCL [mR] = 3.267 * R-barLCL [mR] = 0 * R-bar = 0

  • 8/10/2019 SPC Training Material Ver 4.0

    31/56

    TCS Confidential Presentation

    31

    Some control charts - Organisation

    LevelTCS, Bangalore -

    sensitive and confidentialdata

    X Chart Schedule Slippage

    -20

    -15

    -10

    -5

    0

    5

    10

    15

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

    Components

    % S

    c h S l i p p a g e

    Slippage/component Xbar Current UCL of the ProjectCurrent LCL of the Project UST (Upper Stretch Target) Project's Prev (Fixed) UCLProject's Prev (Fixed) LCL Upper Spec Limit Low er Spec LimitLST (Low er Stretch Target)

  • 8/10/2019 SPC Training Material Ver 4.0

    32/56

    TCS Confidential Presentation

    32

    Causes of Variation Random or Common

    Normally, we cannot do anything to change thisContinuously active and part of the processProcess performance noise

    Special or AssignableWe can do something to change this

    Not always active or part of the process Are extraordinary events Process non performance signals

  • 8/10/2019 SPC Training Material Ver 4.0

    33/56

    TCS Confidential Presentation

    33

    System Causes of Variation

    When variation is due only to system causes andthere is a sufficient volume of data, the variationswill tend to take a normal (bell shaped) distributioncentered around a middle measureIf special causes are present, the curve will bedistorted and lose its normal distribution

  • 8/10/2019 SPC Training Material Ver 4.0

    34/56

    TCS Confidential Presentation

    34

    Special Causes of Variation

    identifying variations in performance that are outside the boundsof process capability; i. e., the normal range of processperformanceidentifying patterns in system variations above or below theaverage

    Both require attention and potentially corrective action

    average

  • 8/10/2019 SPC Training Material Ver 4.0

    35/56

    12/29/2014 TCS Confidential Presentation

    35

    How to Interpret?

    Special causesIs it explainable ? (PL, GL to investigate)Can we prevent recurrence of it?

    Common causesPareto, FishboneCorrective actions at Project Level and/or Branch Level

  • 8/10/2019 SPC Training Material Ver 4.0

    36/56

    12/29/2014 TCS Confidential Presentation

    36

    Examples

    Special causesShifts in the quality of raw materialsInadequately trained peopleChanges to work environmentstool failures, altered methods, failures to follow theprocess, etc.,

    Common causesProblem in the processProcess is not clearly defined

  • 8/10/2019 SPC Training Material Ver 4.0

    37/56

    TCS Confidential Presentation

    37

    Control & Specification Limits

    OK Not OK

    stable and capable stable but not capable

  • 8/10/2019 SPC Training Material Ver 4.0

    38/56

    TCS Confidential Presentation

    38

    Using control charts to correctthe process

    Correcting the process involves control and/or:removal of assignable causes

    use of the chart as a dynamic picture of quality over timepsychological effect on the personnel

    The whole process of using control charts is to:gain finer and finer control

    identify and correct assignable causesperfect procedures and attitudes that ensure the maximumutilization of the process capabilities

  • 8/10/2019 SPC Training Material Ver 4.0

    39/56

    TCS Confidential Presentation

    39

    Control chart pattern analysisSeveral distinct patterns can be recognized incontrol charts which can be potential indicators orsignals of instability.

    The reasons of the selection of patterns is basedon sound mathematical principles behind controlchart theory and probability theory.

    Once a distinct unstable pattern is identified, thesearch for an assignable cause must be initiatedand corrected to improve the process.

  • 8/10/2019 SPC Training Material Ver 4.0

    40/56

    TCS Confidential Presentation

    40

    Basic PathologiesThe following are the basic pathologies for processinstabilities:Points outside the 3 control limits

    7 point patterns7 points in a row above the mean7 points in a row below the mean7 points in a row alternating up and below the mean7 points in a row going up7 points in a row going down

    Points between + 1 5 points in a row between + 1 from the mean6 of 7 points in a row between + 1 from the mean

  • 8/10/2019 SPC Training Material Ver 4.0

    41/56

    TCS Confidential Presentation

    41

    Basic Pathologies

    Points between + 1 and + 2 3 points in a row between + 1 and + 2 4 of 5 points in a row between + 1 and + 2

    Points between + 2 and + 3 2 points in a row between + 2 and + 3

    10 of 11 patterns10 of 11 points in a row above the mean10 of 11 points in a row below the mean10 of 11 points in a row alternating up and below the mean10 of 11 points in a row going up10 of 11 points in a row going down

  • 8/10/2019 SPC Training Material Ver 4.0

    42/56

    TCS Confidential Presentation

    42

    Basic Pathologies12 of 14 patterns

    12 of 14 points in a row above the mean

    12 of 14 points in a row below the mean12 of 14 points in a row alternating up and below the mean12 of 14 points in a row going up12 of 14 points in a row going down

  • 8/10/2019 SPC Training Material Ver 4.0

    43/56

    TCS Confidential Presentation

    43

    Control Limits RecalculationThe Upper and Lower Control Limits are theboundaries of process stability.

    A useful control chart can be drawn only with aminimum of 20 points for a software process.

    The general guidelines for control limit revision aredescribed in the following charts.

  • 8/10/2019 SPC Training Material Ver 4.0

    44/56

    TCS Confidential Presentation

    44

    When to draw a control chartIf you have less than 20 points, DO NOT DRAW a controlchart.

    Draw a run chartUse the branch s UCL and LCL to see whether your process iscapable or not

    Once you have 20 or more pointsDraw a control chart and calculate the control limits. Treat theselimits as fixed for the further data pointsUse the control limits to analyze process stabilityUse the branch s UCL and LCL to analyze process capability

    Whenever a new data point is available Add it to the control chart dataRedraw the control chart BUT DO NOT RECALCULATE THECONTROL LIMITS - USE THE OLD (FIXED) CONTROL LIMITSINSTEAD

  • 8/10/2019 SPC Training Material Ver 4.0

    45/56

    TCS Confidential Presentation

    45

    When to draw a control chartContinue using the old (fixed) control limits until youbring the process under control (with respect to theold (fixed) control limits) or a prescribed period of

    time (say 3 months)When the process is found to be within control (orafter the prescribed period of time), recalculate thecontrol limits and fix them as the new thresholds for

    future data pointsContinue this FIX -DRAW process to analyzeprocess stability and capability

  • 8/10/2019 SPC Training Material Ver 4.0

    46/56

    TCS Confidential Presentation

    46

    Why should you fix the control limits?

    You should not recalculate the control limitswhenever a new data point is added because, the

    single data point may change the control limits andalter your perspective of process stability.

    This becomes important if the new data point

    indicates an out-of-control process and may benoise in the process. If you revise the controllimits, you will not get a good picture of processstability.

  • 8/10/2019 SPC Training Material Ver 4.0

    47/56

    TCS Confidential Presentation

    47

    You initially have 8 data points ...

    Run Chart (defecs/PD)

    0

    0.5

    1

    1.5

    2

    2.5

    1 2 3 4 5 6 7 8

    Instance

    D e

    f e c

    t / P D

    Defect density (defects/pd) Branch's LCL Branch's UCL

    You have less than 20 points - so draw a runchart, use Branchs UCL and LCL

  • 8/10/2019 SPC Training Material Ver 4.0

    48/56

    TCS Confidential Presentation

    48

    12 more points are now available... You now have 20 data points - so draw a control chart,calculate the control limits (process shown to be in control)UCL

    Calculated

  • 8/10/2019 SPC Training Material Ver 4.0

    49/56

    TCS Confidential Presentation

    49

    2 more data points are now available... You now have 22 datapoints - so draw acontrol chart, but DONOT RECALCULATETHE CONTROLLIMITS, use the OLDONES INSTEAD -(process shown to bein control using oldlimits)

    UCLnot calculated,carried over

  • 8/10/2019 SPC Training Material Ver 4.0

    50/56

    TCS Confidential Presentation

    50

    If you had recalculatedthe control limits...

    Process is out of control becausecontrol limits were revised with the

    addition of two data pointsUCLrecalculated withthe addition of 2more points

    Process is now out of control!

  • 8/10/2019 SPC Training Material Ver 4.0

    51/56

    TCS Confidential Presentation

    51

    An example of recalculating control limitsat each point

    Example of control limits recalculated at each data point

    0

    2

    4

    6

    8

    10

    12

    14

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    Instance

    D e f e c t D e n s i t y ( D e f e c t s / P D )

    Upper controllimit recalculatedat each point

  • 8/10/2019 SPC Training Material Ver 4.0

    52/56

    TCS Confidential Presentation

    52

    U Charts

    U stands for per unit Attribute Control Chart i.e. when sample reflects qualitativecharacteristics such as defective/not defective, go/no goSample size variesData distribution follows Poisson distribution (discrete values)Control Chart for non-conformities or defectsVarying UCL and LCL

  • 8/10/2019 SPC Training Material Ver 4.0

    53/56

    TCS Confidential Presentation

    53

    Calculating U Charts

    Ubar = d i / n i UCL U = U bar + 3 sqrt (U bar / n i)LCL U = U bar - 3 sqrt (U bar / n i) or 0 for less than 0

    where n i = Size of i th sampled i = Non-conformities in i th sample

    Using U chart for Defects/pd:

    n i = Planned effort for the work item id i = Defects detected in the work item i

  • 8/10/2019 SPC Training Material Ver 4.0

    54/56

    TCS Confidential Presentation

    54

    Example of U Chart

    0

    0.5

    1

    1.5

    2

    2.5

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    Time

    D e f e c t s / p d

    UCL

    LCL

  • 8/10/2019 SPC Training Material Ver 4.0

    55/56

    TCS Confidential Presentation

    55

    Metrics under SPC

    Project Level Metric Chart type

    Schedule Slippage - Run/ XmREffort Slippage - Run/ XmRDefects/pd - Review + UT - U Chart

    Organisation Level Schedule Slippage - XmR ChartEffort Slippage - XmR Chart

    Defects/pd for Code & Document - U ChartReview Effectiveness - Xmr ChartTotal Defect Containment Effectiveness - XmR ChartRework Effort - XmR ChartReview Effort - XmR Chart

  • 8/10/2019 SPC Training Material Ver 4.0

    56/56

    56

    Thank you !