Measurement In The Personal Software Process1

  • Uploaded by: jain
  • 0
  • 0
  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Measurement In The Personal Software Process1 as PDF for free.

More details

  • Words: 1,827
  • Pages: 56
1

Seminar On

Measurement in the Personal Software Process III Sem. MTech. Software Engineering (QIP) SJCE, Mysore

Nitin Jain 5VZ07SSE04 III Sem. Software Engineering (QIP) SJCE, Mysore

2

3

4

CONTENTS • • • • • • • •

Measurement Overview Fundamental Process Measures Goal-Question-Metric Paradigm (GQM) General PSP Objectives, Goals, and Questions An Example of GQM Gathering Data The Impact of Data Gathering Establishing a Baseline for Personal Process 5

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 6

How to improve Software • Keep attention on what the Software Engineer do: Plan  Organize  Implement  Measure  Verify

7

8

9

CMM Improve from Bottom start from Personal and Move to Team. Team Management

Team Building

Humphrey Develop CMM which later Evolve to CMMI

Team Member Skills

T S P P S P

10

11

12

13

Principal Measurement Categories 1 Objective Subjective 2 Absolute

Relative 3 Explicit Derived 4 Dynamic Static 5 Predictive Explanatory

It Counts Things Involves Human Judgment They won’t vary from other. Eg size of Program is absolute it does not vary from adding other programs. Objectives are Absolute Changes. E.g. average. subjective are Relatives Are taken directly. E.g. Programmer hour Computed from others E.g. number of LOC per hour Have a time Dimension. E.g. date of project They are fixed. Total defect found Can be obtained or generated in advance They are produce after the fact 14

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)

15

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 16

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

17

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)

18

Resources Measures • Apply to labor hour( Time Required to Develop Software). • It include talking on phone, meetings, discussions etc all are there with the development time. • In many Organizations the quickest and the least expensive way to improve productivity is reduce the amount of time on extraneous activity. 19

Goal-Question-Metric Paradigm It has been devised by Basili, it says Define the Principle Goals for our activity. Construct a comprehensive set of question to help us achieve these goals. Define and gather data required to answer these questions. 20

DEFINING GOALS • Why I am doing this? “Because my manager” told then odds to success decreases. • In measuring process we must think what we are trying to achieve ?

21

THE GOALS HIERARCHY • Helps us to put goals in proper context. • At senior management level they are stable • Understanding the connection between our goal and those above us help us to explain what we are doing in terms that are most meaningful to our management and get there support. • Goal should have lower defect rate or shorter schedule 22

THE GOALS HIERARCHY Customers Goal

Organization’s Goal

Project’s Goal

Manager’s Goal

Personal Goal

Career Goal

Job Goal

Task Goal

23

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 his goal have any absolute limit, and if so what is it? 24

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.

25

General PSP Objectives, Goals, and Questions PSP Data Gathering Tools Objectives are • To understand how the personal software development works • To determine the steps we could take to improve product quality • To determine the impact of process changes on our productivity. • To establish benchmarks to measure process improvement and • To assist us in making more accurate plan. 26

Question that to be answered While Establishing an Initial Goal • What aspect of my performance are important? • How I would measure these aspect? • What's the best performance achieved by me? • How I can learn from these achievements? • What are other people achieving? • What of their methods might help me to improve 27

An Example of GQM Goal: To Produce Program that contain no defects

Question: How can we produce a Software of such quality that no defect will be found in later testing or use? 28

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… 29

A Software Quality Strategy Development Phase I Measures Appraisal Phase I

Analysis Phase I Control

Data Feedback

Development Phase n Appraisal Phase N Delivered Product Usage

Analysis Phase N

30

Table A PSP1 PROJECT PLAN SUMMARY WITH AND AFTER DEVELOPMENT

Student

Name of Student

Date

DY/MT/YEAR

Program

LOC Counter

Language

C Programming

Instructor

Mr. XYZ

Program #

Number

Summary LOC/Hour

Plan

Actual

To Date

9.0

14.1

13.4

LOC/Hr=60*total new & changed /total 31

