PSP
Personal software process:-
Software engineers need to produce high-quality
programs on schedule and at their planned costs.
It introduces the personal software process, which
is a guide to using disciplined personal practices to
do superior software engineering.
It will show a) how to plan and track your work
b) To produce high quality software
c) To identify strength and weaknesses.
Personal Software Process
It was designed:
1) To help software engineers to do.
good work.
2) In Applying Advanced Engineering
to their daily tasks.
3) Provides detailed estimating and
planning methods.
4) It shows engineers how to track their
performance against these plans.
The Improvement Process
Principle Behind PSP:
The data we gather on our own work as we
complete each exercise.
Reviewing of Data ,to see how the PSP has
improved our performance.
Discipline of high Quality work.
The Importance of high Quality work.
How to Improve the Quality of work.
To Improve we must analyze the data and
process to see where to make changes.
Steps of Improvement process
Define the Quality Goal
Measure Product Quality.
Understand the Process.
Adjust the process.
Use the Adjusted process.
Measure the Results.
Compare the Results with the Goal.
Recycle and continue Improving.
The improvement Process
Define
Quality goal
Measure product
Quality
Understand the
process
Adjust the
Process
Use the Adjusted Recycle and
process continue
Improving
Measure the
Results
Compare the
results with goal
Time Management
The first step is to manage our time.
The logic of Time management is as follows:
1)We will likely to spend our time this week much the
way we spent last week.
2)To make Realistic plans ,we have to track the way we
spend our time.
3)To check the accuracy of our time estimates and
plans, we must document them and later compare
them with what we actually do.
4) To make more accurate plans ,determine where our
previous plans were in error and what we could have
done better.
Understanding how to spend
time
Categorize our major activities.
Record the time spent on each major
activity.
Record time in a standard way.
Keep the time data in a convenient place.
We can make the Engineering Notebook to
keep the track of time.
Tracking Time
Why Track Time
Recording time data
Tracking your Time
Use a standard Time Recording log
Handling Interruptions
Tracking completed tasks.
Keeping Time logs in the Engineering
Notebook
Recording Time Data
The first step in this process is to define
the tasks, and find out how much time we
spend on each task
To do this we actually measure the time.
When Recording time our objective is to
obtain data on how we actually work.
If we want to manage time we must
continue to track it.
Tracking Time
The engineers are required to keep
track of when they started and stopped
their work.
It is easier to track time in minutes
than in fractions of an hour.
The units of hour might be more useful
in weekly or monthly summaries, these
fractional amounts are both difficult to
calculate and hard to interpret.
Use standard Time
Recording Log
Each Time Period is entered on one line of the
form as follows:
Date: The date we did some activity.
Start: The time we started the activity.
Stop: The time we stop the activity.
Interruption: Any time lost due to
interruption.
Delta Time: The time spent on each activity,in
minutes, between the start time and stop
times, less any interruption time.
Activity: A descriptive name for the task.
Comments: A more complete note on what we
are doing, the type of interruption ,or
anything else that would be helpful when we
later analyze the time data
C (Completed): Check this column when we
complete a task.
U (Units): The number of units in a task when
we complete it.
Handling Interruptions
Our common problem with tracking time is handling
interruptions.
The way interruptions are handled with the Time
Recording log is to note them in the column labeled
interruption time.
One way is to use stopwatch to track interruptions
Time log data can also be used to understand how often
our work is interrupted.
Understanding how much we are interrupted could
therefore help to improve quality and efficiency of
work.
Tracking completed Task
We need to keep track the results
produced.
Calculate the task productivity.
The (C) and (U) columns quickly identify
the time spent on various tasks and what
was accomplished.
Unit is Unit of work.
A completed program is another unit of
work
Student Date
Instructor Class
Interruption
Date Start Stop Time Delta Time Activity Comments C U
9-Sep 9:00 9:50 50 class Lecture
12:40 1:18 38 prog Assignment1
2:45 3:53 10 58 prog Assignment 1 x 2
6:25 7:45 80 text Read text-ch1&ch2 x 1
10-Sep 11:06 12:19 6+5 62 prog Assignment1,break
11-Sep 9:00 9:50 50 class Lecture x 1
Hints on logging your time
Keep the engineering notebook with us at all
times.
When we occasionally forget to record the
start time, stop time ,or interrupt duration,
make an estimate as soon as we remember.
We may use a stopwatch to track
interruptions.
Summarize our time promptly.
Another approach is to record the time data
on a computer.
Period and Product Planning
There are two kinds of Plan
The first is based on period of time.
The second kind of plan is based on
activity like developing a program or
writing a Report.
To plan this work ,we would first
estimate the time for total job
Weekly Activity Summary
To do period planning ,it is important to
understand how to spend time
Step 1 is to track our time using Time
recording Log.
After gathering a week or two of time data,
we will begin to see how to spend time.
It is shown in table, formats time data so
they are more convenient for planning.
Name student Y Date 9/16/1
Task class Write Quiz Read Total
Date prog Prep Text
S 9/8
M 50 96 80 226
T 62 62
W 50 69 28 147
TH 114 114
F 50 38 88
S 134 134
Totals 150 341 134 146 771
Number of weeks(prior number+1):
Period Times and rates 1
Previous Week's Times
Total
Avg
max
min
week's
Current Times
Total 150 341 134 146 771
Avg 50
Max 50 114 134 80
Lines 1-10 provide a record of the time
spent on each principal Activity during each
day of previous week.
Lines 13-16 are the average, maximum and
minimum times we spent on each task
category during early weeks.
Lines 18-21 show the total, average,
maximum and minimum times we spent in
each category for the entire time so far.
Product planning
This describes how to use time log data to
make product plans.
The job number log is introduced to help us
keep track historical product data.
Planning provides a basis for committing to
completion dates, and it allows engineers to
coordinate their work on joint products.
Businesses use product plans : to plan and to
manage their work.
Because plans are important we need to
know how to make accurate plans.
Product plan
The first step is to get the clear definition of
the product we plan to produce.
A properly produced product plan includes
three things.
a) the size and important features of
the product to be produced.
b) an estimate of the time required to
do the work.
C) a projection of the schedule.
Some definitions
A product is something we produce for co-
worker, an employer or a customer.
A project typically produces a product.
A task is defined element of work.
A process defines the way to do projects.
Plans describe the way a specific project is to
be done, how, when and what cost?
A Job is something we do ,either a project or
a task.
The job number Log
The job number Log is designed to
record estimated and actual time.
This log is a product planning document
since it deals with product data.
The Time recording log and weekly
activity summary contain data on
weekly periods.
NAME DATE:
JOB# Date Process Estimated Actual To Date
Time Units Time units rate Time Units Rate max min
Description
description
Description
Description
Description
Job number log Instructions
Purpose : This form is used to track the job numbers
for each project.
General: When starting a project, enter the new job
number in this log.
Header: Enter your name.
Enter the date this job number
Log page is started.
Job# : Enter the job number you selected.
Date : Enter the date you start the job.
Process: Enter the type of task.
Estimated time: Enter the total time in minutes the
job was estimated to take.
Estimate Units: Enter the estimated units for the
finished job.
Actual Time: Enter the final actual total time the job
took.
Actual Units: Enter the final actual number of total
units.
Actual Rate: Enter the Actual time divided by Actual
units.
To Date time: Find the most recent previously
completed job of this type.
To date Units: Find the most recent
previously completed job of this type.
To date Rate: Divide the To date Time by
the to date units to get the minutes per unit
for all the jobs completed to date.
Max: Enter the maximum rate for all the
jobs completed of each type.
Min: Enter the minimum rate for all jobs
completed of each type.
Description: Enter a description of the job
is to be done.
Product planning process
Planning is a skill that can be developed and
improved.
We do this by making plans for each job we
do.
Then for each finished job, compare the plan
with what we actually did.
In making a product plan, compare what we
plan to do with what we have done before.
Start with data on similar jobs and compare
the new task with this prior jobs
PSP Process flow
Requiremen
ts
Planning
design
Guidance
Code
Compile Logs
Test
Project
Time and Plan
PM defect summary
data
Finished Plan and
product actual
process
The process script
The phases of the PSP process are described below
Entry criteria: The problem description.
PSP project plan .
Actual size and time
data for previous form.
Time recording log.
Planning : Obtain the description of the program
functions.
Design: Design the program.
Record the design in the specified format.
Record the design in the Time Recording Log.
Code: Implement design.
Use a standard format for
entering the code.
Record coding time in the Time
recording Log.
Compile: Compile the program.
Fix all the defects found.
Record compile time in the time
Recording Log.
Test : Test the program.
Fix all the defects found.
Record testing time in the Time recording Log
Post mortem:
complete the Project plan summary
form with actual time and size data.
Record post mortem time in the
time Recording Log.
Exit criteria: A thoroughly tested
program.
A properly documented
form.
A complete program listing.
A complete project plan summary
Completed time logs.