Upload
jain
View
222
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