為什麼遠程合作的遊戲項目不好做(1)

廠商開發大型遊戲時,一個常見的問題是人力等資源不足。

任何項目在任何階段都有可能抱怨人力不足,區別只在於有些項目聲音響,有些項目聲音輕。對於人類,嬰兒哭聲最能直擊人心。但項目不同,項目越大,哭喊越會吸引注意,小項目沒人care,就算掛了,明年的今天老闆是不是記得給你燒紙還是一個問題。

人力、資源不足怎麼辦呢?996或是997的作用是有限的,大公司老闆們拍腦門一想,另一個城市、國家或是星球上還有自己的工作室,那裡的人們勤勞勇敢,智慧和美貌並重,不如兩個團隊合作一下吧,我們一起做一個AAA出來。

遠程合作是一個大坑,坑底死屍累累。不是每個團隊都能駕馭。在人力資源上,或許是一加一等於二,而團隊協作上,絕對是一加一小於二。

大致來說,兩個湊到一起的遠程團隊,在合作中,會碰到下述問題:

溝通信息不全面

精神上在一起是沒有用的,要肉體上在一起。異地戀情失敗的可能會更大,應該是大家的一個共識。相應的,異地項目也會給合作的團隊帶來不必要的困難。最基礎的問題在於溝通,沒有誰能自己搞定所有的事情,當需要溝通的時候,問題就出現了。

如果僅僅是傳達一些項目決策,那麼需要的溝通還不算多。但事實上需要溝通的包括所有的決策以及相關的上下文討論,甚至還包括日常的閑聊--後者往往是非常多靈感的來源。

這裡的相關上下文討論,指為了做出這個決策,你們的團隊做的所有思考、嘗試、爭論和會議。原因在於所有的決策本身,並不是憑空而來,都是依賴團隊大量的交流,這些相關的上下文如果缺失,沒有溝通給遠端團隊,那麼在執行上,可能出現知其然而不知其所以然的情況,逐漸可能偏離原先的方向。而且基於所有的上下文信息,在項目進行中還有可能需要遠程團隊做相關的衍生決策,沒有這個上下文,完全不知道對方團隊曾經怎麼考慮問題,就容易跑偏。

想像一下這個情況,本地團隊列出3個方案,pk一番後,選擇了其中一個和遠端團隊溝通,然後遠端團隊執行中發現一定的問題,於是就自發討論,然後選擇了一個自以為完善的新方案做調整,卻不料新方案本就是本地團隊討論過後被槍斃的。

正因為大家肉體不在一起,溝通的成本就變得更高,大量看似無關緊要的信息,受限於溝通的成本,無法傳遞,而它們往往在今後的項目進行中,對你們的合作產生致命的影響。

我知道你想說什麼,一種可能是遠程團隊不做決策,都有一側來做決策,但這肯定不可能。信息溝通的帶寬是有限的,且兩地合作的延時也是非常大的。所以遠程團隊必須要有一定的自主性。

打個比方,火星車不能全部依賴人類在地面控制,信號一來一回要很久,它必須用有一定的智能和判斷能力來處理緊急情況,遠程團隊也是同樣的問題,他們不能等待遠程控制,他們必須做出一定的決策,才能把工作推進下去。

另一種辯解,是改方向了以後,及時和對方溝通就好了,那會有新的問題,然後我們展開說一下溝通的帶寬和成本問題。

溝通帶寬和延時高

溝通帶寬和延時是一個不容忽視的問題,往往不能用執行團隊的溝通意願和溝通能力來彌補。常見的溝通方式,在面對遠程合作的時候,總表現出這樣這樣那樣的局限性。

先看帶寬問題。

常用的溝通方式,無非就是電話、會議、郵件、IM工具。電話是一對一的,這意味著信息必須通過另一個人來傳達給對方的項目組,多一個環節就會多些失真多些損耗,這個不用解釋;會議是常見一對多溝通,但會浪費時間,且遠程會議只適合用來傳達結論,不適合用來討論,我們在後面的章節解釋;email就可以一對一,也可以一對多,看似理想,但缺點就是非同步性,很多討論是非同步不容易推進的,且由於非同步性,所以回復mail容易被拖延,發個郵件半天沒回復是很正常的;IM和mail不同,更多一點及時性,但是又不便于歸檔和檢索,且由於IM過於方便,有關無關的事情都在IM上討論,也容易分心。

所有的溝通方式,都無法在溝通效率上和面對面交流相比,簡單說,就是帶寬不夠。帶寬不夠會造成大量重要信息無法同步,

再看延時問題。

