PSP學習筆記1

2021-04-02 21:59:46 字數 1756 閱讀 4485

我要接受乙個星期的緊張培訓,培訓的課程叫做《sw six sigma》,副標題是《psp(personal software process)

》。 我們公司是乙個講究6西格瑪的公司,所以每個人的工作總是離不開6西格瑪,你不是在1p1p(1 people 1 project),就是在tdr(tear down and redesign)中。我並不明白psp和6西格瑪有什麼關係,但我知道,psp在國外大學裡是需要乙個學期來學習的,然後倒了一般的培訓機構,課程被壓 縮到了兩個星期,然後再到了公司,課程就被壓縮到了乙個星期。有時我只是想,這種壓縮(當然我指的是過分的壓縮)是沒有意義的。培訓的目的是希望員工掌握 培訓的內容,但過分的壓縮往往是消耗了時間,換來一堆無奈,茫然的眼神。還有更糟糕的,有很多同事和我說"這東西根本就沒有用!",我想他們上課時的眼神 應該已經是睡眼了,或者說已經沒有眼神了。

psp,tsp 還有cmm都是在強調軟體的過程管理的重要性,我們可以看到其實他們有如下的關係:

到底psp有沒有用我不明確,但我的傾向它應該是有些用處的。所以我談談第一天課程我的理解。

今天主要介紹了兩方面:

1. psp 是概要。

psp是什麼? psp(personal software process

),翻譯成中文就是個人sw開發流程。我們可以說 psp是把個人開發process特性轉換為data,做出測量及分析的工具。也可以把psp看做為個人作業履行能力改善為目的的規範化程式。

其中最基礎的,就是了解歷史,沒有資料,談優化,談提高都是說白話。

個體軟體過程psp和團隊軟體過程就是提供了乙個較好的實踐指南。psp裡面印象最深的就是兩份**,乙份是時間安排表,乙份是錯誤統計表。有了 這些資料,就可以知道自己的時間都花在哪些事情上面,做事的錯誤率有多少。過一段時間,再回去看看,也能知道自己是不是進步了。對於未來,比如估算專案完 成時間和成本,也是非常重要的乙個依據。

正像上面

flykite說的,psp 提供了對個人軟體開發過程提供了可測量的方法。這樣就可以根據測量出的data,確定自己真實的履行業務的能力,這些通過data都能客觀的定量的表現出 來。並且我們可以通過這些資訊找尋自己的缺點與不足,隨後進行改善。當然我們還可以根據這些資訊,說服我們的上司,我們需要多長時間完成這個任務,而不是 像他想象的那樣快。

那麼在個人軟體開發過程中有什麼東西是可測量的呢?這要問你自己,psp並沒有規定這些東西。我只能舉幾個例子:例如**的size測量,編譯時間,你的生產性(即你單位小時能產生的**行數),等等。

psp和cmm的關係上圖中已經有所表現。cmm特性告訴我們,它可以幫助我們有效的開發大規模的software。而psp則是為了讓個人作業更有原則而產生的工具。

同6西格瑪和cmm一樣,psp也被分為多個階段。由psp0到psp3四個階段。今天只說說psp0。

2. psp0的使用

在psp0這個階段,側重的是測量。測量是為了得到data,其最終目的是為了掌握自己的現有業務水平,為以後的分析,計畫與優化打好堅實的基礎。

3. size的測量。

size測量(sw size measure)中並沒有規定我們要以什麼做為"size",而相應的在psp裡則明確的測量基準:

1) 要去開發所必需的投入努力(effort)有所關係

2)要精密(秒單位比分單位更理想)

3)要可以自動測量(machine countable)

手動測量需要過多的時間,並且error出現概率大

4)要刻意的使其使用與初期設計階段

所以只要能滿足上面幾點的內容都可以作為size,比如loc(line of code)。

PSP 筆記 未完

psp是為了得到 程式設計可控 改善你的能力 對自己評估 錯誤和解決 參考 www.sei.cmu.edu tsp psp 為了更好地學習psp,我們需要測試方法和激勵手段,如下 the psp 課程的學習 rup的資料 psp支援工具 psp論壇 一旦學好了psp,就可以在團隊中採用tsp進一步提...

個體軟體過程 PSP 學習筆記 未完

軟體開發中的問題 什麼是過程?過程要素詳解 psp框架說明 你還可以 psp提供了 計畫過程是從規模估算開始的,由此必須做規模估算 依據規模估算,我們可以估計出完成產品開發所需要的時間 怎麼算?在此之前,我們必須有乙個度量規模的方法 過程度量原則 度量過程並不會改進它,為了達到持久改進,必須改變過程...

PSP學習 一 缺陷管理

即使有經驗的程式設計師,一般開發 7 10 行源程式就會引入乙個缺陷,一般在編譯和測試階段能發現和糾正大部分缺陷,但仍有許多缺陷留在最終產品中。缺陷是指程式中存在的錯誤 為防止缺陷的引入,需要精通所用的程式語言,深入理解開發支援環境,掌握要開發的應用系統的型別等。一般的軟體組織要用一半以上的時間和精...