Personal software process is about providing the user, software developer, with the an understanding of how she works. It should put the individual in control of understanding her performance critically and at the right level of detail to modify her software process. To do so implies an ability to define, measure, and analyze individual processes.
Is not intended to support any single task in a life-cycle. Is language and methodology independent.
Individual in that it promotes the individual as being capable of changing her process, thus the aim is to provide the individual with the necessary understandings through a framework.
The PSP foundation correlates with the CMM framework.
Software Process is a sequence of steps required to develop or maintain software. A software process definition is a description of this process.
The software process sets out the technical and management framework for applying methods, tools, and people to the software task, while the process definition identifies roles and specifies tasks. The definition further establishes measures and provides exit and entry criteria for every major step.
Design defect prevention
In Using a Defined and Measured Personal Software Process, Humphrey describes his perspective in developing
PSP and experiences in teaching PSP to a variety of audiences. He reports in this article data to support
the claims made for process improvement from engaging in the activities described. In particular he claims "When properly taught, the PSP
These outcomes are achieved by first making the participants collect specific data related to process and product forming the baseline that providing the individual with a context to think about process and hence process improvement. This is the "making the process visible step."
The individuals are supplied with forms and process scripts (guides to direct activity) that lets them gather real data regarding the time and defects in the artifact produced. The initial data provides the baseline that allows them to compare results during future activity. The phases of PSP0 include planning, development (design, code, test) and postmortem. During PSP0, referred to as PSP0.1, coding standards, size measurement, and improvement proposals are introduced.
Using the data collected from previous programs, individuals use the PROBE method to estimate size and time for programs. Schedule and task planning are added in PSP1.1. The goal is to provide ample experience in estimating, hence it is introduced early.
The individuals are introduced to and practice personal design and code reviews. These reviews are guided by checklists provided.
Under an initiative called "Doing Quality Work", Embry-Riddle Aeronautical University is introducing process material into the first two computer science courses. Many of the notions found in PSP are included in their approach.
Humphrey, Watts S. (1998) Three Dimensions of Process Improvement:
Humphrey, W. (1999) Pathways to Process Maturity: The Personal Software Process and Team Software Process. SEI Interactive 2(2), June 1999.
Disney, A. (1998) Data Quality Problems in the Personal Software Process. M.S. Thesis, University of Hawaii, August, 1998. (Abstract)
Disney, A. & Johnson, P. (1998) Investigating Data Quality Problems in the PSP. Sixth International Symposium on the Foundations of Software Engineering (SIGSOFT'98), Orlando, FL., November, 1998. (Abstract)
Ferguson, P., W. S. Humphrey, S. Khajenoori, S. Macke, A. Matvya (May 1997) Results of Apply the Personal Software Process. IEEE Computer, p. 24-31.
Green, G. & Hevner, A. (2000) The Successful Diffusion of Innovations: Guidance for Software Development Organizations. IEEE Software, 17(6), p. 96-103.
Hayes, W. & J. W. Over (1997) The Personal Software Process (PSP): An Empirical Study of the Impact of PSP on Individual Engineers. CMU/SEI-97-TR-001.
Hilburn, T. B. & M. Towhidnejad (1997) Doing Quality Work: The Role of Software Process Definition in the Computer Science Curriculum. Proceedings of the Twenty-eighth SIGCSE Symposium on Computer Science Education. San Jose, CA, February 27-March 1, 1997. (Abstract)
Hirmanpour, I. (2000) Personal Software Process: An Awareness Workshop. Embry-Riddle Aeronautical University.
Hou, L. & Tomayko, J. (1998) Applying the Personal Software Process in CS1: An Experiment. twenty-ninth SIGCSE technical symposium on Computer science education February 26 - March 1, 1998, Atlanta, GA.
Humphrey, W. S. (2000) The Personal Software Process: Status and Trends. IEEE Software, 17(6), p. 71-75.
Humphrey, W. S. (1997) Introduction to the Personal Software Process. Addison-Wesley: Reading, MA.
Humphrey, W. S. (May 1996) Using a Defined and Measured Personal Software Process. IEEE Software. p. 77-88.
Humphrey, W. S. (1995) A Discipline of Software Engineering. Reading, MA: Addison-Wesley.
Humphrey, W. S. (July 1995) Why Should You Use A Personal Software Process? Software Engineering Notes 20(3), p 33-36.
Humphrey, W. S. (May 1998) Why don't they practice what we preach? Software Engineering Institute, Carnegie Mellon University. Also appears in Annals of Software Engineering 6, 1998, p. 201-222.
Johnson, P. & Disney, A. (1998) The Personal Software Process: A Cautionary Case Study. IEEE Software, 15(6), November, 1998.
Johnson, P. & Disney, A. (1999) A Critical Analysis of PSP Data Quality: Results from a Case Study. Journal of Empirical Software Engineering. February, 1999. (Abstract)
Kamatar, J. & Hayes, W. (2000) An Experience Report on the Personal Software Process. IEEE Software, 17(6), p. 85-89.
Khajenoori, Soheil (1995) Personal Correspondence.
Morisio, M. (2000) Applying the PSP in Industry. IEEE Software, 17(6), p. 90-95.
Prechelt, L. & Unger, B. (2001) An Experiment Measuring the Effects of Personal Software Process (PSP) Training. IEEE Transactions on Software Engineering, Vol. 27, No. 5, May 2001, pp. 465-472.
Sherdil, K. & N. H. Madhavji (1996) Human-Oriented Improvement in the Software Process. In Proceedings of the 5th European Workshop on Software Process Technology, Nancy, France, October 1996.
Yourdon, E. (1996) Rise & Resurrection of the American Programmer Upper Saddle River: Prentice Hall, Inc. Chapter 5, Personal Software Practices.
Zhong, X., Madhavji, N. & El Emam, K. (2000) Critical Factors Affecting Personal Software Processes. IEEE Software, 17(6), p. 76-83.
Comments should be sent to
Richard Upchurch (rupchurch@umassd.edu)
This document
Created: April 10, 1996
by RLU
Modified: September 21, 2001