遠程交流的延時是很難避免的。同組的溝通,可以當面正式溝通,可以約吃飯私下溝通,抽個煙或是上廁所邂逅,都能把事談完,同一個辦公室,抬頭不見噓噓見,順便就聊完了。遠程溝通就沒那麼簡單。

對於同步交流手段,如電話和會議,需要預約時間。預約的人越多,越難約齊,這個是常識。預約地點越遠,也會難約齊,這個就比較不容易注意到。預約在下面情況下不會很順利:

  • 兩地有時差
  • 兩地工作室有不同的活動安排,比如員工大會,國定假日放假等
  • 兩地工作節奏不匹配,比如法國同事一到7月就開始度假去了,12月份也是休假一片,國內同事則是春節前後效率極低

對於非同步交流手段,比如Email和IM,無需預約,寫完發送即可。但是交流溝通不是單方面的,有來有回才是溝通。你怎麼知道對方有沒有準時閱讀,有沒有同意,有沒有按時推進。一般email處理上,很多人都有拖延症,見過很多同學郵箱里沒有處理的郵件上千。而且收件人越多的mail越沒人回復,大家的心理活動一般是這樣的,這麼多收件人,我一定要花一段時間用盡全身功力來好好回復,然後就沒有然後了。由於你對遠程團隊的約束也不夠,他們既不歸你們團隊考核,又不在你眼皮底下活動,聯繫你們雙方的,就只有傳說中的職業化。職業化,在很多公司,不是那麼靠得住的東西。

由此可見,延時和帶寬,很大程度上降低了我們的溝通質量,給遠端合作帶來了很大的困擾。由於組織一次高效的溝通是如此不易,所以大家更會在每次溝通時儘可能多的involve更多人,這樣會讓會議更冗長,從而降低大家開會的意願,時間長了,溝通就會受影響。

即使大家克服了所有的難處,約過了千山萬水,跨過了時空的組合,終於幸福的在一起溝通協作,後續還有更多的考驗等著大家。

溝通質量

說到這個話題,不由想到了一些團隊,開發者們最喜歡做的事情,就是在某些大作上市後,一起來看遊戲,展開集體批判,進行各種雞蛋裡挑骨頭的活動,來刷存在感。大家往往會說,這個遊戲這裡的美術完全不行,比我們做的差遠了;性能一塌糊塗,才渲染這麼點東西就卡得不行;遊戲玩法有沒有調過啊,上手曲線如此妖艷;音頻定位,5.1聽上去就像0.1一樣。一通批評後,大家心滿意足的散去,全然不顧自己的遊戲品質還遠遠不如對方。

文無第一,武無第二,品質這東西只能意會,無法量化,給了大家打嘴炮的空間。

團隊之間也會有類似的比較,合作雙方都在日常工作中不自覺的進行對比,然後本能的以為,對方都是sb。

這雖然是很簡單的道理,我卻花了很久才意識到。那是在一個協作的項目,兩地的團隊一起做,由於工作原因,我經常兩地跑,於是有時候在一個團隊參加討論會議,有時候在另一個團隊參加討論會議。

每次討論會議中,總會對產品方向上有很多激烈的爭論。在開電話或是視頻會議中,總是爭著爭著,大家就不自覺不理睬遠程團隊,在會議室里和本地團隊單聊,快速溝通概念,迅速達成一致。然後再開始重新電話溝通,把本方觀點傳達給對方,試圖去解決兩地的爭執。我很多次的抱怨,和對方溝通太費勁了,我們可以如此迅速的達成一致,結果卻要花更多的時間和遠程團隊再解釋一切。對方團隊理解能力和溝通能力太差了。

幾次下來,就突然想到,我參加過兩邊的會議,每次都覺得本會議室裡面的人是很容易溝通的,遠端的團隊是sb。可是沒理由啊,同一批開發人員,會根據我所在會議室的不同,時而被歸類為聰明人,時而被歸類成笨蛋。

是不是溝通的信息,並沒有辦法在那一根細細的電纜中傳輸,本地討論有太多輔助信息,或是張揚的表情,或是微妙的眼神,或是音調的起伏,或是揮舞的手臂,或是白板的書寫,所有信息的綜合,才構成了快速理解的基礎?經過電纜一過濾,音頻壓縮一下,視頻編碼一下,傳到遠端,那些最珍貴和有價值的信息,就被丟失了?


推薦閱讀:

ActionScript3現在是否還值得學?
遊戲伺服器全服廣播消息正確的做法?
橙光遊戲的製作和適應人群都是學生么?該怎麼看待這一點
【Unity】工具類系列教程——配置化和規範流程
「反響這麼好,現在都很震驚」:《絕地求生》製作人談吃雞的成就與未來

TAG:软件工程 | 游戏开发 |