四篇關於如何帶領團隊進行軟體開發的好文章
 
.....
程式人喜歡做有意義的事,通常他們不會想當個乖乖牌,照著主管的意思做事,做一個只要能領到錢就好的員工
很多程式人希望自己做的事能真的產生效益,有實際的作用。當你在思考工作的進行方式以及任務的指派時,必須讓他們明白這方式,以及任務的意義何在。
很常見的,失敗的領導者在交付一件工作後,會讓程式人覺得這工作根本一點意義都沒有。失敗的領導者會讓程式人覺得照你的方式做事,不過只是浪費時間而已。
當這樣子的事重複發生時,很難建立起整個團隊對你的信任感。
.......
程式人喜歡有邏輯的論述,討厭無法自圓其說的說法。如果你能妥善地解釋,進一步再加以說服,那麼不僅能更順暢地推動你希望工作進行的方式,同時還能夠增進在程式人心目中的地位。
怕得是連你自己都沒有固定的中心思想,你的想法、還有原則也是飄來變去的,對程式人而言,今天看到和明天聽到的不一致,這就很難讓他們對你產生信賴的感覺了。
 
若能燃起程式人的熱血,他們甘願沒日沒夜地工作
除了金錢的回報之外,程式人也都會希望自己所做的軟體是有意義的。
好的領導者會讓他的開發團隊明白,整個團隊所努力開發的軟體,究竟能夠為客戶,或者為使用這軟體的使用者帶來什麼幫助。

據說,蘋果電腦的Steve Jobs在以前帶領一票程式人開發軟體時,總是能夠讓這些程式人沒日沒夜地工作,但仍舊心甘情願。因為Steve Jobs能夠讓這些人相信,自己所辛勤工作的成果,具有足以改變世界的力量。
 


.......
不知道是從什麼時候開始,在談到軟體開發團隊裡的領導者角色時,我會盡量避免使用「管理者」這個名稱。這應該是因為我覺得一旦用了這個稱呼,就會在這個角色和其他的程式人之間隔出一道牆,好像二者分別處於不同的世界,而且一個在上、一個在下。
這種情況對於開發團隊不是好現象,因為領導者如果能夠讓程式人認為他們和領導者是屬於「同一掛」,可以讓整個開發的工作減少不少阻礙。可想而知,如果是相反的情況,當然會增加不少阻礙。
事實上,還滿常見到的情況,是程式人對於他們的「管理者」,或多或少都抱著敵意或不友善的態度。會有這樣的情況,有一部分源自於「管理者」總是那位指派工作、盯緊進度、要求工作準時完成的人
而這樣子的期望,有時候會和程式人的其他期望相衝突。例如程式人可能會希望工作能夠輕鬆點,能夠準時下班,可是一旦開發專案的進度不如預期,程式人便很有可能被「管理者」要求加班或者是加重工作,那麼二者之間的關係,想要十分和睦,可能沒有這麼容易。
......
為什麼技術人容易服從技術能力好的領導者,是因為「信任」。當你身為一個領導者做了一個決策,進而下了一個指令之後,程式人會因為信任你的技術能力,所以相信你的決策,以及這個決策所衍生的指令及行動。
......
身為一個技術能力好的領導者,你會因為能比下屬更懂得技術上的細節,使得決策具有足夠的正確性,讓開發團隊在依循指令之後,獲得好的結果。這樣的情況重複發生個幾次,就能建立程式人對領導者的信任感,對於相關的指令,服從度也會大大提升。
程式人或許都有一些共通的特性,例如,他們可能不是那麼相信權威,所以,單純想要以管理者的身分施加壓力,有時反而會適得其反。我常常戲稱寫程式的人,都是刺龍刺鳳的道上弟兄,要想讓他們好好辦事,你得真的贏得他們的心才行。
.......
如果在你的帶領下,大家總是能夠不需要加班、專案總能如期的完成,相信程式人們對你的信任感,遲早會在心裡油然而生,對於你所做的決策、所下的指令,自然會很樂意地相信,照著執行便能夠得到好的結果。

 
 
