0% found this document useful (0 votes)
51 views5 pages

PSP PDF

Uploaded by

David Raju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views5 pages

PSP PDF

Uploaded by

David Raju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

The Personal Software Process 1

by
Watts S. Humphrey
[email protected]
Software Engineering Institute
Carnegie Mellon University
Pittsburgh, PA 15213

Copyright (c) 1994 Institute of Electrical and Electronics Engineers. Software Process Newsletter, Technical Council on
Software Engineering, IEEE Computer Society, Volume 13, No. 1, Sept. 1994, pp SPN 1-3.

This material is posted here with permission of the IEEE. Such permission of the IEEE does not in any way imply IEEE
endorsement of any of Carnegie Mellon University's products or services. Internal or personal use of this material is permitted.
However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective
works for resale or redistribution must be obtained from the IEEE by sending a blank email message to
[email protected].

By choosing to view this document, you will agree to all provisions of the copyright laws protecting it.

1This work is supported by the U.S. Department of Defense


develop the personal skills and techniques to
deal with issues at this level. As they take
Overview more courses, they improve these methods and
soon find they can develop fairly large
The personal software process (PSP) has been programs relatively quickly. These skills,
developed by the Software Engineering however, are inherently limited. While they
Institute (SEI) to address the need for process may have sufficed on small-scale individual
improvement in small organizations and small tasks, these programming-in-the-small skills do
project teams. This work started from the not provide an adequate foundation for the
premise that improved personal process problems of large-scale multi-person projects.
discipline can help to increase the The PSP work follows a different strategy: it
effectiveness of individual engineers. It was scales down industrial software practices to fit
also felt that as the individual engineers' the needs of small-scale program development.
performance improves, the performance of By learning and using these practices on small
their teams and projects will also be more programs, the students develop a foundation on
likely to improve. which to build industrial-scale personal
disciplines.
The research work on the PSP started in 1989.
It resulted in a method that is now being The Capability Maturity Model (CMM)
taught in several graduate university software provides a body of software engineering
engineering and computer science courses and practices that have been found effective for
experimentally tried at four corporations. large-scale software development. [Paulk]
While the PSP principles have been Starting with the CMM, the author selected
demonstrated with graduate software and defined a subset of the CMM key process
engineering students, their effectiveness has areas for use by individual software
not yet been measured in industrial practice. practitioners. [Humphrey 93, Humphrey 94]
These methods have been structured in an
The current work on the PSP is focused on evolving sequence of upward-compatible
gaining experience with teaching the PSP and personal processes. Each process step is
on identifying the most effective means for defined and used to guide engineers and
transitioning the approach into industrial students through a progressive series of process
practice. While the PSP methods are not enhancements.
complex and can be readily learned through
self study, early indications are that a course The professionals start by adjusting this simple
environment is most effective. In particular, pre-defined process to fit their current
there is some evidence that many engineers practices. This initial process includes basic
will be more likely to personally adopt the measures of the time they spend in each PSP
methods if they have worked the PSP phase and the defects they find. They then
exercises in parallel with learning the gradually enhance this process through seven
methods. It is not yet clear what percentage of more PSP versions, adding a new software
engineers will personally use the methods after engineering method with each update. As they
completing the course but it appears that a use these processes on ten software
reasonable number will. It is reasonably clear, development exercises, they gather and
however, that those engineers who do not work analyze data on the work. Based on these
the exercises will not likely adopt the analyses, they improve their processes for the
methods. next exercise. This provides the engineers
with explicit feedback on the effectiveness of
The Personal Software Process (PSP) that process step. They also learn how to
Strategy define and improve their personal processes.

Some CMM items are not included in the PSP


Today, when students start to program, they
because their effectiveness cannot be
generally begin by learning a programming
demonstrated at the individual level.
language. They practice on toy problems and
Examples are subcontract management and
3