Program Size (LOC) Base (B)

Plan 52 (Measured)

Deleted (D)

7

Modified (M)

(counted)

(Estimated)

5 ( counted)

25 (N-M)

Reused (R)

52 (T-B+D-R)

0 (Estimated)

Total LOC(T)

6

5

Added (A)

To Date

(Measured)

(Estimated)

Total New and Changed (N)

Actual 52

0

0

57

185

98

216

0

0

(counted)

30 (Estimated)

(A+M) 70

(N+B-M-D+R)

(Measured)

Total New Reuse

0

Estimated Object LOC(E)

23

32

Time in Phase (min)

Plan

Actual

To date

To date

Planning

10

7

37

4.5

Design

30

50

130

15.6

Code

75

48

268

32.3

Compile

25

9

7

9.3

Test

40

115

283

34.1

Postmort em

20

13

36

4.3

200

242

831

100.0

Total

33

Defect Injected

Planning

Actual

To date

To date %

0

0

0.0

1+1

1+3

12.5

Code

6

20

83.3

Compile

0

0

0.0

Test

0

1

4.1

Total Development

7

24

100.0

Design

34

Defect Removed

Actual

To date

To date %

Planning

0

0

0.0

Design

0

0

0.0

Code

0

0

0.0

Compile

4

13

54.2

Test

3

11

45.8

Total Development

7

24

100.0

After Development

1

1

35

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) 36

Gathering Data •

No special tools are available for gathering Data.

3. 4. 5. 6. 7.

Manual Data Gathering Forms and Templates The Defect Database The PSP Spread Sheet The Engineering Notebook 37

38

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.

39

2 Forms and Templates • Forms are used when • Templates are used amount of data we when amount of data gather is fixed. we gather is not fixed • E.g. forms can be • E.g. Templates have used to estimate time to be used to store required for different the data gathered at stage of project. each stage of the Software life cycle.

40

41

3 The defect Database Field

Data for Defect n

Data for Defect N+1

Data for Defect N+2

Data for Defect N+3

3A

3A

3A

3A

Program Defect Number

6

7

8

9

Type

20

20

40

20

Phase Injected

40

40

20

40

Phase Removed

60

60

70

70

Time-to-fix

1

1

30

1

Program Number

Fix Error

• • • • • •

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

42

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. 43

4 The PSP Spread Sheet • •

3. 4. 5.

Is used for recording the raw project and process project data for each program. It consist of following three Size Field Time Field Defect Field

44

Category

Field Name

Progra mn

Program n+1

Progra m n+2

Program Number Summary

Estimated new and Changed LOC Actual new and Changed LOC Estimated Time Actual Time Estimated Defect Actual Defect

45

SizeEstimated

Base Reused Added Deleted Total new and changed Total Estimated Object LOC

Size-Actual

Base Reused Added Deleted Total new and changed

46

TimeEstimated

Requirement & Planning Detailed Design Design Review Code Code review Compile Test Postmortem

Time-Actual

Requirement & planning Detailed Design ………………………

47

Defect Infected Estimated

Requirement and planning

Detailed Design

………………………

Defect Infected Actual

Requirement and planning

Detailed Design

………………………

48

Analyses that can be made using the above PSP spread sheet

• • • •

Regression Calculation Yield Productivity Charts

49

5 The Engineering Notebook

• Is a convenient place in which to make notes, do calculations or document exploratory designs.

50

The Impact of Data Gathering

• DATA GATHERING TAKES TIME • THE DATA CAN EFFECT OUR PERFORMANCE

51

Establishing a Baseline for Personal Process •

2. 3.

The problem of judging performance has two complication Bolstering Clutching

52

Establishing a Baseline for Personal Process Bolstering:is our selectively remembering those result that reinforce what we want to believe. When we don’t analyze we tend to forget disaster and remember successes. Clutching:-

occur when a result is so important that it affects our performance. Its caused due to unconscious feedback. 53

54

Summary • Data gathering falls into product, process, resource • The GQM paradigm helps us to design and implement 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. 55

Thank You

56

Related Documents


More Documents from "Materials Research Institute"