...........
倘若開發團隊的領導者不參與實際的開發工作,那麼他們的工作究竟是什麼?事實上,跳出這個迷思後,反而會更清楚知道自己應該要做些什麼。
例如,他應該是資源的提供者,當團隊的成員在開發中缺乏某種資源時,他能夠盡早察覺,並且努力協助解決。其中的「資源」泛指任何有助於開發工作的有形、無形事物。
舉例來說,某位程式人卡在某個臭蟲無法解決,因而影響了他的工作進度。好的領導者能夠透過某種方式得知此類事件的發生,例如,他和團隊成員的聯絡十分順暢,所以很快地就知道,程式人目前所遭遇的困難,因而可以很快地採取行動。
此外,程式人會需要的資源,也可能是更好的開發硬體設備,像是更快的電腦,以節省編譯程式的時間。身為一個開發團隊的領導者,你必須認知到,你的責任之一,就是提供一個更好的開發環境:更好的辦公室環境、更合理的工作時間……等。
..........
好的開發團隊領導者,最好也能擔任導師的角色,他能夠適時地指導團隊成員,幫助他們成長。當然這成長可以是許多層面的,最常見的像是技術上的成長。你自己可能也是一位優秀的程式人,適時地讓你的成員吸收到關於開發技術的觀念、程式設計的技巧、解決問題的方法,都可以讓他們持續感受到自己的成長。
..........
我一直相信,找到一群正確的程式人,真心地對待他們,他們就會在適當的時機回報你,甚至拯救你。如果你希望團隊成員能在開發工作中為你衝鋒陷陣,那麼除了高薪或高額配股之外,最好的方式之一,就是讓他們發自內心地認同你這位領導者,樂於在你的帶領之下完成工作
當然,工作難免都是為了錢,程式人大多也都不能免俗,畢竟大家出來工作,不是只為了交朋友而已。但是對程式人而言,除了錢的事情之外,他們還會關心其他的議題。
會想從事程式設計這個行業的人,多半喜歡新鮮的事物以及變化。所以,不斷地能學習到新的技術或者新的觀念,會讓程式人感到滿足。程式人工作不僅只為了物質層面,往往也會希望兼具心理層面。從學習新技術或新觀念所獲得的感受,便是這心理層面滿足的重要來源。
有一些程式人也關心自己職場生涯接下來的發展,例如,他是不是能夠持續地在這一份工作中精進,不論是在同一家公司,或是下一家公司,能不能繼續往上發展。單純的程式人或許想進階成為具有系統設計的能力,或甚至是系統架構師。許多人都會思考,自己在這職場生涯中的發展路徑應該為何,要怎麼做才能朝著這條路徑前進。對程式人而言,都會很希望他的「老闆」,也就是團隊的領導者,協助他規畫這條路徑,甚至是協助他達成。
很多關於錢的事,都不是開發團隊的領導者可以決定的事情。可以的話,誰又不希望能夠多給開發人員好的薪資,多的股票分紅呢?但這畢竟是公司先天的限制,對開發團隊的領導者而言,只能在自己的能力範圍內,盡量地為他的成員提供他能協助的項目
........
同樣的一份工作,消極的應付和積極的面對,其實工作的效率就天差地遠,尤其是程式設計的工作。所以我才會說,「找到一群正確的程式人,真心地對待他們,然後他們就會在適當的時機回報你,甚至拯救你。」
當你能真心地對待你的程式人,讓他們感受到你對他們的關心,讓他們知道,你除了關心工作進度之外,你還關心他們是不是能夠從工作中持續成功、在未來的職場生涯,是否已經有一條明確的發展之路、對於自己所開發的產品,是否能夠得到成就感、或者甚至像是工作的壓力是否太大,需要休息……等,這絕對能夠強化彼此之間的關係。
當你和你的程式人之間建立起彼此認同的關係,讓他們覺得你是和他們「同一掛的」,事實上,絕對可以提升他們的工作表現
.........
有些產業喜歡用「Drive(驅動)」這個字,描述領導者驅動他們「手下」的能力。這字眼恐怕是以威領軍下的產物。但我很懷疑,倘若少了高薪或高額配股做為強力後盾來支撐,在軟體業恐怕是很難行得通。
基本上,程式人在臺灣是個粥多僧少的行業,尤其是厲害的程式人。所以這個領域一直都是事求人,而非人求事。不過,也並非每個高竿的程式人,都打算投入高薪、高配股的工作,因為這樣的工作,或許另一方面便意謂著高壓力、高工作時數,但這也不是每個程式人都願意接受的
除了合理的金錢報酬外,程式人可能也會在意其他因素。能不能吸引程式人,甚至讓他們為你更有效率地工作,是和這些與「人」有關的因素息息相關,這是軟體開發團隊管理,得要重視人的管理的原因
程式人大多都有愛好自由的傾向,但軟體開發需要紀律,這二者有時會互相衝突。怎麼在這中間取得平衡,便是考驗領導者的時候。如果你和他們的「交情」足夠,那麼,他們願意為你付出。
 

最後一篇壓軸...
 
......
「要讓工作有效率,首先要讓員工喜歡工作環境!」有些主管確實有辦法讓大家很緊張胃絞在一起,但是這樣子會有效率嗎?如果我們沒有好的工作態度,沒辦法與同仁和睦相處,就會被孤立,工作演變成一種痛苦,效率也無法發揮主管要嚴肅,就要有讓人尊敬的地方,而不是因為職位高所以嚴肅。要搞笑,也要有兩把刷子才能搞笑,不然只是打亂辦公室的秩序而已。保持親切的微笑,不管遇到什麼樣的困難,也盡量不要把負面情緒帶給大家。過去我們認為專業的本身只有專業而已,不過越來越多的公司要求工作態度、服務態度,有些人固然很厲害,但是總是讓別人覺得不愉快,這樣的結果對公司整體並不好,這樣子也只能算是C級員工。
.........
一顆清朗的心是最重要的,如果所有怨氣到我們身上就被消化了,那麼我們就是可以帶給周圍人陽光的關鍵性人物。主管、領導者要讓同仁對未來有希望,一個氣氛不好的團隊,是不會產生希望的,如果我們能讓周圍的人感覺到溫暖,即使團隊陷入困境,也不會有人走開,因為大家可以從我們身上看到希望。真心是一種可以自己透過修養而到達的精神狀態,就算是做作也好,總好過於把情緒發洩在別人身上的那種惡劣。
快樂已經被證實與財富無關,所以微笑並不是為了發財,而是為了讓自己更快樂。一開始可能是強迫自己進入微笑模式,但是久了之後,如果我們有了健康的身心,微笑就會變成常態了。因為周圍事物、工作都變好了、改善了,大家彼此樂意互相幫助,同事、客戶、朋友之間營造出融洽的關係,除了獲得財富之外,也獲得了意想不到的感動與驚喜。
 
 
arrow
arrow
    全站熱搜

    志 發表在 痞客邦 留言(0) 人氣()