Personal Software 
Process
SM   (PSPSM)
Back | TOC

For most of us, managing time is a secondary affair, the primary one being the task on hand to finish. But the task has a deadline, as all other tasks, though they may be way down in the priority list. We allocate time to our tasks, and somehow manage to meet the deadlines. Personal Software Process or PSP aims to remove the 'somehow' from our way of working, and replace it with 'efficient', so we could perform our tasks in an intelligent and efficient manner.

PSP is all about time management. Time is a crucial factor in all that we do, no matter what it is that we have set for ourself, and managing it is of primary importance. This is true not just for software developers, but the process is primarily intended for them. If you as a developer would follow the guidelines provided in the PSP, you would perform better, that is more productively, with less cost and almost no time overruns.

PSP was developed by Watts S Humphrey, and is part of the curriculum in some universities. The author provides an excellent introduction to the process in his book Introduction to the Personal Software Process published by Addison-Wesley as part of Carnegie Mellon University's Software Engineering Institute (SEI) series in Software Engineering.

This article aims to provide some building blocks of the PSP process, so the reader can get started immediately on his or her next project.

We will cover the subject in four topics: time, planning, defects, quality. This grouping I have found to be useful for a clear understanding of the subject, and also a quick practical approach to PSP.

Time
The first step in PSP is to know how to manage time. If you would know how much time you spent doing a certain task, then you should record it. It helps in planning similar tasks and also compute time and cost estimates. So in order to manage time you need to track it first, and the best way to do it is by keeping a time log

Table 1   Time Recording Log

Name _____________             Project ____________                  Date ____________

Date Start Stop Interruption Time Delta Time Activity Comments C U
26/12 10:00 10:40 10 30 Algorithm design For the MUX switch    
                 
                 


This is a sample time sheet. PSP advocates that you log time in minutes, since most activities do not exceed an hour. Logging interruption time is important as it is the time not spent on the task. You therefore calculate the delta time, the actual time spent on the task, as (stop time - start time) - interruption time. You devise a means of assigning units to your work, and indicate the number of units completed in the last column. The penultimate column is a status column and indicates whether a task is completed; if so, put a check mark in it.

PSP suggests keeping an engineering notebook for tracking time among other things. We will look at it a little later, but for now suffice it to say that you keep a track of the time you spend on a task as accurately as possible. You may not have access to your time log all the time. Jot it down somewhere and transfer it to the log at the earliest. 

... to be continued ...

Planning
 

Defects
 

Quality
 

* PSP and Personal Software Process are service marks of Carnegie Mellon University.