PSP PDF
PSP PDF
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.
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
- 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