文摘:本文引入信息經濟學中“棘輪效應”理論,闡明了軟件管理過程中“棘輪效應”產生的原因、必要條件以及相應的對策。本文可以為項目經理制定科學的業績評價標準提供建議。
關鍵詞:軟件項目管理 棘輪效應 業績評價標準
一.引論
棘輪效應(ratchet effects)一詞初來自對蘇聯式計劃經濟制度的研究。在計劃體制下,企業的年度生產指標根據上年的實際生產不斷調整,好的表現反而由此受到懲罰(因此,聰明的經理用隱瞞生產能力來對付計劃當局)。這種標準隨業績上升的趨向被稱為“棘輪效應”。其實,這種現象普遍存在于經濟、管理領域,當然也存在于項目管理過程中。下面,我們主要研究一下軟件項目管理過程中的棘輪效應及其對策。
二.產生的原因
在軟件開發過程中,如何評價開發人員的業績是一個非常棘手的問題。項目經理總是希望評價標準盡可能客觀一些,因為評價標準越客觀,對開發人員的努力水平的推斷越準確,激勵效果越明顯。由于軟件項目開發本身的信息不對稱性,開發過程中存在著各種各樣的不確定因素,項目經理對開發人員的評價標準是逐漸完善的。即通常情況下,項目經理是將開發人員過去的業績作為評價標準,并以此制定新的工作計劃。然而,開發人員的水平參差不齊,努力程度也高低不一。比如說,有一個開發人員能力水平高或努力工作,提前完成了項目經理分配給他的任務;而另一個開發人員能力水平低或工作偷懶,結果沒有按時完成任務。那么,項目經理有可能認為前者的工作量小,需要提高工作量;后者的工作量大,需要減少工作量。這時,“棘輪效應”出現了:作為理性的高水平或努力工作的開發人員,是不會選擇繼續努力工作的,因為他們清楚,越努力項目經理評價他的業績標準越高,自身利益損失越大。
三.產生的三個必要條件
下面我們簡要描述一下“棘輪效應”產生的三個必要條件。
第一,項目經理和開發人員的合作具有長期性。在臨時性的小型軟件項目組中,由于開發周期很短,工作量小,開發人員的努力程度或水平差異沒有明顯的區別,項目經理也沒有開發人員過去的業績作為參考來評價其現在的業績。或者在大型軟件項目中,由于不同的技術支持需要,項目組常常從不同部門借調人員加入(完成工作后借調人員回原部門)。這部分人員具有很大的流動性,他們過去的業績也不為項目經理所了解。在類似的情形下,“棘輪效應”是不會發生的。
第二,項目經理和開發人員之間存在著信息不對稱。“棘輪效應”發生的關鍵在于項目經理對如何看待開發人員的業績,缺乏一個客觀的評價標準。造成這種現象的原因關鍵又在于雙方之間的信息不對稱。項目經理想建立一個客觀的評價業績標準,但他不知道開發人員各自的真實水平和努力程度;項目組成員清楚自身的能力和努力狀況,但很難讓項目經理相信他所擁有的能力水平和努力程度是所有成員中大的(因為項目經理傾向于相信自己的評價標準是客觀公正的)。
第三,開發人員是“理性人”。所謂“理性人”,是指能充分理解自身利益所在,并能采取正確對策去大化謀取自身利益的人。如果“理性人”的假設不成立,軟件開發人員即使知道努力工作的后果是項目經理提高其業績評價標準,他仍然會繼續努力工作。此時,不存在“棘輪效應”。
四.相應的對策
1.工時研究與標準化
我們可以在這里引入泰羅的科學管理理論——工時研究與標準化。它不是簡單地對每位開發人員完成一項任務作出時間上的統計,而是把一項任務分解成各種基本的步驟,并作測試,然后根據其合理性,重新進行安排,以尋求佳開發方式。采用工時研究的好處是,通過任務的分解,去掉無用的步驟,可以對高水平的開發人員在軟件開發過程中的每一個基本步驟進行觀察,并記錄下完成每個步驟所需的時間。在所記錄的時間上,再加上不可避免的耽擱和停頓所需的百分比,所得到的時間是完成這個基本步驟的標準時間。項目經理可以以此作為評價開發人員業績的標準。有了這個標準,開發人員不用擔心自己的努力得不到承認,“棘輪效應”也不會發生了。當然,由于軟件開發本身所固有的特性,這個標準不可能是精確的,開發工具的選取、開發環境的好壞、業務需求的清晰與否、軟件質量的高低,等等,都可能改變標準時間的結果。
2.加強項目經理與開發人員的溝通
加強項目經理與開發人員的溝通是克服兩者之間信息不對稱的重要途徑。在缺乏信息的情況下,任何高明的項目經理都難以客觀評價開發人員的業績。我們建議,除了在開發實踐中自發的交流,項目經理還應有意識地抽取一定時間,召集開發人員進行溝通,了解開發過程中的問題,制定下一步開發計劃;開發人員應嚴格按照軟件工程的要求,詳細記錄自己所做的每一步工作,實現開發過程文檔化,并提交項目經理,使其能清楚地了解自己所做的工作。在溝通過程中應該注意:提高溝通的效率,只溝通必要的信息;排除個人之間的成見;改善溝通環境,避免外界環境的干擾;溝通之后,對溝通進行追蹤,了解執行情況。
3.建立長期的合作關系
雖然項目經理和開發人員之間長期合作關系是“棘輪效應”產生的必要條件之一,但這種長期關系發展到一定階段能弱化“棘輪效應”。在長期合作關系下,項目經理和開發人員都有足夠的耐心來實現自己的利益大化。一方面,根據大數定理,開發過程中的外生不確定性可以剔除,項目經理可以相對準確地從觀測到的信息中推斷開發人員的努力水平和能力高低,開發人員不可能用偷懶的辦法提高自己的利益;另一方面,長期合作關系以保險的方式克服了項目經理和開發人員雙方的風險,通過長期的合作,雙方了解加深,項目經理不會堅持給努力工作或高水平的開發人員制定高標準(這樣會打擊他們的積極性);而工作偷懶或低水平的開發人員也不可能永遠濫竽充數。因此,在長期合作的項目組中,初期可能存在“棘輪效應”,但隨著時間的推移,“棘輪效應”將逐漸淡出。
4.采取有效的激勵方法
消除“棘輪效應”的另一個途徑是采取有效的激勵方法,讓所有開發人員都有積極性努力工作。萊瑟爾(Lazear,1979)證明,在長期的合作關系中,“工齡工資”制度可以遏制員工的偷懶行為。直觀地講,在工作的早期階段支付的工資低于邊際生產率,二者的差額等于一種“保證金”;當被發現偷懶時,偷懶者被開除,損失了保證金;因此,偷懶的成本增加,努力工作的積極性提高。當一個項目中所有的開發人員都努力工作時,所作出的成果分別反應了他們的真實狀況,項目經理也比較容易從獲得的這些信息中制定業績評價標準。
5.引入相對業績比較
另一個辦法是使用他人的業績,使開發人員業績評價標準的建立不僅依賴于自己而且依賴于其他開發人員的業績。即引入“相對業績比較”。通過比較開發人員相互之間的業績,反應出一定程度的各自努力水平,為制定相應的業績評價標準提供依據。注意,“相對業績比較”只適用于開發人員業績相關的情況,此時它可以剔除更多的不確定因素從而使項目經理對開發人員努力水平的判斷更為準確,既降低風險成本,又強化激勵機制。在開發人員的業績不相關時,參考價值不大,容易誘發項目經理的錯誤判斷。
6.確保充足的統計量作為參考
在建立客觀的業績評價標準時,保證充足的統計量作為參考是一個很重要的因素,它直接影響到標準的準確性。 數據的主要來源應該是在軟件開發過程中一點一滴的積累,而不是為制定標準臨時杜撰的;其次也可以來自項目經理與開發人員之間的討論總結;以及借鑒其他類似項目的歷史數據。做好統計的關鍵在于開發人員要有良好的軟件工程意識,理解做數據統計的意義;項目經理要鼓勵并時刻督促開發人員完成這項工作,同時加強檢查。
7.強調項目的整體利益
前面我們所提到的對策,都是從“理性人”的角度考慮的。現實中,人還有“道德”的一面,即所謂“道德人”。“道德人”是把項目的整體利益放在第一位的,即使明知努力工作會導致業績評價標準提高的后果,只要對項目整體利益有益,他仍然會努力工作。因此,在一個軟件項目開發過程中,項目經理要注重培養開發人員的團隊意識,要樹立整體利益高于一切的思想。如果所有的開發人員都是“道德人”,每個人都自覺努力工作,顯然會是一個雙贏的局面,不存在“棘輪效應”。
五.小結
上面,我們把研究重點放在項目經理與開發人員之間的“棘輪效應”。在軟件開發中,項目需求方與項目承包方、部門主管與項目經理、項目經理與軟件維護人員等等,都存在著“棘輪效應”。我們應該根據軟件開發中各個領域的特點,研究出相應地管理方法,弱化“棘輪效應”。我們前面所提到的七點對策,具有普遍的借鑒意義。