Content deleted Content added
No edit summary Tags: Visual edit Mobile edit Mobile web edit |
CS1 error |
||
(16 intermediate revisions by 14 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" />
==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 20 ⟶ 23:
;PSP0, PSP0.1 (Introduces process discipline and measurement)
PSP0 has 3 phases: planning, development (design, code, compile, test) and a post mortem.
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 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 134 ⟶ 137:
* [[Team software process]] (TSP)
* [[Watts Humphrey]]
==References==
<references />
==Further reading==
Line 145 ⟶ 151:
==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]]
|