軟件項目活動應該包括做能夠幫助你下一個項目更加成功的過程改進。不要把你項目成員可以利用的時間100%的投入到項目任務中,然后驚訝于為什么他們在主動提高方面沒有任何進展。
10. 管理項目的風險
如果你不去識別和控制風險,那么它們會控制你。在項目計劃時花一些時間集體討論可能的風險因素,評估它們的潛在危害,并且決定你如何減輕或預防它們。
11. 根據(jù)工作計劃而不是日歷來作估計
人們通常以日歷時間作估計,但是我傾向于估計與任務相關聯(lián)的工作計劃(以人時為單位)的數(shù)量,然后把工作計劃轉換為日歷時間的估計。這個轉換基于每天我有多少有效的小時花費在項目任務上,我可能碰到的任何打斷或突發(fā)調(diào)整請求,會議,和所有其他會讓時間消失的地方。
12. 不要為人員安排超過他們80%的時間
跟蹤你的組員每周實際花費在項目指定工作的平均小時數(shù),實在會讓人吃驚。與我們被要求做的許多活動相關的任務切換的開銷,顯著地降低了我們的工作效率。不要只是因為有人在一項特定工作上每周花費10小時,就去假設他或她可以馬上做4個這種任務,如果他或她能夠處理完3個任務,你就很幸運了。
13. 將培訓時間放到計劃中
確定你的組員每年在培訓上花費多少時間,并把它從組員工作在指定項目任務上的可用時間中減去。你可能在平均值中早已經(jīng)減去了休假時間、生病時間和其他的時間,對于培訓時間也要同樣的處理。
14. 記錄你的估算和你是如何達到估算的
當你準備估算你的工作時,把它們記錄下來,并且記錄你是如何完成每個任務的。理解創(chuàng)建估算所用的假設和方法,能夠使它們在必要的時候更容易防護和調(diào)整,而且它將幫助你改善你的估算過程。
15. 記錄估算并且使用估算工具
很多商業(yè)工具可以幫助你估算整個項目。根據(jù)它們真實項目經(jīng)驗的巨大數(shù)據(jù)庫,這些工具可以給你一個可能的進度和人員分配安排選擇。它們同樣能夠幫助你避免進入“不可能區(qū)域”,即產(chǎn)品大小,小組大小和進度安排組合起來沒有已知項目成功的情況。Software Productivity Centre(www.spc.ca)公司的Estimate Pro是可以一試的好工具。
16. 遵守學習曲線
如果你在項目中第一次嘗試新的過程,工具或技術,你必須認可付出短期內(nèi)生產(chǎn)力降低的代價。不要期望在新軟件工程方法的第一次嘗試中就獲得驚人的效益,在進度安排中考慮不可避免的學習曲線。
17. 考慮意外緩沖
事情不會象你項目計劃的一樣準確的進行,所以你的預算和進度安排應該在主要階段后面包括一些意外的緩沖,以適應無法預料的事件。不幸的是,你的管理者或客戶可能把這些緩沖作為填料,而不是明智的承認事實確實如此。指明一些以前項目不愉快的意外,來說明你的深謀遠慮。
18. 公開、公正地跟蹤項目狀態(tài)
創(chuàng)建一個良好的風氣,讓項目成員對準確地報告項目的狀態(tài)感到安全。努力讓項目在準確的、基于數(shù)據(jù)的事實基礎上運行,而不是從因為害怕報告壞消息而產(chǎn)生的令人誤解的樂觀主義。使用項目狀態(tài)信息在必要的時候進行糾正操作,并且在條件允許時進行表揚。
19. 只有當任務100%完成時,才認為該任務完成
使用英寸大小的小圓石的一個好處是,你可以區(qū)分每個小任務要么完成了,要么沒有完成,這比估計一個大任務在某個時候完成了多少百分比要實在的多。不要讓人們只入不舍他們?nèi)蝿盏耐瓿蔂顟B(tài);使用明確的標準來判斷一個步驟是否真正的完成了。
20. 記錄實際情況與估算情況
如果你不記錄花費在每項任務上的實際工作時間,并和你的估算作比較,你將永遠不能提高你的估算能力。你的估算將永遠是猜測。