2017年10月30日 星期一

T客邦 當你公司進度緩慢又無解時,或許你該考慮開除重金請來的那位「技術天才」 百家樂 http://www.iwin9418.com

這個故事是關於一個被形容為「天才」的團隊成員失寵的歷程。這位「天才」對於我們公司的產品結構有著深刻理解,能夠準確把握未來需求,且具備相當紮實的專業知識。

他是我們的頂級人才,是我們旗艦計畫的主導者。

我們暫且把他稱為 Rick。

开除了没情商的

Rick 被公認為是團隊的大神,他是我們軟體專案的首席開發者和架構師。

任何時候任何人都有關於程式碼的問題或需要某個任務需要幫助,他們會去找 Rick。Rick 在辦公室裡安裝了一個大白板,就只用於這個目的,上面總是有著過去討論時留下的雜七雜八的痕跡,不太能擦掉。

無論何時,只有有極具挑戰性的問題,Rick 都會去處理。Rick 在他辦公桌上安裝了一個跟我們生產伺服器規格相同的伺服器,他可以獨立執行整個應用程序堆棧,同時對每一層進行故障排除。

Rick 工作不需要別人,他寧願在做自己的私人工作空間裡獨自工作。

Rick 也不需要任何人建造的任何東西。他可以從頭構建他需要的一切東西,因為凡人給他提供的東西都太微不足道了。

很快,Rick 就不再參加會議,他沒時間開會,因為要寫的程式太多了。

Rick 關上了辦公室的門,白板也歇了。他不再有時間給他人培訓,他自己的問題還解決不過來。

Rick 身後的事情不斷積壓,他之前創建的工具不斷冒出 bug,這些使得他無暇估計新產品的開發。

當然這些 bug 出現是因為「用戶打開方式不對」。他的工作怎麼會出現問題?當然不會。

我們的工作進度表上,綠色標誌變成黃色, 黃色變成紅色,紅色開始一閃一閃亮晶晶了。我們的任務狀態一個接一個變成「受阻」,人人都在等在Rick出面。

开除了没情商的

不要擔心,Rick 會處理的。所有的他都會處理好的。

專案經理從贊助商那裡獲得了半年的寬限時間。六個月之後,又拖了七個月,一年之後,又拖成了兩年。

Rick 敲程式碼的速度比以往更快,他一個星期工作七天,每天工作十二個小時。

每個人都知道,只有 Rick 才會拯救團隊於水火之中,人人都屏息以待,期望 Rick 能發明出靈丹妙藥,讓這個計畫起死回生。

Rick 日漸孤僻、焦躁不安。面具最終脫落下來,他化身成了邪惡博士。

比最初約定的發布日期晚了兩年之後,我同這個專案小組第一次會面。我聽說過這個計畫已經有一段時間了,因為這個計畫在我的公司中已經變得臭名昭著,但是當時我還沒有被派去處理參與該計畫。

我被公司派來看看這計畫還有沒有救。

我仔細查看了程式碼。Rick 說的沒錯:他造的東西確實沒人能理解,除了 Rick 之外。這就是他大腦工作方式的外在展現。有些相當聰明、有些則就是複製、貼上,所有這些都非常另類,完全無法記錄下來。

我帶著這份裁定結果去見了我們的CTO,告訴他,只有 Rick 能夠維持這個產品。並且,Rick 多在這個計畫上工作一天,結案的日期就多往後推一個星期。與其說他在創造這個計畫,他破壞這個計畫的速度更快。

我們跟 Rick 坐下來談了談他在這個計畫中的作用,說了說我們的顧慮。我們解釋了新的策略,這個團隊得通力合作,重新創建一個新產品。可以縮減一些不必要的功能,只提供用於生產的最基本的必須產品即可。但是整個團隊都要群策群力,不再有瓶頸出現。

Rick 什麼反應呢?

他還能有什麼反應?他暴走了。

Rick 說他不想成為這個鬧劇中的一部分。如果我們欣賞不了他的才華,那是我們的錯,而不是他的錯。他說,不出幾個月,我們都得哭著求他回來幫我們。

Rick 對我們怒目而視,叫囂著我們連最起碼欣賞天才的腦子都沒有。

在這之後,Rick 連續幾個月拒絕領導層的主動示好。既不休假,也不讓把工作分配出去。我們多次試圖引入免費開放程式框架取代他那難以維護的「精心特製」工具,但統統遭到拒絕。

