成功專案管理的20條經驗(轉)

urinator發表於2007-08-14
成功專案管理的20條經驗
在最好的情況下,管理軟體專案也是很困難的。不幸的是,許多新專案經理實質上沒有受到任何就職培訓。這裡有20個成功的管理經驗供專案經理參考。

  1、定義專案成功的標準

  在專案的開始,要保證風險承擔者對於他們如何判斷專案是否成功有統一的認識。經常,滿足一個預定義的進度安排是唯一明顯的成功因素,但是肯定還有其他的因素存在,比如:增加市場佔有率,獲得指定的銷售量或銷售額,取得特定使用者滿意程度,淘汰一個高維護需求的遺留系統,取得一個特定的事務處理量並保證正確性。

  2、識別專案的驅動、約束和自由程度

  每個專案都需要平衡它的功能性,人員,預算,進度和質量同標。我們把以上五個專案方面中的每一個方面,要麼定義成一個約束,你必須在這個約束中進行操作,要麼定義成與專案成功對應的驅動,或者定義成通向成功的自由程度,你可以在一個規定的範圍內調整。相關的詳細資訊,請參照我的《建立一種軟體工程文化》(Creating a software Engineering Culture)(Dorset House,1996)中的第一章。

  3、定義產品釋出標準

  在專案早期,要決定用什麼標準來確定產品是否準備好釋出了。你可以把釋出標準基於:還存在有多少個高優先順序的缺陷、效能度量、特定功能完全可操作、或其他方面表明專案已經達到了它的目的。不管你選擇了什麼標準,都應該是可實現的、可測量的、文件化的,並且與你的客戶指的“質量”一致。

  4、溝通承諾

  儘管有承諾不可能事件的壓力,從不作一個你知道你不能保證的承諾。和客戶和管理人員溝通哪些可以實際取得時,要有好的信譽。你的任何以前專案的資料會幫助你作說服的論據,雖然這對於不講道理的人來說沒有任何可真正的防禦作用。

  5、寫一個計劃

  有些人認為,花時間寫計劃還不如花時間寫程式碼,但是我不這麼認為。困難的部分不是寫計劃,困難的部分是作這個計劃——思考,溝通,權衡,交流,提問並且傾聽。你用來分析解決問題需要花費的時間,會減少專案以後會帶給你的意外。

  6、把任務分解成英寸大小的小圓石

  英寸大小的小圓石是縮小了的里程碑。把大任務分解成多個小任務,幫助你更加精確的估計它們,暴露出在其他情況下你可能沒有想到的工作活動,並且保證更加精確、細密的狀態跟蹤。

  7、為通用的大任務開發計劃工作表

  如果你的組經常承擔某種特定的通用任務,如實現一個新的物件類,你需要為這些任務開發一個活動檢查列表和計劃工作表。每個檢查列表應該包括這個大任務可能需要的所有步驟。這些檢查列表和工作表將幫助小組成民確定和評估與他/她必須處理的大任務的每個例項相關的工作量。

  8、計劃中.在質且控制活動後應證百賜改工作

  幾乎所有的質量控制活動.如測試和技術評審.都會發現缺陷或其他提高的可能。你的專案進度或工作細分結構,應該把每次質量控制活動後的修改,作為一個單獨的任務包括進去。如果你事實上不用作任何的修改,很好,你已經走在了本任務的計劃前面。但是不要去指望它。

  9、為過程改進安排時間

  你的小組成員已經淹沒在他們當前的專案中,但是如果你想把你的組提升到一個更高的軟體工程能力水平,你就必須投資一些時間在過程改進上。從你的專案進度中留出一些時間,因為軟體專案活動應該包括做能夠幫助你下一個項日更加成功的過程改進。不要把你專案成員可以利用的時間100%的投入到專案任務中,然後驚訝於為什麼他們在主動提高方面沒有任何進展。

  10、管理專案的風險

  如果你不去識別和控制風險.那麼它們會控制你。在專案計劃時花一些時間集體討論可能的風險因素,評估它們的潛在危害,並且決定你如何減輕或預防它們。要一個軟體風險管理的簡要的指南,參見我的文章“Know Your Enemy:Software Risk Management”(Oct.1998)。

  11、根據工作計劃而不是日曆來作估計

  人們通常以日曆時間作估計,但是我傾向於估計與任務相關聯的工作計劃(以人時為單位)的數量,然後把工作計劃轉換為日曆時間的估計。這個轉換基於每天我有多少有效的小時花費在專案任務上,我可能碰到的任何打斷或突發調整請求,會議,和所有其他會讓時間消失的地方。

  12、不要為人員安排超過他們80的時間

  跟蹤你的組員每週實際花費在專案指定工作的平均小時數;實在會讓人吃驚。與我們被要求做的許多活動相關的任務切換的開銷,顯著地降低了我們的工作效率。不要只是因為有人在一頂特定工作上每週花費10小時,就去假設他或她可以馬上做4個這種任務,如果他或她能夠處理完3個任務,你就很幸運了。

  13、將培訓時間放到計劃中

  確定你的組員每年在培訓上花費多少時間,並把它從組員工作在指定專案任務上的可用時間中減去。你可能在平均值中早已經減去了休假時間、生病時間和其他的時間,對於培訓時間也要同樣的處理。

  14、記錄你的估算和你是如何達到估算的

  當你準備估算作的工作時,把它們記錄下來,並且記錄你是如何完成每個任務的。理解建立估算所用的假設和方法,能夠使它們在必要的時候更容易防護和調整,而且它將幫助你改善你的估算過程。

  15、記錄估算並且使用估算工具

  有很多商業工具可以幫助你估算整個專案。根據它們真實專案經驗的巨大資料庫,這些工具可以給你一個可能的進度和人員分配安排選擇。它們同樣能夠幫助你避免進人“不可能區域”,即產品大小,小組大小和進度安排組合起來沒有已知專案成功的情況。Software Producitivity Centre(www.spc.ca)公司的Estimate Pro是可以一試的好工具。

  16、遵守學習曲線

  如果你在專案中第一次嘗試新的過程,工具或技術,你必須認可付出短期內生產力降低的代價。不要期望在新軟體工程方法的第一次嘗試中就獲得驚人的效益,在進度安排中考慮不可避免的學習曲線。

  17、考慮意外緩衝

  事情不會象作專案計劃的一樣準確的進行,所以你的預算和進度安排應該在主要階段後面包括一些意外的緩衝,以適應無法預料的事件。不幸的是,你的管理者或客戶可能把這些緩衝作為填料,而不是明智的承認事實確實如此。指明一些以前專案不愉快的意外,來說明你的深謀遠慮。

  18、記錄實際增況與估算情況

  如果你不記錄花費在每項任務上的實際工作時間,並和你的估算作比較,你將永遠不能提高你的估算能力。你的估算將永遠是猜測。

  19、只有當任務100%完成時.才認為該任務完成

  使用英寸大小的小圓石的一個好處是,你可以區分每個小任務要麼完成了,要麼沒有完成,這比估計一個大任務在某個時候完成了多少百分比要實在的多。不要讓人們只入不捨他們任務的完成狀態;使用明確的標準來判斷一個步驟是否真正的完成了。

  20、公開、公正地跟蹤專案狀態

  建立一個良好的風氣,讓專案成員對準確地報告專案的狀態感到安全。努力讓專案在準確的、基於資料的事實基礎上執行,而不是從因為害怕報告壞訊息而產生的令人誤解的樂觀主義。使用專案狀態資訊在必要的時候進行糾正操作,並且在條件允許時進行表揚。

  這些提示不能保證你的成功,但是它將幫助你在你的專案上獲得一個堅實的把手,並且保證你做了所有你可以做的事來讓項日在這個瘋狂的世界上成功。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7942439/viewspace-21228/,如需轉載,請註明出處,否則將追究法律責任。

相關文章