Personal Software Process - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Personal Software Process

Description:

The Real PSP. Wants you to obsessively keep records and statistically analyze those records. ... ( Prozac for the inventor of PSP) A simpler version ... – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 14
Provided by: mikemcc
Category:

less

Transcript and Presenter's Notes

Title: Personal Software Process


1
Personal Software Process
  • Lecture 18
  • 12/4/2000

2
Personal Software Process
  • Boring
  • Except when you would like to sleep, make your
    life easier, and get out there in the real world.
  • A simple means of learning about yourself
    (reference Sigmund Freud).

3
Whats a Personal Software Process
  • A highly prescriptive obsessive compulsive
    disorder that we can selectively steal useful
    pieces from and gain some insights into how each
    of us builds code.
  • Its essentially keeping track of what we do, and
    more importantly the mistakes we make so that we
    can improve our understanding of what we do, and
    maybe improve what we actually do.

4
How do you do a PSP?
  • The theory (not a theory but one persons idea)
    says
  • Keep track of the errors you make
  • Keep track of your time and line of code
    estimates versus your actuals
  • Find out why you take longer and make more
    mistakes than you think.
  • Use that to improve how you build software

5
The Real PSP
  • Wants you to obsessively keep records and
    statistically analyze those records.
  • Every time you make a mistake, stop what you are
    doing, log it, and then proceed.
  • Every time you make an estimate, record how you
    made the estimate, why it was made and what were
    the assumptions built into it. Then obsessively
    track your time and figure out why you still hate
    PSP.

6
Calculate until dizzy
  • Run the numbers and voila, you know whats wrong
    with you. (Prozac for the inventor of PSP)

7
A simpler version
  • At some point (say after a clean compile), jot
    down the errors you find while testing your
    program.
  • I assume you incrementally develop your code
  • At the end of the day/session, go over your
    notes, and try to figure out what errors seem to
    be repeated or were duhs.
  • Just doing that will improve your programming

8
Have I mentioned slips, procedural errors, and
knowledge errors?
  • Remember slips are just plain old mistakes.
  • We all make them and we cant stop ourselves from
    making them.
  • Procedural errors are index errors. You knew
    what to do, you just ran the wrong mental
    program.
  • I picked a library function that gave me the
    wrong answer in certain situations.

9
Knowledge Errors
  • You didnt have a clue
  • Or worse, you didnt know you didnt have a clue

10
So what do we do with this?
  • Dont worry about slips (dont slip up and
    categorize other errors as slips. That will lead
    you down a slippery slope)
  • Worry about procedural/knowledge errors.
  • Try to be more careful to avoid procedural errors
    (you know it, you just retrieved the wrong
    thing).
  • Try to understand what you dont know to fix
    knowledge errors

11
Error stuff
  • Thats all there is to the error stuff.
  • Just try to learn from your mistakes.

12
Estimating
  • Same deal as with errors.
  • When you sit down to write a program, just jot
    down how long you think it will take.
  • Revisit how long it actually took
  • Try to figure out why there is a difference.
  • Note that experts even have difficulty making
    estimates, but they are dealing with much more
    complicated problems.

13
Thats it in a nutshell
  • Just spend a few moments trying to understand
    what mistakes you are making, and why its taking
    you longer than you thought to do something.
  • All you are doing is building a little library of
    experience, which will help you avoid doing the
    same thing wrong over and over.
Write a Comment
User Comments (0)
About PowerShow.com