10/03/2018

建立高度自我激勵之軟體開發團隊的三個方向 (軟體主管的31堂課)



1999年美國的籃球夢幻隊1992 dream team 是所有籌組團隊的人遙不可及的夢想。他們除了籃球技術精湛,經驗豐富之外,更重要的團隊都有拿到奧運金牌的唯一目標,此一目標會讓他們自我激勵,根本不需要額外的刺激。這樣的團隊組成似乎可遇而不可求,在軟體開發的世界幾乎鮮少看到例子。

無論如何,建立能高度自我激勵的團隊,是主管最重要的工作之一。如果你是團隊主管,你必須認識到這是你最重要的任務。

自我激勵會造成工程師的職涯成長,而看得到自己的職涯成長,是能驅動效率的最好的因素(註1)。

軟體開發工作,通常是需要高度的心智活動以及集中的創造力。要造就高強度心智活動,幾乎很難單純由「薪水」或者「物質獎勵」來滿足工程師。加薪獎勵與升遷固然非常重要,但它能維持的效果頂多3-6週,之後所有的工程師都會認為這樣的加薪獎勵與升遷是「理所當然」,並且很快地將獎勵拋諸腦後。這不是說工程師都不懂惜福,而是研發工作本來就很大部分的來源會來自成就的滿足感,而成就的滿足感幾乎是加薪升遷無法長期提供的(參考 1)(註2)。非營利事業有可能天生就存在這樣的激勵因素,例如,慈善組織試圖拯救世界的所有窮困兒童,研究組織試圖大幅延長人類生命到200年...然而這些組織一般都有極為獨特的目標以及具有個人魅力的領導者。

一般的營利組織以及軟體開發團隊如何建立一個能自我激勵的團隊呢?

有三個方向:(1)選對人 (2)找交集 (3)自我導航


(1) 選對人

在選用人才時,就先確定此候選人是正面思考,能自我激勵,自我成長。因為要維護一個人的正確態度,比要矯正一個人錯誤態度來得容易太多。

換言之,選擇已經能夠自我激勵,並且確定此候選人在他過去工作經驗中,已經有自我激勵的事實。

不要選擇個人技術能力很好,但卻在自我激勵上面有非常負面的紀錄。因為,要培養技術能力並不難,但要改變人類的思考模式實在難上加難。現存的coach教練式領導,不過也就只是希望透過引導,造成行為上的調整(參考富比世英文版?),要引導到行為心態的調整,教練(coach)幾乎必須要和學員長期合作才有辦法做到。

選擇的重點在於透過過去的實質發生的紀錄,而不是透過詢問未來的問題。這個做法在選人時非常重要,選擇能高度自我激勵的人才,此人必須在過去工作時,已經展現高度自我激勵的情況。例如,你可以詢問面試者:「請問你最近工作上遇到最艱難的狀況,或者壓力最大的狀況,當時你是怎麼處理的」。這個問題重點在於"最艱難"以及"當時怎麼處理"。有時候面試者可能說沒遇過太艱難的情況,那麼也可以詢問"普通難"或者"壓力普通大"的情況。一個工作超過3年以上的人,當然可能運氣超級好,從來沒遇過艱難狀況,然而絕大部分的人,都可以說出幾個艱難狀態。這時候,不需要太早評斷,也不用加入討論,而是要徹底瞭解,在這個狀態下,面試者通常會表達過去的事情和想法,暫且將其想法放在一邊,妥善記錄事實。最後再由事實來判斷。

舉例以下的對話為例:

主管:「請問你過去遇到工作壓力最大的時候,當時是怎麼處理的?」

面試者:「之前在HXC工作時常常加班到很晚,要趕專案當然覺得壓力很大。怎麼處理喔?就想說當練功啊,學到東西我就要離開了」

主管:「當時你如何判斷已經學到東西然後可以離開了」

面試者:「呃?...就那時候我負責的app都推出去了」

此例的事實是。面試者因環境工作時程長壓力大,處理的方式是轉換心態-當練功,並且設定好離開環境的方式。請記得在此並不判斷好壞,而僅是記錄而已。然而,設定好離開環境的方式並不是以學到東西為主,而是做完東西。光是這樣可能還不足盼對此人是能積極自我學習還是消極無法激勵,需要更多挖掘過去的行為的討論才會確定。



(2) 找交集

我們不可能知道別人腦袋在想什麼,每個人都有所謂 left-hand-column,即便已經選擇最能高度自我激勵,自我成長的人才進入團隊,而且他們也都是非常坦誠並努力工作的人。但我們要知道每個人都有不能說,不想說,或者不適合說的事情。 
有些領導者會試圖找出這些事情,但其實有沒有找到不重要,重要的是「重視left-hand-column的存在」。



