Content deleted Content added
No edit summary |
CS1 error |
||
(41 intermediate revisions by 36 users not shown) | |||
Line 1:
{{Short description|Process to improve programming quality}}
{{More footnotes needed|date=August 2023}}
{{Software development process}}
[[File:PSP_Task_Overview_form_(image).png|thumb|Image of a PSP Task Overview form.]]
The '''Personal Software Process''' ('''PSP''') is a structured [[software development]] process that is
"Personal Software Process" and "'''PSP'''" are registered [[service mark]]s of the [[CMU Common Lisp|Carnegie Mellon University]].<ref name=":0" /><ref>{{cite web| url=http://www.sei.cmu.edu/legal/ | title=Terms of Use | publisher=[[Software Engineering Institute]], [[Carnegie Mellon University]] | ___location=USA |
==Objectives==
Line 13 ⟶ 16:
==PSP structure==
PSP training follows an evolutionary improvement approach: an engineer learning to integrate the PSP into his or her process begins at the first level – PSP0 – and progresses in process maturity to the final level – PSP2.1. Each Level has detailed scripts, checklists and templates to guide the engineer through required steps and helps the engineer improve
;Process
Line 19 ⟶ 22:
;PSP0, PSP0.1 (Introduces process discipline and measurement)
PSP0 has 3 phases: planning, development (design,
A baseline is established
In a post mortem, the engineer ensures all data for the projects has been properly recorded and analysed.
PSP0.1 advances the process by adding a coding standard, a size measurement and the development of a personal process improvement plan (PIP). In the PIP, the engineer records ideas for improving his own process.
Line 90 ⟶ 93:
In practice, PSP skills are used in a TSP team environment. TSP teams consist of PSP-trained developers who volunteer for areas of project responsibility, so the project is managed by the team itself. Using personal data gathered using their PSP skills; the team makes the plans, the estimates, and controls the quality.
Using PSP process methods can help TSP teams to meet their schedule commitments and produce high quality software. For example, according to research by Watts Humphrey, a third of all software projects fail,<ref>Humphrey, Watts S. "Why Big Software Projects Fail: The 12 Key Questions." CrossTalk Mar. 2005 http://www.crosstalkonline.org/storage/issue-archives/2005/200503/200503-Humphrey.pdf {{Webarchive|url=https://web.archive.org/web/20191105150756/http://www.crosstalkonline.org/storage/issue-archives/2005/200503/200503-Humphrey.pdf |date=2019-11-05 }}</ref> but an SEI study on 20 TSP projects in 13 different organizations found that TSP teams missed their target schedules by an average of only six percent.<ref>Davis, Noopur, and Julia Mullaney. The Team Software Process SM (TSP SM) in Practice: A Summary of Recent Results. Pittsburgh, PA: Software Engineering Institute, Sept. 2003.</ref>
Successfully meeting schedule commitments can be attributed to using historical data to make more accurate estimates, so projects are based on realistic plans – and by using PSP quality methods, they produce low-defect software, which reduces time spent on removing defects in later phases, such as integration and acceptance testing.
Line 104 ⟶ 107:
* Make plans and process improvements.
Both Agile and the TSP/PSP share the idea of team members taking responsibility for their own work and working together to agree on a realistic plan, creating an environment of trust and accountability. However, the TSP/PSP differs from Agile in its emphasis on documenting the process and its use of data for predicting and defining project schedules.
===Quality===
Line 124 ⟶ 127:
==Certification==
A certification covering PSP is offered by the SEI at Carnegie Mellon University. The steps to becoming an SEI-Certified PSP Developer are: learn the PSP; take the certification exam; maintain credentials.
The PSP Developer examination is based on concepts found in the PSP Body of Knowledge.<ref name=PSP-BOKv2>{{cite book|last1=Pomeroy-Huff|first1=Marsha|last2=Cannon|first2=Robert|last3=Chick|first3=Timothy A.|last4=Mullaney|first4=Julia|last5=Nichols|first5=William|title=The Personal Software Process (PSP) Body of Knowledge, Version 2.0|date=2009|publisher=[[Software Engineering Institute]], [[Carnegie Mellon University]]|___location=Pittsburgh, Pennsylvania|url=http://resources.sei.cmu.edu/asset_files/SpecialReport/2009_003_001_15029.pdf|
==See also==
Line 136 ⟶ 139:
==References==
<references />
==Further reading==
* "Using a defined and measured Personal Software Process" by [[Watts Humphrey|Watts S. Humphrey]], published in ''[[IEEE Software]]'', May 1996, pages 77–88.
* [http://www.sei.cmu.edu/library/abstracts/books/0321305493.cfm PSP: A Self-Improvement Process for Software Engineers], 2005.
* [
*"Delivering Successful Projects With Challenges of New Teams" by Mukesh Jain (http://www.sei.cmu.edu/tspsymposium/2009/2006/deliver.pdf), September 2006.
*Software Engineering: A Practitioner's Approach 7th Edition. Roger S Pressman. McGraw-Hill Higher Education. 2009. {{ISBN
* [http://www.sei.cmu.edu/library/abstracts/reports/09sr018.cfm "The Personal Software Process (PSP) Body of Knowledge"] article from the [[Software Engineering Institute]] at [[Carnegie Mellon]].
* [http://www.methodsandtools.com/archive/archive.php?id=60 "Personal Quality Management with the Personal Software Process"] article.
==External links==
* [http://www.processdash.com/ Software Process Dashboard], Open-source ([[GPL3]]) PSP and TSP tool; offered both [[Classless Inter-Domain Routing|without]] and with proprietary SEI scripts, latter requiring free SEI registration.
[[Category:Software development process]]
|