- Personal Software Process
The Personal Software Process is a subset of the
Capability Maturity Model (CMM) processes, readily applicable to individualsoftware engineer s. It was first defined in 1994 byWatts Humphrey in his book "A Discipline for Software Engineering" (Addison Wesley Professional , Massachusetts, 1994) as part of the Software Process Program of theSoftware Engineering Institute at Carnegie Mellon University. The PSP is a quantified method aimed to the improvement of the quality and productivity of the personal work of individual software engineers. "Personal Software Process" and "PSP" are registeredservice mark s of the Carnegie Mellon University. [http://www.sei.cmu.edu/about/legal-trademarks.html]The PSP philosophy is largely based on reviews at every stage of the
development cycle .Before code is written, an outline of the desired behavior is written. That description is ‘implemented’ in
pseudocode , and then each line of pseudo code is implemented in the target language.Only when the entire unit of code is completely written, analyzed and reviewed, is it compiled and run. It is expected to compile and run first time. If it does not, every error, including syntax errors, needs a root cause analysis. The philosophy is that by manually examining the code in such detail to exclude all detectable errors, a better design will be produced than would be produced by a code-compile-fix cycle.
PSP is like applying
Six Sigma toSoftware Development .Mukesh Jain led large scale deployment of PSP/TSP inMicrosoft India. Within 6 months, more than 2/3 of the projects shipped were without any defects and 94% of the projects were delivered on time. Fact|date=October 2007Here is the presentation made at SEI's TSP User group conference which talks about how TSP was implemented, challenges faced and benefits realized through TSP http://www.sei.cmu.edu/tsp/sym2006-presentations/deliver.pdf
The Personal Software Process consists of seven Competency Areas:
*Competency Area 1: Foundational Knowledge
*Competency Area 2: Basic PSP Concepts
*Competency Area 3: Size Measuring and Estimating
*Competency Area 4: Making and Tracking Project Plans
*Competency Area 5: Planning and Tracking Software Quality
*Competency Area 6: Software Design
*Competency Area 7: Process Extensions and CustomizationPublications
* [http://www.sei.cmu.edu/publications/books/process/psp-self-improvement.html PSP: A Self-Improvement Process for Software Engineers] 2005
References
*"Using a defined and measured Personal Software Process" by Watts S. Humphrey, published in "
IEEE Software ", May 1996, pages 77-88.ee also
*
Team Software Process (TSP)
*Watts Humphrey External links
* [http://www.sei.cmu.edu/tsp/ PSP homepage]
* [http://www.sei.cmu.edu/publications/documents/05.reports/05sr003.html "The Personal Software Process (PSP) Body of Knowledge"] article from theSoftware Engineering Institute atCarnegie Mellon
* [http://www.methodsandtools.com/archive/archive.php?id=60 "Personal Quality Management with the Personal Software Process"] article
Wikimedia Foundation. 2010.