Measurement in the Personal Software Process1

  • Upload
    jain

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

  • 8/14/2019 Measurement in the Personal Software Process1

    1/56

    1

  • 8/14/2019 Measurement in the Personal Software Process1

    2/56

    2

    Seminar On

    Measurement in thePersonal Software Process

    Nitin Jain

    5VZ07SSE04

    III Sem. Software Engineering (QIP)

    SJCE, Mysore

    III Sem. MTech.Software Engineering (QIP)

    SJCE, Mysore

  • 8/14/2019 Measurement in the Personal Software Process1

    3/56

    3

  • 8/14/2019 Measurement in the Personal Software Process1

    4/56

    4

  • 8/14/2019 Measurement in the Personal Software Process1

    5/56

    5

    CONTENTS Measurement Overview

    Fundamental Process Measures

    Goal-Question-Metric Paradigm (GQM)

    General PSP Objectives, Goals, andQuestions

    An Example of GQM

    Gathering Data

    The Impact of Data Gathering

    Establishing a Baseline for Personal Proces

  • 8/14/2019 Measurement in the Personal Software Process1

    6/56

    6

    Measurement Overview

    We measure to get data, so data can help us

    to do the following

    Gain Quantitative Understanding

    Evaluate a Product, Process or Organization

    Control a product or Process

    Make an estimate or a Plan

  • 8/14/2019 Measurement in the Personal Software Process1

    7/56

    7

    How to improve Software

    Keep attention on what the Software Engineer

    do:-

    Plan

    Organize

    Implement

    Measure

    Verify

  • 8/14/2019 Measurement in the Personal Software Process1

    8/56

    8

  • 8/14/2019 Measurement in the Personal Software Process1

    9/56

    9

  • 8/14/2019 Measurement in the Personal Software Process1

    10/56

    10

    Team Member Skills

    Team Building

    Team Management

    P

    S

    P

    T

    S

    P

    CMM

    Improve from Bottom start from Personal and Move toTeam.

    Humphrey Develop

    CMM which later

    Evolve to CMMI

  • 8/14/2019 Measurement in the Personal Software Process1

    11/56

    11

  • 8/14/2019 Measurement in the Personal Software Process1

    12/56

    12

  • 8/14/2019 Measurement in the Personal Software Process1

    13/56

    13

  • 8/14/2019 Measurement in the Personal Software Process1

    14/56

    14

    Principal Measurement Categories

    They are produce after the factExplanatory

    Can be obtained or generated in advancePredictive5

    They are fixed. Total defect foundStatic

    Have a time Dimension. E.g. date of projectDynamic4

    Computed from others

    E.g. number of LOC per hour

    Derived

    Are taken directly. E.g. Programmer hourExplicit3

    Changes. E.g. average. subjective are RelativesRelative

    They wont vary from other. Eg size of Program is

    absolute it does not vary from adding other programs.

    Objectives are Absolute

    Absolute2

    Involves Human JudgmentSubjective

    It Counts ThingsObjective1

  • 8/14/2019 Measurement in the Personal Software Process1

    15/56

    15

    Measurement Required

    A Mental Model for defined context to

    gather Data.

    Mental Model helps to design the

    Schedule status.

    Subdivision of the task (Unit Testing)

  • 8/14/2019 Measurement in the Personal Software Process1

    16/56

    16

    Fundamental Process Measures

    In establishing a measurement program,we will find it helpful to start with

    what objective, absolute and explicit

    measure we can identify. Then we use

    them as the foundation for a more

    useful derived measure which are

    2. Product Measures

    3. Process Measures

    4. Resources measures

  • 8/14/2019 Measurement in the Personal Software Process1

    17/56

    17

    Product Measures

    Generally refer to volume of product

    produce. e.g.. LOC, No. of files etc.

    It is applicable for program, module

    component or manual.

    It even include system throughput,

    memory capacity, module coupling and

    function point

  • 8/14/2019 Measurement in the Personal Software Process1

    18/56

    18

    Process Measures

    Quantify the behavior of our process.

    Generally its absolute, explicit and

    dynamic.

    E.g. Event Count( track the occurrence

    of a n event)

    E.g. Time Count (critical in all industry)

  • 8/14/2019 Measurement in the Personal Software Process1

    19/56

    19

    Resources Measures

    Apply to labor hour( Time Required toDevelop Software).

    It include talking on phone, meetings,

    discussions etc all are there with thedevelopment time.

    In many Organizations the quickest and

    the least expensive way to improveproductivity is reduce the amount of timeon extraneous activity.

  • 8/14/2019 Measurement in the Personal Software Process1

    20/56

    20

    Goal-Question-Metric Paradigm

    It has been devised by Basili, it says

    Definethe PrincipleGoalsfor our activity.

    Construct a comprehensive set o

    question to help us achieve these goals.

    Define and gather data required to answerthese questions.

  • 8/14/2019 Measurement in the Personal Software Process1

    21/56

    21

    DEFINING GOALS

    Why I am doing this?

    Because my manager told then odds tosuccess decreases.

    In measuring process we must think

    what we are trying to achieve ?

  • 8/14/2019 Measurement in the Personal Software Process1

    22/56

    22

    THE GOALS HIERARCHY

    Helps us to put goals in proper context.

    At senior management level they are stable

    Understanding the connection between ourgoal and those above us help us to explainwhat we are doing in terms that are mostmeaningful to our management and get

    there support. Goal should have lower defect rate or

    shorter schedule

  • 8/14/2019 Measurement in the Personal Software Process1

    23/56

    23

    THE GOALS HIERARCHY

    Customers GoalOrganizations

    Goal

    Projects Goal Career GoalManagers Goal

    Personal Goal

    Job Goal

    Task Goal

  • 8/14/2019 Measurement in the Personal Software Process1

    24/56

    24

    ROLE OF QUESTIONS

    For each process goal, where did I start,

    where I now, and where do I want to go?

    What is important about this goal?

    What is the best that has been achieved

    against this goal?

    Does improved performance against hisgoal have any absolute limit, and if so what

    is it?

  • 8/14/2019 Measurement in the Personal Software Process1

    25/56

    25

    METRICS DEFINITION

    After setting the goals and determining the

    key question, we need to define specific

    measure.

    It require presenting the required Data in a

    form that is understood able, consistent

    and retrieval . Hence FORMS are used to

    do.

  • 8/14/2019 Measurement in the Personal Software Process1

    26/56

    26

    General PSP Objectives, Goals,

    and Questions

    PSP Data Gathering Tools Objectives are

    To understand how the personal softwaredevelopment works

    To determine the steps we could take toimprove product quality

    To determine theimpact of process changes onour productivity.

    To establish benchmarks to measure processimprovement and

    To assist us in making more accurate plan.

  • 8/14/2019 Measurement in the Personal Software Process1

    27/56

    27

    Question that to be answered While

    Establishing an Initial Goal

    What aspect of my performance areimportant?

    How I would measure these aspect?

    What's the best performance achieved byme?

    How I can learn from these

    achievements? What are other people achieving?

    What of their methods might help me to

    improve

  • 8/14/2019 Measurement in the Personal Software Process1

    28/56

    28

    An Example of GQM

    Goal:

    To Produce Program that contain no

    defectsQuestion:

    How can we produce a Software of such

    quality that no defect will be found inlater testing or use?

  • 8/14/2019 Measurement in the Personal Software Process1

    29/56

    29

    Producing Defect Free Software

    No guarantee to produce defect free

    software

    Its will be something like review with so

    many phases.

    A key constraint is amount of time and

    expense needed to do the appraisal.

    Block Dig

  • 8/14/2019 Measurement in the Personal Software Process1

    30/56

    30

    A Software Quality Strategy

    Development

    Phase I

    Appraisal

    Phase I

    Development

    Phase n

    Appraisal

    Phase N

    Usage

    Analysis

    Phase N

    Analysis Phase I

    Delivered Product

    Control

    Measures

    Data

    Feedback

  • 8/14/2019 Measurement in the Personal Software Process1

    31/56

    31

    13.414.19.0

    To DateActualPlanSummary

    LOC/Hour

    NumberProgram #Mr. XYZInstructor

    C ProgrammingLanguageLOC CounterProgram

    DY/MT/YEARDateName of StudentStudent

    TableA PSP1 PROJECT PLAN SUMMARY WITH AND AFTER DEVELOPMENT

    LOC/Hr=60*total new & changed

    /total

  • 8/14/2019 Measurement in the Personal Software Process1

    32/56

    32

    23Estimated

    Object

    LOC(E)

    000Total New

    Reuse

    (Measured)(N+B-M-D+R)

    2169870TotalLOC(T)

    (A+M)(Estimated)

    1855730Total Newand

    Changed

    (N)

    (counted)(Estimated)000Reused (R)

    (T-B+D-R)(N-M)

    5225Added (A)

    ( counted)(Estimated)

    55Modified

    (M)

    (counted)(Estimated)

    67Deleted (D)

    (Measured)(Measured)

    To DateActual

    52

    Plan

    52

    Program

    Size (LOC)

    Base (B)

  • 8/14/2019 Measurement in the Personal Software Process1

    33/56

    33

    100.0831242200Total

    4.3361320Postmort

    em

    34.128311540Test

    9.37925Compile

    32.32684875Code

    15.61305030Design

    4.537710Planning

    To dateTo dateActualPlanTime in

    Phase

    (min)

  • 8/14/2019 Measurement in the Personal Software Process1

    34/56

    34

    100.0247Total Development

    4.110Test

    0.000Compile

    83.3206Code

    12.51+31+1Design

    0.000Planning

    To date %To dateActualDefect Injected

  • 8/14/2019 Measurement in the Personal Software Process1

    35/56

    35

    11After

    Development

    100.0247Total

    Development

    45.8113Test

    54.2134Compile

    0.000Code

    0.000Design

    0.000Planning

    To date %To dateActualDefect

    Removed

  • 8/14/2019 Measurement in the Personal Software Process1

    36/56

    36

    Plan=60*30/200=9

    Actual=60*57/242=14.1

    To Date= 60*185/831=13.4

    Estimated Object LOC(E)=

    o + 1*(E=BA+NO+M)

    o = 6.70

    1 = 0.0784

    6.70+0.0784*(52+185+5)

  • 8/14/2019 Measurement in the Personal Software Process1

    37/56

    37

    Gathering Data

    No special tools are available forgathering Data.

    3. Manual Data Gathering

    4. Forms and Templates

    5. The Defect Database

    6. The PSP Spread Sheet

    7. The Engineering Notebook

  • 8/14/2019 Measurement in the Personal Software Process1

    38/56

    38

  • 8/14/2019 Measurement in the Personal Software Process1

    39/56

    39

    1 Manual Data Gathering

    Computer cant determine what we are

    doing when we stopped using key board.

    We cant get the count of defect

    automatically, when code changes .

    To gather data manually logs, forms,

    databases, spreadsheets and summary

    report.

  • 8/14/2019 Measurement in the Personal Software Process1

    40/56

    40

    2 Forms and Templates

    Forms are used when

    amount of data we

    gather is fixed.

    E.g. forms can beused to estimate time

    required for different

    stage of project.

    Templates are used

    when amount of data

    we gather is not fixed

    E.g. Templates haveto be used to store

    the data gathered at

    each stage of the

    Software life cycle.

  • 8/14/2019 Measurement in the Personal Software Process1

    41/56

    41

    3 The defect Database

  • 8/14/2019 Measurement in the Personal Software Process1

    42/56

    42

    3 The defect Database

    10-Planning

    20-Design 40-Code 60-Compile 70-Test 80-Postmortem

    Fix Error

    13011Time-to-fix

    70706060Phase Removed

    40204040Phase Injected

    20402020Type

    9876Program Defect

    Number

    3A3A3A3AProgram

    Number

    Data for Defect

    N+3

    Data for Defect

    N+2

    Data for Defect

    N+1

    Data for Defect

    n

    Field

  • 8/14/2019 Measurement in the Personal Software Process1

    43/56

    43

    The Defect Database

    The table gives following:

    Number of defect injected and removed in

    a specific phase.

    Data on the numbers and types of defect

    found in a specific phase.

    Time required to fix defect as a function of

    the phase in which its removed.

  • 8/14/2019 Measurement in the Personal Software Process1

    44/56

    44

    4 The PSP Spread Sheet

    Is used for recording the raw project and

    process project data for each program.

    It consist of following three

    3. Size Field4. Time Field

    5. Defect Field

  • 8/14/2019 Measurement in the Personal Software Process1

    45/56

    45

    Actual Defect

    Estimated Defect

    Actual Time

    Estimated Time

    Actual new and

    Changed LOC

    Estimated new

    and Changed LOC

    Summary

    Program

    Number

    Progra

    m n+2

    Program

    n+1

    Progra

    m n

    Field NameCategory

  • 8/14/2019 Measurement in the Personal Software Process1

    46/56

    46

    Total new and

    changed

    Deleted

    Added

    Reused

    BaseSize-Actual

    Estimated Object

    LOC

    Total

    Total new and

    changed

    Deleted

    Added

    Reused

    BaseSize-

    Estimated

  • 8/14/2019 Measurement in the Personal Software Process1

    47/56

    47

    Detailed Design

    Requirement &planning

    Time-Actual

    Postmortem

    Test

    Compile

    Code review

    Code

    Design Review

    Detailed Design

    Requirement &

    Planning

    Time-

    Estimated

  • 8/14/2019 Measurement in the Personal Software Process1

    48/56

    48

    Detailed Design

    Requirement andplanningDefectInfected

    Actual

    Detailed Design

    Requirement and

    planning

    Defect

    Infected

    Estimated

    A l th t b d i

  • 8/14/2019 Measurement in the Personal Software Process1

    49/56

    49

    Analyses that can be made using

    the above PSP spread sheet

    Regression Calculation

    Yield

    Productivity

    Charts

  • 8/14/2019 Measurement in the Personal Software Process1

    50/56

    50

    5 The Engineering Notebook

    Is a convenient place in which to make

    notes, do calculations or documentexploratory designs.

    Th I t f D t G th i

  • 8/14/2019 Measurement in the Personal Software Process1

    51/56

    51

    The Impact of Data Gathering

    DATA GATHERING TAKES TIME

    THE DATA CAN EFFECT OUR PERFORMANCE

    Establishing a Baseline for

  • 8/14/2019 Measurement in the Personal Software Process1

    52/56

    52

    Establishing a Baseline for

    Personal Process

    The problem of judging performance has

    two complication2. Bolstering3. Clutching

    E t bli hi B li f

  • 8/14/2019 Measurement in the Personal Software Process1

    53/56

    53

    Establishing a Baseline for

    Personal Process

    Bolstering:-is our selectively remembering those result

    that reinforce what we want to believe. Whenwe dont analyze we tend to forget disaster

    and remember successes.

    Clutching:-

    occur when a result is so important that itaffects our performance. Its caused dueto unconscious feedback.

  • 8/14/2019 Measurement in the Personal Software Process1

    54/56

    54

    Summary

  • 8/14/2019 Measurement in the Personal Software Process1

    55/56

    55

    Summary Data gathering falls into product, process, resource

    The GQM paradigm helps us to design andimplement a measurement program.

    Forms, database, spreadsheet, & summary report

    are used to gather data for PSP.

    Gathering data will impact our performance.

    We will be curious weather the performance is

    improving after gathering Data or not, this can be told

    statistically only after examining huge data. Sometime Data on Personal performance may be

    discouraging, as continues work may not improve

    that but may require change of Process.

  • 8/14/2019 Measurement in the Personal Software Process1

    56/56

    56

    Thank You