?? 如何實行開發(fā)部門的績效考核是很多軟件公司技術管理負責人的關注點。劉青焱認為開發(fā)部門實施績效考核,一個重要的目的就是踐行量化的目標管理,其意義首先在于客觀,其次在于衡量結(jié)果公正。
記者:開發(fā)部門為什么要實行績效考核?
劉青焱:績效考核作為管理六要素之一,在有效管理、凝聚團隊、提升士氣等方面有著不可或缺的作用??梢哉f,成功的業(yè)務離不開成功的產(chǎn)品,成功的產(chǎn)品離不開成功的執(zhí)行,成功的執(zhí)行離不開成功的績效考核。開發(fā)部門是生產(chǎn)部門、執(zhí)行部門,所以有效的實施績效考核是必不可少的。
績效考核可以增強溝通。在績效考核的過程中,有點強制性的迫使管理人員和團隊成員進行定期的溝通,這對于增進管理人員和團隊成員之間的相互信任、消除誤解都有積極的作用。
藉由尊重和溝通,對開發(fā)人員進行持續(xù)地激勵,從而幫助他不斷地進步,將他們的潛力發(fā)揮到最大。這樣,通過有效地實施績效考核,將績效考核變?yōu)榭冃Ч芾砗涂冃Ц倪M,可以有助于保持整個團隊的凝聚力,進而保持高生產(chǎn)力以及工作可控性。
記者:對開發(fā)人員實行績效考核有哪些經(jīng)驗體會?
劉青焱: 基本上我遇到的問題也都是些比較典型的問題。比如開發(fā)工作很難數(shù)字化這個問題。本質(zhì)的原因是,開發(fā)工作是創(chuàng)造性的工作,總是具有不確定性在里面。有句話說得好,每個軟件項目都是一個新項目。所以傳統(tǒng)軟件工程搞了這么多年,其實是廢了的。如果不能有效地管理開發(fā)人員,軟件的質(zhì)量就是不可管理的。
但是我們又要盡量把目標用一些數(shù)字描述出來,因為數(shù)字是相對客觀公正的。所以我們可以把框架性的目標用數(shù)字描述出來,這樣溝通起來最清楚,也不容易產(chǎn)生溝通和理解上的偏差。而對于具體的執(zhí)行過程,則屬于數(shù)字之外的東西??冃Ч芾?,數(shù)字是績效,數(shù)字之外的是管理。
所以,開發(fā)工作往往不能過度追求數(shù)字。一味追求數(shù)字的后果只有一個,那就是績效被過度重視而管理被過度忽視,從而增加質(zhì)量失控的風險。
舉個例子, 完成一個后臺系統(tǒng)模塊。這里“一”就是數(shù)字,但是其他的部分呢,就完全在此之外了?;蛘?,我們再加上一個,bug數(shù)控制在N個以下。但這是無濟于事的。因為當你的業(yè)務量急速上升的時候,你會發(fā)現(xiàn)開發(fā)人員甲做的模塊可以平滑擴容,很好地支撐起新的業(yè)務量;而開發(fā)人員乙呢,就可能甚至需要停止業(yè)務,花費很大精力去重構(gòu)。
所以我的觀點是,除了錢可以被控制( 度量),其他東西是不可以被控制(度量)的。也就是說,除了銷售人員的quota是真正可以數(shù)字化的之外,其他職位的目標都是無法真正數(shù)字化的。要量化,但是不能過度追求數(shù)字。
同樣是上面的例子,我們會發(fā)現(xiàn),即使有量化目標,也無法區(qū)分優(yōu)秀的開發(fā)人員和一般的開發(fā)人員。一般而言,一個優(yōu)秀程序員的能力是一般程序員的十倍甚至二十倍還要高,但是他們的薪酬卻不會差那么大。其根本原因就是,沒有什么績效考核機制能夠準確地識別出這些優(yōu)秀的人員。因為度量工具永遠都不會擁有發(fā)現(xiàn)的功能:同樣是完成了期望的目標,你無法說甲比乙優(yōu)秀多少。結(jié)果往往是,都是符合期望,于是得分都一樣。長此以往,績效考核也就成了埋沒人才的罪魁禍首。
前人說了,千里馬常有而伯樂不常有。把千里馬當牛用的人,不在少數(shù)。因為在僵化的環(huán)境中,都是講求德比才重要。而且往往對德的判斷都是管理者的主觀臆測。一個德才兼?zhèn)涞娜瞬牛陧敿壍墓芾碚哐壑惺堑虏偶鎮(zhèn)涞?,在二流管理者眼中就往往是才勝于德,在末流管理者眼中可能就是無德無才了。
因此,用人先要識人??匆粋€人有沒有才,要從他的實際工作看,而不是只看一個數(shù)字化的結(jié)果。看一個人有沒有德,則更多取決于管理者的胸懷大小了。
所以,要做好績效管理,就要深刻理解“績效管理=績效+管理+管理者”的道理。
記者:在俱樂部會員討論時候,你曾經(jīng)提到“量化標準還是最重要的”,請問如何很好地制定這個標準呢?
劉青焱:要很好制定出量化的考核標準,最重要的一條是,技術管理者一定要懂技術,要專注技術。唯有如此,才有可能制定出公平且一致的標準,并經(jīng)充分的溝通,讓技術人員信服。然后,技術管理者需要對過程和結(jié)果保持開放和透明的評價,必須公正客觀,并在團隊內(nèi)部達成充分一致。不然,一個技術管理者很快就會墮落為一個技術官僚,并被頂級的程序員所厭惡。
只有管理者真正理解技術,真正對團隊成員了解,相互知根知底,才能制定出一致認同的目標和標準。通常講,目標設定要讓開發(fā)人員“跳一跳夠得到”。如果不是對他的能力十分清楚,不知道他的興奮點在什么位置,又怎么能夠設定出正確高度的目標呢?高度要很好地量化,首先要知道目標應該設在哪里,然后量一量,知道這個地方的目標的高度是多少。這樣才能得到最佳的量化目標。這樣得到的量化目標和標準才是可管理的。
何謂可管理的?就是這個設定不會流于形式,或者權(quán)謀,而是確確實實能夠激勵和幫助開發(fā)人員不斷提高,從而實現(xiàn)整個團隊能力和生產(chǎn)力的不斷提高。
記者:在大公司和小公司實行績效考核有什么區(qū)別嗎?
劉青焱:大公司和小公司的績效考核與績效管理區(qū)別非常大。
大公司層級復雜,甚至跨地域、跨市場,所以常常采用矩陣式管理結(jié)構(gòu),層級和匯報關系復雜。所以對于大公司,績效管理尤為重要。因其溝通成本很高,所以量化要更強,以此減少層間溝通的信息變形。
因而大公司的績效管理很容易出現(xiàn)過度量化、過度追求數(shù)字的問題。因為對于一家龐雜的大公司,唯一的一般等價物就是錢。所以大公司的CFO就時常出任CEO。
兩個團隊績效分數(shù)相同的人,可能實際能力差距巨大。所以無法再管理細節(jié)的CEO最終管的,就是錢。
在此情況下,如果我們過度追求數(shù)字,對銷售團隊是沒有錯誤的,但是對開發(fā)團隊就是災難。過度追求數(shù)字,質(zhì)量就會下降,開發(fā)人員就會沮喪,出現(xiàn)問題就會互相指責,最終帶來的后果就是團隊的分崩離析和產(chǎn)品的失敗。不要被世界500強的光環(huán)所掩蓋,它們之中如此失敗的案例比比皆是。
所以大公司里,要從組織架構(gòu)上把追求短期利益的團隊(例如銷售)和追求長期利益的團隊(例如技術研究)劃分開,分別實施不同的績效管理方法,從而在制度上盡力確保公司短期利益和長期利益的平衡。
小公司由于團隊人數(shù)少,層次簡單,等級壁壘小,溝通成本低,所以技術管理者應該多用溝通的方式代替過度量化的數(shù)字,應該把目光集中在個人目標和公司目標的一致性上。因為對于小公司而言,應該是每一個人,包括程序員,都十分清楚公司的目標以及方向。每一個人都十分清楚自己的工作對公司的未來有著至關重要的影響。
小公司因為存在更大的生存壓力,因而更注重短期目標和一致性目標。小公司資源是更加緊缺的,這也就意味著,小公司不太可能從結(jié)構(gòu)上保障短期和長期的平衡。這就對一個技術管理者提出了很高的要求。因為和銷售型團隊比較,技術性團隊更需要這種平衡。
一支團隊要在一家公司里生存,就必須有數(shù)字。一個團隊要在一家公司里長久生存,就不能過度追求數(shù)字。因為只有長久的公司里才能有長久的團隊,而短視的公司是不會長久的。在這一點上,一個技術管理者應該做好平衡的藝術。有效地運用績效管理這一工具,幫助技術管理者做好這種平衡。
無論大小公司,技術管理者都需要秉承一個理念,把技術人員當作管理者來管理。即,充分認識到程序員的工作具有很強的自主性和創(chuàng)造性,傳統(tǒng)的管理生產(chǎn)者的方法是不合適的。技術管理者重要的管理目標之一應該是團隊成員的長期成長,并通過這種成長實現(xiàn)團隊生產(chǎn)力的提高,從而更好地支持業(yè)務目標的完成。從這一點上講,績效管理,正是團隊整體生產(chǎn)力持續(xù)提升的重要管理工具。
(本文來自《程序員》雜志2010年4月刊)