績效作為公司考核員工的依據,其重要性不言而喻。管理者依據上級的目標並結合工作重點來制定績效,然後根據下屬應負的責任,將任務層層分解到責任人。如果績效做得好,員工的業績就會更好,員工就會獲得更多的獎勵,企業的凝聚力就更強了。
軟體開發績效的特點
相比其他行業,軟體開發的績效似乎並不好做。有一些客觀的因素,如:工作難以統計與量化;軟體各模組難易程度有時難以衡量等。尤其像敏捷開發這樣,不斷更新任務就更難以制定考核計划了。
軟體開發績效的效果不理想還有一些主觀上的原因:
(1)管理者大部分時間忙於技術性的工作,而忽略了對員工的溝通和觀察;
(2)很多管理者技術出身,技術上是一把好手,也許管理上並不擅長;
(3)人事變動頻繁,新同事一時難以發揮出水平,使定好的目標達不到預期的效果。
如何做好績效
1.定好目標
我在《管理者應具備的能力與素質》一文中提到:判斷目標的可靠度要用SMART法則,否則績效目標不明確,就會因不同的解釋而造成誤導,使考核的效果大打折扣。
讓我們來回顧一下SMART法則:
(1)目標是具體的(Specific)、明確的。管理者最重要是分清哪些是關鍵因素,指標要簡潔明了,千萬不可貪多貪全,而把無關緊要的內容納入績效。被考核者應明確、理解目標,並知道要達到什麼樣的結果。
(2)目標是可衡量的(Measurable),可量化的。績效目標最好能用資料或事實來表示,過於抽象就無法衡量了。
(3)目標是可達到的(Attainable)。目標不能過高或過低,過高實現不了,過低沒有意義。
(4)目標要與部門戰略相關(Relevant)。部門根據自身發展階段和戰略重點來採取相應的考核辦法。
(5)目標要有時間限制(Time-based),否則沒有意義。
2.制定考核
我認為軟體開發應該從進度、品質、難易度等方面進行考核。
開發進度按計劃時間完成不扣分,延遲完成可以按照如下公式:該模組所佔分值*[應完成天數\(應完成天數+延遲天數)]進行計算。
開發品質除了看編碼是否規範,還要依據Bug所扣的分值。具體做法如下:把Bug根據優先順序分為4個等級,A類是影響客戶利益或不能執行重要功能的Bug,如使用者的錢扣錯了,公式錯了等。B類是程式退出等錯誤。C類是介面的問題。D類是邊邊角角的問題。它們的分值設定為A:B:C:D=20:8:3:1。也就是出一個A類錯誤扣掉的分值等於犯20個D類的Bug的分值。扣掉40個Bug的分值就扣一個績效考核分。
團隊中有些工程師喜歡挑戰難度大的工作,也許該模組工作量不大,也許很耗時間,但起到的作用卻很大,因此,考核時要把模組難易度作為加分項加進去。有的員工遇到了難題,就會去請教高手的協助,如果發現高手們在完成自己工作的情況下還能協助他人,那麼果斷加分吧。
3.績效評估環節
績效分數先得員工自評,自評完了要管理者複核,管理者應注意評分要客觀、公正,不要以關係好壞來評分;也不要以偏概全,把最近員工的表現作為評判的依據;也不要把員工某一項優點放大,而推測員工整體印象。
比較好的方法是平時多觀察,多記錄,以主觀績效為主,績效考核為輔。由於軟體開發的複雜性,即使再全面和科學的指標,也不一定能夠公平準確地反映員工的真實工作狀況。管理者將平時的關鍵事件記錄下來,對員工執行情況進行跟蹤。管理者在每個月末和員工進行分析,並指出員工需要改進的地方。這種基於長期考察和調整形成的績效,往往比數字更準確。
總之,注意方法,多總結,尤其要根據實際情況制定考核方法。以上屬於個人淺見,高手看後請多指教。
專題:一分鐘先生11月專欄:如何制定績效目標?