他將其他開發者修改的程式碼恢復原狀——包括已經測試過了漏洞修復。他堅持不為其他人的工作負責,繼續不斷在公開場合批評他的同事。

我們把 Rick 給開除了。

大約一個星期之後這事兒才塵埃落定。失去了讓他們歡喜讓他們憂的團隊領袖,整個團隊先是受到了震動,隨後花了一段時間才重整旗鼓。

之後,我便看到他們共同聚集在一塊白板面前。

开除了没情商的

合作。這是 Rick 從未見到過的場景。

他們通力合作,設計了一款新的產品,比之前簡單的多了。它沒有那麼多花俏的東西,也沒有達到五年前產品預期的要求。

Rick 開發的產品支援了超過15000種設想的動態工作流程。而在現實生活中,使用我們產品99%的情況,其實只會有500種不同的流程。我們的團隊便針對這些流程寫了程式,不再去思考那10000種可能,這便去除了 Rick 將近三分之一的工作。這也就去除了 Rick 上百小時的工作,但是也同樣避免了上千個小時的技術負債。

計畫贊助商也一致同意我們將用於某些極端情況下的功能去除掉。因為,這些極端狀況只為我們5%的潛在客戶服務,但是卻佔了該產品複雜程度的四分之一。

我們重新發行了這款產品,包括了 Rick最初的10%程式碼,這些程式碼相當穩定,還包括了幾千行新程式碼,代替了 Rick 之前15萬行的一些不知所云的東西。

這個團隊在半年的時間裡,完成了五年的工作。在接下來的幾個月裡,我們將該計畫從測試發展成完整的客戶版。

我們不只更換了 Rick 之前建造的東西,還超過了他,完整地發表了該產品。所有這些在一年的時間裡完成。我們最後的產品,不論是大小還是複雜性,都不到 Rick 當時構建的產品的五分之一。

完成速度是他的幾百倍,並且組合時間短,服務的客戶群是之前的十倍,卻幾乎沒有 bug 出現。

這個團隊又轉回身去研究 Rick 當時負責的其他產品了。他們同樣扔掉了他之前的舊程式碼。Rick 之前開發了一款產品,他花了三年時間都沒弄明白,他們團隊用了三個月,共同開發並發布了出來。

團隊裡雖然沒有 Rick 這種人了,我們也不再有「天才」來帶頭創建產品,但是我們的生產率卻節節高昇。

Rick 是個非常有天分的開發者,能夠解決複雜的商業邏輯問題,創建紛繁複雜的結構來支撐他那高級的設計,但是卻無法在解決在一個團隊中如何有效合作的問題。

开除了没情商的

Rick 的出現從以下幾個方面來說是具有破壞性意味的:

  • 首先,他創建了一個必須依賴他的「邪教」:所有的問題在最後都會變成 Rick 的問題。助長了個人迷信色彩。開發者們不再嘗試自己解決,就那麼等著看 Rick要怎麼做。
  • 第二,他不寫可讓大家維護的程式碼。從來不記錄也不測試,所以儘管天資聰穎,仍一敗塗地。他對自己才華的盲目自信戰勝了一切。
  • 第三,他這人性格就帶有破壞性色彩。團隊成員不願向他坦誠自己的意見或建議,因為他動輒就會訓斥他們。Rick 尊重的人只有他自己,除此之外,他藐視一切。
  • 第四,他缺乏責任意識。哪次失敗也不關他的事,他始終堅信這一點,所以無法從錯誤中汲取教訓。

我相信 Rick 不是一開始就這樣的,我見到的可能是他最差的一刻。這也是由於年復一年的加班工作、以及來自客戶和同事的各種批評指責造成的。Rick 墮落至此實在惋惜。他的上級有責任,事實上,最初的管理團隊都有責任:他們放任他而去。

不幸的是,Rick 走得太遠,他不能也不會被帶回正道了。苦口婆心勸說、讓他放假休息亦或是把他派到別的計畫上,對他來說都已於事無補了。

到了這點,整個團隊意識到他確實有毒。但是這個團隊成員對他依賴性太強,以至於人人都覺得他是他們唯一的選擇。

要記住,永遠都有別的選擇。

團隊的優勢不是在於個人的才華發揮作用,而在與整個團隊間通力合作、堅忍不拔、互相尊重。

團隊建設要注重彼此尊重、互相激發出最好的那面,做最好的自己。

眾志成城方可攻堅克難,互相幫助,遠比依靠一個 Rick 要走的遠。



from T客邦 http://ift.tt/2ziJcOJ




沒有留言:

張貼留言