作為團隊領導者,自然會遇到任務分配,指派工作任務的情況。軟體開發團隊也不例外,雖然敏捷式開發方式中的Scrum方法論,是希望在每個Sprint中採取「自己認領」工作,但其實極少有團隊可以完全做到這點。
指派工作任務最完美狀況是:團隊成員對主管有100%的信任,同時對組織中短期目標也有深切體會;並且都有完整的技術能力可以達成任務;而且所有人對於專案與時間管理都有經驗;而更重要的是,每個人都士氣高昂,迫不及待地完成任務。很遺憾的是,這種情況幾乎不會存在,好的軟體主管必然認知到的是,自己的任務必然是在於讓團隊成長前進,往好的地方邁進,而非期待自己「已經處於」一個完美的團隊。
如果你是個軟體團隊的主管,常常在夜深人靜時自己抱怨自己的環境與團隊,並且自認為委屈,那麼你就是屬於「期待自己已經處於完美團隊的主管」,這通常不會是讓事情變好的心態。
指派工作的方式看似很多,但重點只有幾個:
(一) 指定清楚的目標
指定清楚目標表面上很簡單,但主管自己其實需要考慮是這件事的真正目標,和指定任務的項目。
舉例來說,如果軟體主管指定任務目標為:「A工程師,請把某個AWS的一組VM,從micro升級到xlarge。」這看似清楚目標,但升級機器,必然不是目標,升級機器要達到的結果才有可能是目標,更有可能的是結果後的結果才是目標。
例如,稍微清楚描述目標:「A工程師,我剛收到通知明天由於行銷活動,我們網站流量應該會暴增,為了讓我們能處理高流量,請把某個AWS的一組VM,從micro升級到xlarge。」
但是,更好的方式其實是,清楚目標先指定,然後再討論出來。例如:「A工程師,我剛收到通知明天由於行銷活動,我們網站流量應該會暴增,為了讓我們能處理高流量,我們在AWS上的各種VM和使用的服務,有需要做哪些改變呢?」
當然,目標本身一定要涵蓋作法/行動。沒有具體行動的目標也沒有意義。
(二) 時間視為最重要衡量方式
時間是衡量所有事情的最重要的方式,在清楚指定或者討論目標作法之後,所有的行動必須以時間為衡量方式。而時間除了長度,還有實際完成時間。
例如:「A工程師,根據我們剛才討論結果,我們需要升級所有120個VM,這需要2小時,並且是在後天早上10:30am之前完成」
(三) 寫下來!
指派工作的另一個重點在於,所有任務指派一定要文字化或者圖形化,即便是很簡單的瑣碎小任務,也應該用一張紙寫下來。現在專案管理工具其實很多,例如JIRA。當然也可以用它來指定所有任務。
一個好的主管,會讓其團隊成員高度信任,在軟體開發團隊中,如果主管可以有效地和團隊成員建立健康的信任關係,就容易達成三贏效果:對企業有利,對團隊有利,也對個人有利。相反的,如果團隊主管不受信任,那麼組織內部就容易內耗,很容易就形成三輸的情況。普通的團隊則是部分成員信任團隊主管,部分則不太信任,主管意識到這點,其實是很有改善的機會。
何謂信任?
信任並不是說團隊成員要變成主管的莫逆之交,在危急的時候就算赴湯蹈火也都在所不辭。當然可以達到這點很好,但在企業團隊內是不太可能。所謂信任是指,團隊成員對主管決策方式以及最做事方式,有預期感,並能相信這樣的決策和做事方式,即便自己不了解,甚至不完全贊同,也願意有效的合作。
如何建立信任。有些事情對於建立信任的雖然有一點點幫助,但效果有限,例如典型的團康活動。有些事情則是對建立信任有決定的影響:
(一) 傾聽了解個別成員:
信任是「個人」心理狀態,因此,有效地傾聽個別成員在組織的需求,針對個別成員的需求,量身定做互動的方式。
傾聽的重點在於「傾聽」,中途插話,表達太多意見都不是傾聽的要訣。
(二) 共同接受並完成工作上的挑戰:
這和傳統軍隊建構團隊的方式雷同。一小組人一旦一起面對挑戰,並且度過挑戰,就容易互相信任。在經歷生死戰場的退伍軍人戰友,特別容易建立長期的信任關係,就是因為如此。
當然在企業環境大概不會有生死攸關的情況,但仍然有許多挑戰。好主管的要務在於對挑戰的本身必須要是正面看待,
例如:在跨國企業中研發團隊總是對某國家的另一些工程師作法相當不認同,並常在討論中發生意見衝突。團隊常常對主管抱怨狀況。不適任的主管在此最容易做的事,就是一起跟著抱怨,並且將責任歸於其他人,試圖在團隊塑造共同敵人,這樣短期團隊成員或許會開心,但是衝突並不會因此解決。一個好的主管,會將這狀況是為共同挑戰,讓團隊成員明白如果我們可以一起解決這樣的衝突,不但對組織有好處 - 可以讓跨國團隊更有效工作,對自己也有好處 - 在履歷表中就可以多一項很難得的成功經歷。
(三) 建立一致性:無論任何事情的好壞
建立一致性是在不公平的社會環境中,讓團隊成員認為主管會公平處理事情的最有效方式。所謂的一致性,倒不是指不能改變作法,而是指作法本身有可預期的一致性。
例如,在營運團隊中常常有假日需要輪值的情況,最簡單的方式是直接按照姓名或者到職日期,輪流安排成員在假日值班。表面上看起來是最最公平,實際上有可能是公平,但也有可能不公平,因為每個人上班期間的工作內容可能不同。一致性並不是說不應該輪流值班,而是指輪流值班的班表如何取得共識。例如,每次班表都是每3個月前產生,產生之後,會在兩週內先逐一詢問個別的需要,個人的需求被滿足後之後,在隨即email公布並詢問有沒有需要調整,並且在一週後正式啟用此輪班表。幾次之後,團隊成員對主管的做事方法就有一致性,知道主管在困難事項一定會先詢問個人,調整每個人狀況,還會在所有人面前再度公佈一次,然後再做最後調整。
這樣一次一次建立一致性,無論事情的好與壞,也無論主管個性,就容易建構工作上的信任關係。