Software engineering is one of the largest and most influential industries in modern society. It has evolved from early calculation applications used only by government agencies and university think tanks to complex applications that permeate every aspect of modern life. The banking, tele-communications, travel, medical, entertainment, and even agriculture industries rely heavily on software to operate. Software affects even the most mundane aspects of our lives, from buying groceries to doing a load of laundry or filling our cars’ fuel tanks with gas.
Yet, in spite of its pervasive influence, software engineering is a relatively young discipline. The term ―software engineering‖ has been in popular use only since the late 1960s, following its introduction in the title of a NATO Science Committee conference at Garmisch, Germany [Naur 69].
One frequent criticism of the software profession is the poor quality of the products it produces. This problem has been attributed to many causes, from the way software professionals are educated to the overall problems inherent within a young profession. An article in the online encyclopedia Wikipedia summed up the criticism of software development as follows:
“In traditional engineering, there is a clear consensus how things should be built, which standards should be followed, and which risks must be taken care of; if an engineer does not follow these practices and something fails, he gets sued. There is no such consensus in software engineering: Everyone promotes their own methods, claiming huge benefits in productivity, usually not backed up by any scientific, unbiased evidence” [Wikipedia 05].
A powerful counter to this criticism is the widespread adoption of the Personal Software Process (PSP) methodology. Developed in 1993 by Watts S. Humphrey, the PSP is a disciplined and structured approach to developing software. By using the PSP concepts and methods in their work, individuals in almost any technical field can improve their estimating and planning skills, make commitments that they can meet, manage the quality of their work, and reduce the number of defects in their products.
The effectiveness of the PSP methodology (and its companion technology, the Team Software ProcessSM or TSPSM) in both academic and industrial settings is documented in numerous technical reports and peer-reviewed journal articles. Since PSP relies heavily on the collection and analysis of personal data as proof of effective process implementation, the claims made in these reports and articles are supported by objective, hard-data evidence.
Replaced/Superseded by document(s)
|File||MIME type||Size (KB)||Language||Download|
|The Personal Software Process (PSP) Body of Knowledge (BOK).pdf||application/pdf||1.37 MB||English||DOWNLOAD!|
As the profession of software engineering evolves and matures, it must achieve some of the critical elements needed for recognition as a bona fide discipline. Among these elements are the establishment of a recognized body of knowledge (BOK) and certification of professional practitioners.
The body of knowledge contained in this report is designed to complement the IEEE Computer Society’s Software Engineering Body of Knowledge (SWEBOK) [IEEE 04] by delineating the skills and concepts that compose the knowledge areas and competencies of a proven-effective process improvement method, the Personal Software Process (PSP). As adoption of the PSP methodology continues to grow, it becomes crucial to document the fundamental knowledge and skills that set PSP practitioners apart from other software professionals. The PSP BOK serves this purpose and more. It helps individual practitioners to assess and improve their own skills; provides employers with an objective baseline for assessing the personal process skills and capabilities of their product development team members; and guides academic institutions that want to incorporate PSP into their software and other engineering courses or curricula. The PSP BOK also facilitates the development of PSP certification programs that are based on a well-established, standard set of knowledge and skills.