process programming

I’ve been trying out the PSP

that’s the software process, not the handheld. I’ve been reading Introduction to the Personal Software Process by Watts S. Humphrey (the creator of the process.) And I’ve been putting it into practice by gathering statistics on my current project.

It’s not a big book, by computer science standards, but still wordy. It has 273 pages broken into 20 chapters but covers only 4 subject areas:

  1. logging your time
  2. creating estimates
  3. logging your defects
  4. creating a review checklist

These are important things to learn. Having tracked my time according to the process described in the book, it took me 402 minutes (6 and three quarter hours) to read it.

I could have tracked that time just as easily using an ad-hoc process or one described in far less words. To a certain degree this is understandable (it is a text for computer science students rather than practitioners.) However, much of the text appears devoted to selling PSP itself. Being nominally an instructional book, that’s annoying – like having to watch adverts selling the DVD as I’m watching it. Unfortunately in the case of PSP the sales pitch seems to go deeper and infect the process itself.

Gathering statistics generates questions. Which statistics do you gather? What units do you use? How do you interpret the results? So when I use a defined process, such as the PSP, I must implicitly accept the architect’s answers. I’m not sure I do.

Having looked at the metrics gathered in the PSP and the way they are used I’m suspicious. I wrote earlier about the problems with a report on the CMM (another Watts Humphrey creation.) It seems to me that a similar colouring of the statistics might be at play. There is a tendency to consider benefits but not costs.

For example, the PSP recommends that I create and follow a review checklist until I can repeatably catch 100% of the syntax errors before running my code through a compiler. This might be a win, or it might not. It might be that I’m better off focusing my attention on the kinds of problems that the compiler cannot catch rather than those checks that it does faster and more thoroughly than I ever could. At least I can make use of the PSP statistics I have gathered to decide this for myself.

By Paul Sinnett

Video game programmer

1 reply on “I’ve been trying out the PSP”

OK, let me repeat that… Are you trying to play with my easy looks Do you want a joke? :) How many Microsoft employees does it take to screw in a lightbulb? None. We’ll just declare darkness the new standard.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.