一個好的領導者,會找出交集。確保雖然人人有不同想法,但整合個人,團隊以及組織的交集,大家可以獲得三贏狀態(win-win-win)往同一個大目標前進!

當然,一個能力好而且能自我激勵的成員,可以自己找到此交集。不過身為領導者或主管,應該要時時注意:每人對這個交集其實都不太一樣。但好的團隊的每個人,應該都有部分交集。

最底線是:一定要避免三輸的局面。聽起好像很荒謬,但軟體開發的世界偶爾常聽到雙輸或者三輸的狀況。不必要的長期加班,幾乎都會造成雙輸或者三輸。長期加班必然會造成人才的耗損,幾乎也不能避免地造成團隊無法緊密成長,所以起碼就是雙輸,最後也常常造成組織本身無法長期經營,那就變成三輸了。

要建立能自我激勵的團隊,找到每個人不同的交集點。如果真找不到,則很有可能該人才並不適合這個組織,如果一半以上的團隊成員你都找不到目標的交集點,或許你本人並不適合當領導者。

交集點的例子很多,某些有資深能力好的工程師,除了團隊環境之外,或許可兼顧家庭是職涯的重要考量。因此,彈性的工作時間,和受到控制的可在家工作,就會是這類資深工程師(註3)的「left-hand-column」而這可能是最容易取得交集的地方。做法很簡單,就是讓資深工程師自行定義產出和目標,



(3) 自我導航

自我導航(Autopilot)是指團隊成員知道自己為什麼要做,知道該做什麼,知道怎麼做,知道什麼時候做。而更有甚者,他知道自己什麼還不會,所以需要特別努力學什麼。

一個能自我導航的工程師鐵定是資深的工程師,他會自我衡量自己在團隊中的「交集」也會自己「選擇」適合成長的環境。換言之,根本不需要煩惱這樣的成員。

對與已經是自動導航的工程師,僅僅只需要「教練式引導」(coaching) 。領導者或主管,應該必須對coaching有一定程度的了解,如果還不了解,現在就是學習的好時候。

在此最底線是千萬不要micromanagement -  也就是枝微末節都要管。大部分的資訊工作都是高度腦力工作,枝微末節都要管意味兩種可能
(1) 團隊成員根本無力勝任這樣高度腦力工作,而你組出這樣的團隊表示你也不適合作為建構團隊的人
(2) 團隊成員可以勝任高度腦力工作,但你身為管理者想要插手,表示你並不了解高度腦力工作的統御管理方式,所以你大概也不適合作為建構團隊的人。

要怎麼樣知道領導者管理者是不是「微觀管理」?只要看他實際做的事情就知道,當時「實際要做的事情」超出「本身的意義」就是這類型。

舉例來說,上班有規範時間,並非微觀管理,沒有規範在大部分得時候反而浪費大家的時間。然而,毫無彈性的硬性規定人必須出現在辦公室的時間,其實就超過規定上班時間的意義。對軟體開發團隊來說,上班時間規範是為了讓團隊容易一起面對面討論,互相砥礪解決問題。例如組織定義9:30~18:30是工作時間,然而,因個人因素不在範圍之內,例如想要8:30~17:30只要該成員能確保他的scrum團隊夥伴都知道他和大家時間略有不同即可,成熟的團隊的紀律來自「自我認知和團隊合作」,並不需要管理枝微末節。同樣的,「規定現在要加班」也是某種程度的管理枝微末節,順便強調一下加班其實是解決問題最爛的方式,尤其是被規定加班


抱歉 沒有什麼神奇的快速方式!

組織理論其實並沒有捷徑,也沒有什麼神奇的快速絕招。然而只要方向正確,忍耐個幾個月都會看到成效,但是簡單的路總是難行。當然,特定快速的環境 - 例如非常新的新創產業,還不確定能否獲利 - 似乎不值得這樣長期投資?也有不少人主張時間不等人?然而,對大部分的資訊產業來說,大部分的情況是跑馬拉松而非短跑。



技能與績效的考量:


在這裡省略一件很重要的事情!
我們並沒有討論技術能力和工作績效,但其實在軟體開發團隊中個人技術能力與個人工作績效是非常非常重要的!沒有好的能力與產出,要怎麼激勵自己恐怕都沒太大用處。然而,績效和能力應該比較容易在面試與履歷表中檢核出。因此才不在這裡討論。





註1:  要使團隊有高效率,自我激勵是最好的方式 。然而其他方式也存在,例如鞭子與蘿蔔。
註2:  但是如果薪水實在太少,不能滿足基本需求,就不在此討論範圍之內。
註3: 不過要特別注意,資深和年紀沒有絕對關係。必須要是做事態度資深,而非年紀資深。

沒有留言:

張貼留言