2011年7月15日 星期五

轉錄:為什麼BA和PM的薪水要比程式師要高?

一個簡單的回答應該是——“因為在我們的社會裡,我們總是會認為薪水和會和職位的層次綁在一起”。但是,這個答案同時也折射出一個事實——我們的薪資是基於我們的所理解的價值,但這並沒有解釋

 

為什麼PM(Project Manager)和BA(Business Analysts)在很多軟體公司裡在組織的上層?

為什麼軟體專案團隊總是在最底層?

 

這兩個問題真是非常地值得我們去問,去思考。

 

總體來說,這個世界上存在兩種不同的軟體公司的組織結構。我把他們叫做 Widget Factory(小商品工廠) 和 Film Crews(電影工作組).

 

Widget Factories 想要去解決 怎麼去激發被X理論所影響的人 。X理論由 McGregor提出,這個理論是說,一般人的本性是懶惰的,工作越少越好,可能的話會逃避工作,大部分人對集體(公司,機構,單位或組織等)的目標不關心,因此管理者需要以強迫,威脅處罰,指導,金錢利益等誘因激發人們的工作源動力。於是,經理總是要去做他下屬的工作。於是,基於這種前提下所思考出來的管理方式,很自然的就是——整個團隊能夠容易地被經理一個人所取代,這種團隊中的每一個人都很容易被別人取代,在這種團隊裡,經理的工作能力不斷地被加強。因些,這種公司一般使用樹形層級的組織結構,而不是水準式的工作角色。

 

Widget Factory 管理體系運作於軟體需求的某種假設,這種假設需要BA在一個定義地非常明確的並且需要主管專案經理監管的流程的環境下,準備軟體的規格說明書。這種軟體製造業需要對專案定置足夠的可被替換的程式設計和測試資源。整個工作由事先安排好的預算來驅動,這個預算由PM和BA在初始化business case的時候完成。

 

一個 Widget Factory 的公司的管理可以通過觀察這個公司員工的談話方式識別出來。他們很喜歡談論Resource資源(包括幹活的人也叫做resource),Process流程,Operating efficiency運作效率,uniformity一致性, repeatability可重複性,嚴格在控制對資源的使用,鮮明的工作角色和 鮮明的流程定義(inputs 和 outputs)。他們對實實在在的軟體發展漠不關心,他們想要把理想中的軟體發展運作變成他們看得見的圖畫。

 

Film Crews 。這種公司認為人是有相當高的智力和創造力的,是自己可以激發自己的(陳皓注:即使沒有外界的壓力和處罰的威脅,他們一樣會努力工作以期達到目的——人們具有自我調節和自我監督的能力),人們努力工作,並且可以享受工作(人們願意為集體的目標而努力,在工作上會盡最大的努力,以發揮創造力,才智),就像孩子喜歡玩一樣。 Film Crews 認為,每一個個體的自已專業能力,要遠遠優於那種被組織和協調出來的能力。因為經理不再代替每一個人,而樹形的層次架構也不能很好的運作——人們不得不以比較複雜和形式合作才能把事搞定。工作職責變得非常地垂直——你需要具有從上到下的而比較寬泛的各種能力(陳皓注:每個人都需要有管理和技術能力),這種管理也就是基於 McGregor的 Y理論。

 

對於一個Film Crew 的Director(注:有總監和導演的意思),他瞭解把一個偉大的軟體組合起來的每一個碎片,他需要組織一個無與倫比的團隊,並且要幫助這個團隊能凝聚在一起,團結在一起工作。他的角色是鼓舞大家,守護著構想(Vision),提供方向和集中大家的精力。團隊裡的每一個人都很關鍵,因為“Director”相信軟體的結果來自所有的參與者,以及他們的那種獨一無二團隊工作方式。大家都知道自己是這個事的一個明星,明星效應可以增加成每個人的成功的機會。而他們的構想(Vision)驅動著專案的預算和撥款。

 

當我們用報酬來表示的話, Widget Factories 認為,有價值的東西總是從PM和BA派生出來的,所以他們常駐在管理層的上面,也有相應的報酬,而對於軟體團隊,只要他們正確地把需求變成可工作的代碼後,軟體團隊就變得無所謂了。PM 和 BA 努力工作來維護他們的權位,他們通常不會讓你能得到專案的原始資訊。因為團隊拿不到專案的原始資訊,所以團隊就要拼命地製造各種理由來讓他們的方案變得有價值,程式師成為了只會從PM和BA那邊聽從命令的工人。而這種情況反而讓Widget Factory 公司放大了他們的那種想法——程式師都是差不多的,就像車間裡的工人一樣,他們只不過在機械地幹一些很複雜的但是很標準的事情。

 

與 Widget Factories 公司鮮明的對比,Film Crew 更主張的是平等的工作職能,每個成員都可以不受限制地獲得主要的和原始的資訊,其鼓勵所有人形成自己的價值判斷,並且可以自由地選擇不同的方式來達到團隊的構想。Leadership領導力結構基於人的能力而不是工作角色。報酬折射出這個人是怎麼在這個專案中工作的,需要明白這個人為我們的軟體創造了多大的價值和產生了怎麼樣的結果。 在這種環境裡,PM的工作顯得並不突出,他也許也不太可能是一個有創造力的領導者,工作角色被弱化成了一種行政管理上的支持者,以及團隊外部的聯繫者。BA的部分工作直接被團隊取代(在專案早期被Director取代)。

 

今天,我們一點也不奇怪,大多數的公司內的軟體發展團隊以及一些諮詢工作運作於 Widget Factories ,其需要依賴於流程來不斷地製造那些無聊的軟體。在這種情況,慣例上來說,PM和BA要比程式師掙得更多,這是基本一種他們可以創造更多價值的假設。在這種組強架構和管理裡,程式師們很難證明管理是錯誤的。

 

成功的軟體公司都會趨於採用 Film Crew 的方式,任何其它的東西都會妨礙他們吸引牛人的能力,因為只有吸引了牛人,你才能創造出偉大的軟體。 在這種公司裡,一個好的程式師的收入會高過BA和PM很多。

 

 

 

沒有留言:

張貼留言

Google Analytics初學者入門簡介