領測軟件測試網
引言 Watts Humphrey 作為8000個工程師的編碼主管,在IBM長達27年的工作期間,親身經歷過無數次軟件項目
開發的成功與失敗,總結出一系列寶貴經驗。在 美國國防部的贊助下,他 于 1986年開始研究并于1991年提出能力成熟度模型CMM,為軟件過程改進制定了基本框架。之后不久,他意識到CMM 只告訴企業 "應該做什么",而沒有告訴企業特別是每一個開發人員"應該怎樣做"。針對這一欠缺,Humphrey在1994年推出了個體軟件過程(Personal Software Process,PSP)和群組軟件過程(Team Software Process, TSP)。在我國, 周伯生教授于1994年首次在廣州對PSP技術作了介紹,又于1999年在廣州對TSP技術首次作了全面系統的介紹。 雖然PSP/TSP在國外許多大中型軟件企業得到了廣泛應用,并取得了令人矚目的成效,但在我國還屬于剛剛起步。那么,PSP/TSP適合中國的國情嗎?它們真的那么好嗎?它們能給您的企業帶來什么?對開發人員又有何利弊?對項目小組有什么作用?項目經理和高層領導能從中得到什么?它與CMMI是什么關系?本文和下一篇文章用實際例子和真實數據來回答這些問題。
PSP-提倡以人為本
多數
軟件工程師總喜歡把自己當作精英,崇尚個人主義,以編碼速度快而自傲。管理人員進行
項目管理時,往往會采用統一死板的模式,將規定強加于工程師身上,效果不佳。 PSP過程改進正是針對這一情況,采用以人為本的方針,以自身為出發點,從本人做起。工程師根據自身的情況,親自搜集有關本人的開發數據,基于這些來制訂最適合自己的改進目標和具體的改進措施,并實行自我監督。自覺地、不斷地改進和提高。從理論上講,這種策略最有實效,易于接受。
PSP-使您成為一名更好的專業軟件工程師
從我們上第一堂程序課開始,老師只教編程技巧,學生比的是編碼速度。然而,在當今社會,要在規定的期限內開發出高
質量的產品,對一個開發人員的要求遠遠不止這些。 PSP
培訓就是給開發人員補課,讓他(她)們掌握軟件過程管理和項目管理方面最先進的技能和最佳的實踐,包括:精確地
估算軟件規模大小 ;合理安排自己的項目開發時間;以時間和規模為根據合理地規劃項目,準確地預計工期; 減少產品
缺陷; 度量和跟蹤自己的績效;使用掙值法跟蹤進度;兌現自己所做的承諾;抵制不合理的承諾壓力;收集數據來持續地提高自己的生產率、軟件質量、以及工期預測能力;客觀地發現自己的薄弱環節并及時進行改進提高等。 PSP 不僅幫助您提高編碼水準,還指導您更好地進行
需求或過程定義、評審、
測試、文檔編寫等。作為一個開發人員,如果您擁有了這些,您無疑已成為一個真正的軟件工程師。按照 Humphrey 的觀點, 您如果遵從 PSP 的所有規范,您實際上已經在按 CMMI 5 級的要求在進行軟件開發了。
學習 PSP 并不難,您只需要 10 天的強化訓練,就能掌握所有技巧,并獲得由 SEI 頒發的全世界通用的證書。圖 1 和圖 2 是我們在北京某公司對開發人員進行培訓時的部分結果。全班 37 名學員,每人按 PSP 要求,編寫 10 個小程序,進行規模和開發時間估算等。從圖 1 , 2 看出,在做了 6 個程序之后,大家的估算誤差已低于 10 %。項目組在開發項目時,通常大家先各自估算,然后匯總平均,正負誤差抵消,這樣結果會更好。
圖 1, PSP培訓時開發時間估算誤差
圖 2, PSP培訓時程序規模估算誤差

PSP-額外的工作不會影響編碼速度
在引入一個新過程時,開發人員需要處理一些與過程有關的事情,如記錄自己的開發時間和缺陷數等。公司領導最關心的事情之一是這些會不會影響工程師的工作效率,如編碼速度會不會降低?圖 3的數據很好地回答了這一問題。

圖 3, 使用或不使用PSP時工程師編碼速度對比
這是SEI對886個開發人員的統計結果,質量目標指定為每千行缺陷數低于5,在此前提條件下,
程序員未受PSP訓練時,編寫357個程序的平均速度是28.66行/小時,接受PSP標準訓練后,編寫1272個程序的平均速度是30.33行/小時,不僅沒有下降,反而有所提高。一部分工程師的編碼速度仍然高達每小時100多行。有人可能要問,這似乎不太可能,但仔細想想,采用PSP后,工程師做開發時邏輯思路更清晰,計劃、設計等更完善,編譯時間大大縮短,生產率反而得到提高就不足為怪了。
PSP-真正的免費午餐
PSP始終把產品質量控制放在首位,強調在各開發階段進行自我評審和同行審查,在各開發階段就把
Bug控制到最低限度。使用PSP/TSP后, 產品缺陷率會成倍地下降(進一步的說明見下文)。圖3的數據和SEI多年的研究結果已經證實,使用PSP后代碼編寫速度不僅不會下降,反而還略有回升,額外收獲是我們得到了產品的高質量, 真正的免費午餐。
PSP-經過國內外無數家著名公司的驗證
PSP技術從1996年開始在工業界推廣,先后被IBM、波音公司、 Advanced Information Services、Teradyne、Motorola、XEROX、Honeywell、ABB等1000多家公司所采納和接受。去年,微軟正式宣布采用PSP/TSP技術進行軟件開發并取得了非常好的效果?上驳氖,早在2003年,在賽柏科技,我國已經有了自己的第一位SEI正式授權的PSP正規培訓師,目前正在培養更多的PSP培訓師和TSP啟動教練。相信在不久的將來,該技術將在我國得到更為廣泛的推廣。
作者介紹
張久全,CMMI/PSP/TSP過程改進咨詢顧問,留美軟件工程碩士。曾在美國,澳大利亞和國內數家公司就職。在多年的工作中積累了廣泛的研發管理經驗,對
軟件度量技術、軟件質量、PSP、TSP、 CMMI等有較深的理解,F就職于北京賽柏科技有限公司。聯系方式:joezhang85@126.com 13552448652
文章來源于領測軟件測試網 http://www.kjueaiud.com/
TAG:
軟件工程師