專案經理:是否實現了公司的戰略目標,或者項目目標. 具體的目標,一般是用利潤來衡量,項目的合約價格主要由銷售部門來談,專案經理必須準確的計算成本來配合報價,並且在項目過程中控製成本。有的時候利潤並不是優先目標,其他可能的目標是:贏得客戶;打響品牌;鍛煉隊伍等,如果你以打響品牌為第一目標,那你就要嚴格控制品質,不太考慮成本和利潤。公司可以把若干目標按優先順序列出,專案經理能實現前幾個即為成功,如果全部實現,那此專案經理就很了不起了。
需求分析師:項目實施後客戶對需求變更的多少,變更越少,需求分析師業績越好。需求分析師的工作對項目成敗有極大的影響,它對人的要求很高,比如溝通能力,對業務的熟悉程度和判斷能力(潛在需求),對客戶組織(誰說了算)/人員(性格等)的掌握程度,對系統運行環境的瞭解等。
系統架構師:項目整個過程的架構保持不變,如果有變化,那麼架構師的工作即為失敗。系統架構基於需求分析的結果,所以有時候架構更改要歸咎於需求分析師。其實目前軟體架構的資料資訊很多,基本上都是知識,創新的機會不多,像David H.Hansson不滿web開發的煩瑣,建立了Rails on Ruby的例子屬於極少數,我們多數都選擇成熟的架構和技術。架構師需要有廣泛的知識和長期的經驗。並且能追蹤軟體技術的最新發展。
系統設計師:項目實施後維護開發(針對新需求)工作量的多少,改動越少,設計師的業績越好。設計師的工作是項目中最具創新潛力的部分,精妙的模型,演算法開發,公司的核心技術都來源於此處,不同設計師的工作成果可能是天上地下,當然了,缺少巧妙設計的軟體系統也可以跑,但後續的維護開發必定會成為一個成本黑洞。
軟體開發師:軟體的bug數量和修複bug的時間以及bug的嚴重程度,公司可以有一個公式來量化這些指標。軟體開發師的工作是項目品質的基本保證,軟體系統最終要在這裡變成成品。很多時候軟體開發師也兼著設計工作,那麼他們的重要性就更大了,好的開發人員多數是好的設計人員,因為寫代碼本身也是在做設計。
測試工程師:軟體實施後bug的數量和嚴重程度。考核開發人員和測試人員都用了bug指標,但這些bug應該是獨立計算的。這裡bug是廣義的,比如壓力測試不過關,也算一嚴重的bug。
最後是架構/設計/開發/測試的反覆,這裡情況比較複雜,比如代碼品質低下造成測試人員工作量的劇增,測試人員是比較冤枉的,這裡就需要專案經理的智慧了,具體情況具體分析,對專案經理的要求是全面的,專案經理需要對團隊士氣負責,要知道,軟體開發是智力活(體力活的觀點非常錯誤),人的因素最重要。
專案經理負責真實而準確的記錄項目所有資料,這是業績考核的根據,他必須做到公平、公正、公開!(