1 為大任務(wù)制定計劃工作表
如果你的組經(jīng)常承擔(dān)某種特定的通用任務(wù),你需要為這些任務(wù)開發(fā)一個活動檢查列表和計劃工作表。每個檢查列表應(yīng)該包括這個大任務(wù)可能需要的所有步驟。這些檢查列表和工作表將幫助小組成員確定和評估與他必須處理的大任務(wù)相關(guān)的工作量。
2 把任務(wù)分解成“英寸大小的小圓石”
“英寸大小的小圓石”是縮小了的里程碑。把大任務(wù)分解成多個小任務(wù),幫助你更加精確地估計它們,暴露出在其他情況下你可能沒有想到的工作活動,并且保證更加精確、細密的狀態(tài)跟蹤。
3 計劃中,在質(zhì)量控制活動后應(yīng)該有修改工作
幾乎所有的質(zhì)量控制活動,如測試和技術(shù)評審,都會發(fā)現(xiàn)缺陷或其他提高的可能。你的項目進度或工作細分結(jié)構(gòu),應(yīng)該把每次質(zhì)量控制活動后的修改,作為一個單獨的任務(wù)包括進去。如果你事實上不用做任何的修改,很好,你已經(jīng)走在了計劃的前面。
4 為“過程改進”安排時間
你的小組成員已經(jīng)淹沒在他們當(dāng)前的項目中,但是如果你想把你的組提升到一個更高的軟件工程能力水平,你就必須投一些時間在“過程改進”上。從你的項目進度中留出一些時間,因為軟件項目活動應(yīng)該包括做能夠幫助你下一個項目更加成功的過程改進。不要把你項目成員可以利用的時間100%的投入到項目任務(wù)中,然后驚訝于為什么他們在主動提高方面沒有任何進展。
5 管理項目的風(fēng)險
如果你不去識別和控制風(fēng)險,那么它們會控制你。在項目計劃時花一些時間集體討論可能的風(fēng)險因素,評估它們的潛在危害,并且決定你如何減輕或預(yù)防它們。
6 根據(jù)工作計劃而不是日歷來估計
人們通常以日歷時間做估計,但是我傾向于估計與任務(wù)相關(guān)聯(lián)的工作計劃(以“人時”為單位)的數(shù)量,然后把工作計劃轉(zhuǎn)換為日歷時間的估計。這個轉(zhuǎn)換基于每天我有多少有效的小時花費在項目任務(wù)上,我可能碰到的任何打斷或突發(fā)調(diào)整請求、會議,和所有其他會讓耗費時間的地方。
7 不要為人員安排超過工作時間80%的任務(wù)量
跟蹤你的組員每周實際花費在項目指定工作上的平均小時數(shù),實在會讓人吃驚。與我們被要求做的許多活動相關(guān)的任務(wù)切換的開銷,顯著地降低了我們的工作效率。一個員工一周理論上工作40小時,但不要只是因為有人在一項特定工作上每周花費10小時,就去假設(shè)他或她可以馬上做4個這種任務(wù),如果他或她能夠處理完3個任務(wù),你就很幸運了。
8 將培訓(xùn)時間放到計劃中
確定你的組員每年在培訓(xùn)上花費多少時間,并把它從組員工作在指定項目任務(wù)上的可用時間中減去。你可能在平均值中早已經(jīng)減去了休假時間、生病時間和其他的時間,對于培訓(xùn)時間也要同樣的處理。
9 定義項目成功的標(biāo)準(zhǔn)
在項目的開始,要保證各方對于判斷項目是否成功有統(tǒng)一的認識。通常,跟緊預(yù)定的進度是唯一明顯的成功要素,但是肯定還有其他的因素存在,比如,增加市場占有率、獲得指定的銷售量或銷售額、取得特定用戶滿意程度、淘汰一個高維護需求的遺留系統(tǒng)等。
10 把握各種要求之間的平衡
每個項目都需要平衡它的功能、人員、預(yù)算、進度和質(zhì)量目標(biāo)。我們把以上五個項目方面中的每一個方面,綜合成一個約束條件,你必須在這個約束中進行操作;你也可以定義成與項目成功對應(yīng)的驅(qū)動力,或者定義成通向成功的自由程度??梢栽谝粋€規(guī)定的范圍內(nèi)調(diào)整。
11 公開、公正地跟蹤項目狀態(tài)
創(chuàng)建一個良好的風(fēng)氣,讓項目成員對準(zhǔn)確地報告項目的狀態(tài)感到安全。努力讓項目在準(zhǔn)確的、基于數(shù)據(jù)的事實基礎(chǔ)上運行,而不是從因為害怕