intergroup coordination. Others can be They analyze the defects they found in the
usefully practiced by individuals but their early programs and they use these data to
implications are better demonstrated in a establish review checklists that are tailored to
small team environment. Requirements their personal defect propensities.
management and configuration management
both fall in this category. While these are The design process is addressed in PSP2.1.
both critical topics, they are more effectively The intent is not to tell engineers how to do
introduced after the initial PSP steps have design but to address the criteria for design
been completed. Two other key process areas completion. That is, when they have finished
more directly relate to broader organizational the design, what must they have? In PSP2.1,
issues. These are software quality assurance design completeness criteria are established
and training programs. While the PSP and various design verification and
capabilities are directly relevant to these consistency techniques are examined.
areas, it is not clear what useful exercises
could be developed to demonstrate them at an PSP3 - A Cyclic Personal Process
individual level.
To this point, the PSP has concentrated on a
The Personal Software Process (PSP) linear process for building small programs. In
Evolution scaling the PSP2 up to larger projects, the
approach is to subdivide larger programs into
The PSP has a maturity structure much like PSP2-sized pieces. These larger programs are
the CMM. It is important to realize, however, then designed to be developed in incremental
that the PSP presumes an organization is at or steps. This is done in PSP3, the cyclic
near CMM level 2. Different numbers were development process. The first build is a base
selected for the PSP levels to avoid confusion module or kernel that is enhanced in iterative
with the CMM levels. The PSP progression is cycles. In each iteration, a complete PSP2.1
described in the following paragraphs. is used, including design, code, compile, and
test. Since each enhancement builds on the
PSP0 - The Baseline Process previously completed increments, the PSP3
process is suitable for programs of up to
The initial step in the PSP is to establish a several thousand lines of code (KLOC). The
baseline that includes some measurements and cyclic PSP3 process can thus be an effective
a reporting format. This provides a consistent element of a large-scale development process.
basis for measuring progress and a defined
foundation on which to improve. Following Introduction Strategies
the first programming exercises, PSP0 is
enhanced to PSP0.1 by adding a coding The PSP strategy is to start by introducing
standard, size measurement, and the process these methods in university curricula. This is
improvement proposal (PIP). initially being done at the graduate or senior
undergraduate level. At a later time, the
PSP1 - The Personal Planning Process methods should be introduced at an earlier
undergraduate level. This introduction,
PSP1 adds planning steps to PSP0. The initial however, should be done in concert with basic
step to PSP1 adds size and resource programming methods and techniques.
estimation. In PSP1.1, schedule planning and
status tracking are also introduced. Because it will likely take many years to
introduce these methods through the
PSP2 - Personal Quality Management educational system, the SEI is also supporting
the transition of these methods into industrial
PSP2 adds personal design and code reviews practice and several corporations are currently
to PSP1. These help the engineers to find participating in PSP introduction programs.
defects earlier in their processes and to
appreciate the benefits of finding defects early. Status
4

- A course format has also been found to be


The PSP work has been under development at the most effective for introducing the PSP in
the SEI since 1989 and the author has industrial organizations.
developed a total of about 25 KLOC of C++ - Several engineers have attempted to use
and Object Pascal programs with the PSP PSP methods in their regular work. Without
method. Several graduate students at the rapid feedback provided by the PSP
Carnegie Mellon University have participated exercises, however, they have generally
in an introductory study of the PSP and early been unable to sustain the needed process
experimental work was started with Siemens discipline.
Corporate Research and the AIS Corporation
in Peoria, Ill. More recently, the Digital The PSP is not a magic answer to the
Equipment Corporation and Hewlett Packard problems of developing good software. The
Corporation have identified several interested methods take time and effort to learn and they
projects and work is progressing on introducing require consistent discipline to use. While the
the PSP in these organizations. initial PSP work concentrates on the design,
code, and test phases of software
A textbook manuscript draft has been used to development, the PSP principles can be
teach PSP courses at the University of applied to requirements specification, product
Massachusetts and Howard University in the maintenance, test planning, documentation
Fall of 1993 and at the Carnegie Mellon, development, or many other aspects of the
Bradley, Embry Riddle, and McGill software process. The detailed design, code,
universities in the Spring of 1994. Based on and unit test phases were selected because
the data from these courses, it is clear that they are important development phases and
both students and experienced engineers gain they are most suitable for the small but
substantial benefits from this work. Quality challenging classroom exercises.
improvements of two to three times are
common and measured productivity References
improvements have averaged 35%. There are
not yet sufficient data, however, to indicate [Humphrey 93] W. S. Humphrey, "The
the likely ranges of individual benefits or the Personal Software Process, Rationale
factors that influence them. It also appears and Status," The 8th International
that the more experienced students make the Software Process Workshop, Wadern,
greatest improvement. In one case, an Germany, March 2-5, 1993.
experienced engineer found that by using the
PSP, he reduced his numbers of test defects by [Humphrey 94] W. S. Humphrey, "Process
about ten times and more than doubled his Feedback and Learning," The 9th
productivity. International Software Process
Workshop, Airlie, VA, Oct. 5-7, 1994.
Conclusions
[Paulk] M. C. Paulk, Bill Curtis, M. B.
The early work on the PSP indicates that a Chrisis, "Capability Maturity Model
structured, disciplined, and measured personal for Software, Version 1.1," Software
software process can provide the guidance and Engineering Institute Technical
feedback needed to help engineers improve Report, CMU/SEI-93-TR-24, February
their personal performance. 1993.

- The engineers are more aware of their work Copyright (c) 1994 Institute of Electrical and
and better able to understand areas where Electronics Engineers. Software Process
they can improve. Newsletter, Technical Council on Software
- The process measures provide them direct Engineering, IEEE Computer Society, Volume
and explicit feedback on their work. 13, No. 1, Sept. 1994, pp SPN 1-3.
- This rapid feedback reinforces the use of
sound engineering practices.
5

This material is posted here with permission of


the IEEE. Such permission of the IEEE does
not in any way imply IEEE endorsement of any
of Carnegie Mellon University's products or
services. Internal or personal use of this
material is permitted. However, permission to
reprint/republish this material for advertising or
promotional purposes or for creating new
collective works for resale or redistribution
must be obtained from the IEEE by sending a
blank email message to
[email protected].

By choosing to view this document, you will


agree to all provisions of the copyright laws
protecting it.

You might also like