1. 程式人生 > >這個人很吊的技術部落格

這個人很吊的技術部落格

解讀對日軟體外包(2012還在上學時轉載,目前2018年從對日外包離職,說的情況即使現在還是一樣)

一、 前言
外包、軟體外包、對日軟體外包。這些都是什麼?您對它們都有了解麼?您是否正在考慮
去一家外包企業工作?如果大家對外包和軟體外包還不甚瞭解的話可以先找些相關文章參
閱。本人現在就職於一對日軟體外包公司,所以在對日軟體外包方面有一些經驗,可以與
大家分享。本文就著重為您介紹一下對日軟體外包的特點,以此來使您瞭解對日軟體外包
。文中並不涉及任何細節問題,只是對日軟體外包特點的一個概覽。

二、 特點1:日語水平
和其他外資或對外公司一樣,對日軟體外包公司也很需要外語也就是日語人才,它最看重
的就是你的日語水平,你技術水平不高,甚至你根本不懂軟體,沒關係,只要你日語很好
,公司也照樣會錄用你,如果你能和日本人交流,那你更是公司的重點保護物件了。為什
麼?因為公司和日本做生意就要和日本交流,連交流溝通都有問題,別的就別談了。很多
人說中文和日文有很大的相近之處,所以中國在對日外包上有語言的優勢,我認為也不全
盡然。首先中國人會日語的太少了,而且因為歷史原因許多人不願意學日語。雖然近幾年
參加日語等級考試的中國人猛增,但相對於學習英語的人來講還是不可同日而語,對於彌
補對日公司的人才缺口更是杯水車薪,更何況這裡面很多都是半路出家,日語不是他們的
第一外語,水平也是參差不齊。從中國整體地域上來看,由於日本臨近中國東北部,所以
有史以來東北地區和日本、朝鮮交流比較多,會日語和韓語的人相對其他地區較多一些。
而中國的南方和西部日語人才屈指可數,所以對日外包公司多集中在中國的東北和華北地
區,比如大連和最近對日外包日漸活躍的北京。
那麼是不是我一點日語不會,或是日語不好就沒有希望在對日公司工作了呢?不,絕對不
會。因為在對日企業如果純作技術的話一開始日語不好也沒有關係,因為你不必和日本人
直接交流,雖然文件都是日文的,但都是模式化的東西,而且確實和中文比較相近,大概
意思都可以猜出來,實在不行別人也是可以幫忙講解的。一般對日公司針對日語不好的員
工都會開辦各種形式的日語學習班幫助其學習日語的,利用晚上或週末大家聚在一起由老
師教授或自學。起碼我所在的公司是這個樣子的,別的對日公司我也瞭解過大體上都差不
多。不過經過一段時間的日語學習如果你的日語水平還沒有長進或你根本不學那問題就嚴
重了。當前日語人才短缺,所以對日公司才會招日語基礎不好的人,也是不得以而為之的
。員工在公司裡接觸的都是日文,如果一點不懂,時間長了必定影響工作效率。不會可以
,肯學就行,不會又不肯學日語在對日公司是一點前途都沒有的。在我們公司日語不好別
的再好,漲工資、提升根本就不會在考慮範圍之內,但如果你日語水平很高,甚至能通過
高等級的日語水平考試那就是前途一片光明,如果技術在很過硬的話,沒的說,重點栽培
物件。
在這裡我建議有想到對日公司工作的朋友,如果你不再乎學日語,肯學的話,你可以到對
日公司試一試,如果根本不想學那我勸你還是另做打算吧,如若不然你在公司裡將非常尷
尬,你並不是技術或別的方面不行,就是日語不行,那你的績效就是上不去,不光屈了你
的材更為公司帶不來高效益。

三、 特點2:工作時間
為什麼會把工作時間列為對日外包的特點呢?其實不光是對日外包,所有的離岸(國外、
海外)外包都有這個特點,也就是國外和國內因為時差和節假日或其他的不同會導致我們
的工作時間步調不一致,這裡我只是針對日本來說說。
首先說日本人和中國確實是有一個小時的時差,但一個小時並不是問題。成問題的是日本
人的工作習慣和工作精神。日本人一般都不是正點下班的,日本人工作瘋狂的程度我想已
經不用我再多說了,日本人因為工作勞累過度猝死的有很多。日本人下班後大多數都會自
覺的留在公司再繼續工作一段時間,尤其是軟體行業。這是傳統也是因為日本國內現在就
業壓力很大,不賣命就會很快被淘汰掉,所以大部分人都是很努力的工作。而對於我們對
日軟體外包公司和人員來說問題就來了,他們不下班,他們在工作,那我們就要有人和日
方對應(隨時響應日方發過來的任何東西,必要時要馬上給出回答),所以不光白天我們
要工作,要實時和日本保持聯絡,到了晚上更是如此。尤其是日本人一般是白天整理一些
問題,效率高的可以實時的發過來進行解決,慢一點的就要攢到臨下班之前發過來,要求
在多少多少時間之內解決,所以有些比較極端的情況下,我們就會白天等待日方的問題,
然後晚上幹活。納品期(專案交付期限)越是臨近就越是這樣,有時候納品那天和前一兩
天基本上是24小時全天候待命。但這正是說明了日本人對質量要求的非常嚴格,不惜一切
代價保證產品質量,一旦發現問題馬上進行對應。所以和其他IT公司一樣對日公司也會經常加班,當然這只是加班的原因之一。日本的各種名目的節日卻非常的
繁多,動不動就放假,所以有時候會非常忙有時候一連好幾天日方都沒人對應。
再有就是中國人過春節,日本人沒有。所以對日外包公司如果有專案跨春節,甚至在春節
當天或後幾天納品,那對不起了,一般這種情況下專案成員的春節就會過得比較緊張。大
年三十晚上一般可以放你回家過,但過完節就很有可能提前幾天回公司加班。

四、 特點3:採用成熟技術
如果你是.Net程式設計人員。那你在對日軟體外包公司應該是很難找到工作。如果你是Java高
手那恭喜你,你是對日公司最青睞的人選。對日外包專案採用什麼工具進行開發一般都是
日方指定的。日本人選擇開發工具或其他周邊工具時大多會選擇java這樣的工具,一是因
為這些工具經過很多年很多人和專案的使用,已經非常成熟和完善,基本上不存在任何技
術難點,可利用的外圍資源也非常充足,拿來就使,有什麼問題都很容易查到解決方案,
還有就是java是免費的,當然最重要的還是第一點。
高度成熟的工具帶來的低風險,低風險意味著高質量和低費用。反之,使用新工具必然要
承受高風險。日本人有時候會使用一些很古老的工具,有些甚至是聞所未聞的,為什麼?
因為有些系統是在原有系統上擴充套件開發的,原有系統可能是很多年前開發的,那時候的技
術當然還很落後,但原系統運行了很多年都很穩定,說明原系統使用的技術是可靠的,所
以為了維持系統的穩定而繼續沿用原技術。日本人在軟體技術上從來不是拓荒者,他們使
用經過百般錘鍊靠得住的工具和方法和框架,一旦他們找到一個或一套實用的適合他們的
開發方式,他們就會堅持的使用下去並不斷的改善,直到這些東西老得實在不行了則再融
合一些較新的但亦已成熟的東西進來。質量和穩定是第一位的。

五、 特點4:文件極其嚴謹
文件在軟體專案中的重要性已經是盡人皆知,日本軟體業極為重視文件和使用文件,他們
把每個細枝末節都要以文件的形式記錄,哪怕是一封郵件中的內容也要摘出到文件中記錄
下來,印度軟體業和文件化和日本很相似,印度軟體業的文件也相當完備的。
日本人寫文件有一個特點,就是特別偏愛Excel,他們90%以上的文件都是用Excel寫的,
至於為什麼他們偏愛Excel是重說紛紜,我覺得其中最重要的一個原因是Excel可以分很多
頁,便於管理,而象Word等其他文字都不具備這個優勢。日本人把Excel運用得出神入化,
使用各種各樣的巨集,各種各樣的繪圖,各種複雜計算,只要他們想要他們就能在Excel中搞
出來。
日本軟體專案文件雖然詳細,但也不很統一,並不是或僅是教科書上羅列的那些文件,每
個公司又有每個公司的特點,但大體上相差並不是很大。下面我給大家說說兩種比較有特
點的文件,這些文件也許別的型別的軟體公司也有,這裡只說我在公司裡所見過的。一種
是質問票,是接包方(外包承接方)發給發包方(外包提供或發放方)的。質問票是當仕
樣書(設計書)上的內容含糊不清或不易理解的時候,或對於日方的一些要求理解不清楚
的時候要用到的,在質問票中寫出你的疑問點發給日方,然後日方會給你一個回答,裡面
有對你的疑問的詳細解釋。這是離岸外包專案中特有的一種文件,因為發包方和接包方的
距離比較遠,不能隨時交流,所以用這種方式討論問題,雖然效率不高,但成本比較低,
且能留下書面證據。另一種就是指摘,是由發包方發給接包房的。和其他軟體公司一樣,
日本人把程式中比較明顯的問題叫做bug,而一些模稜兩可或理解有差異的問題他們叫做指
摘,不算作bug。記錄bug的文件叫做bug票,記錄指摘的文件就叫做指摘。還是因為溝通的
問題,在日方拿不準這個問題到底是不是bug或算不算bug,他們都會發過來指摘讓我們調
查或商討。指摘的存在對衡量軟體產品的質量影響很大。一個專案如果bug很多,當然質量就不好。但有了指摘,很多問題就不必歸為bug,所以對接包方來說
就有bug和指摘兩個方面來衡量軟體產品質量。這樣衡量起來就更公正一些,但指摘如果很
多的話當然也說明軟體質量不高,如果某個指摘最終被確定為bug的話,那麼此指摘就要被
歸為bug。當然指摘的作用不止於此,它還有很多別的功用,就不細說了。
以上只是舉了兩個例子,對日外包專案還有很多獨特的文件,如果有朋友感興趣我以後可
以專門撰文介紹之。

六、 特點5:外包層次低
現在大家大多使用傳統的瀑布模型生命週期,保守的日本軟體業當然也不例外,瀑布模型
分為需求、分析、概要設計、詳細設計、編碼、測試、維護等階段,現在大多數的對日外
包專案都是從編碼階段以後開始外包,需求分析和設計鮮有外包的。可以說對日外包公司
就是一個程式碼工廠,大部分員工都是程式碼工人。所以中國現在就是日本軟體業的後方程式碼
代工廠,這也就意味著中國的軟體外包還處在一個很初級的階段,只能把做一些沒有技術
含量的簡單的工作。這裡的原因很多,日本軟體外包專案的需求一般都來自日本國內,所
以我們中國對日外包公司很難也不太有能力接觸到需求分析階段(當然這裡面還涉及商業
機密、安全等方面),概要設計要根據需求分析的結果來進行,詳細設計是接包方最有可
能接觸到的上層環節,但現在中國的軟體業的行業素質還不是很高,還無法實現日方要求
的詳細設計要求,所以詳細設計一般也不外包給接包方。
雖然如此我們也不要過於悲觀,現在中國的軟體產業正在大踏步的向前發展,我們在承接
外包專案的同時,也學習到了發達國家的軟體產業的先進知識和經驗。國內已經有很多發
展很快的對日外包企業得到了日方的肯定,近來已經有一些對日外包專案拿到了詳細設計
的外包。我想隨著中國經濟的高速發展,帶動著中國軟體業的高速發展,未來的中國軟體
外包業一定會從日本或世界程式碼工廠的陰影中走出來上升到成為業務流程整體外包的接發
包的高層面上來。從業務到研發,從設計到開發的全面接包,逐步取得發包方的信任,積
極樹立接包方的信譽和品牌。由此我們的角色不僅僅只停留在接包方,在我們掌握了先進
的管理方法以後,我們同樣可以成為發包方,把我們的軟體專案外包給其他國家。
當然要實現上述的巨集偉目標還需要付出相當多的努力,需要我們踏踏實實一步一個腳印的
走下去,去爭取更高層次的外包專案,學習別人的長處為我所用,將其發展,取其精華去
其糟粕,使之成為適合我們使用的知識。

七、 特點6:需求變形
在上述特點中我們提到對日軟體外包通常是不外包需求、分析和設計階段的,那麼就會造
成接包方和發包方對需求、分析和設計在理解上的分歧,因而導致設計或編碼的不斷變更

需求和設計的不穩定是軟體業的通病,是軟體業最讓人頭疼的頑疾。有人說有一個軟體領
域的需求就非常穩定,可以在設計完成之後就不再變化,這就是離岸軟體外包,特別是對
日軟體外包,就我看來這是大錯特錯。雖然日本軟體業的需求和設計文件相當規範,但這
並不代表它們不會變更。大多數情況下如果日本某公司要製作一款軟體會將其外包給一日
本軟體公司,而日本軟體公司為了節約成本有時會將此專案中的部分模組或某個專案階段
再轉包給中國對日軟體外包公司,而中國的對日軟體外包公司的總公司一般都在日本,總
公司負責接包,然後再由總公司將專案發到國內進行最終制造。大家可想而知這裡面一共
倒了多少次手了,有的時候甚至到某對日外包公司手上的專案已經是三包四包了。專案小
點還好說,如果是一個大專案,發包方要和接包方進行頻繁的交流,大量的資訊經由三四
個節點的傳輸很難說不會變形。
越是大專案需求越不穩定,這是大家都知道的,發包方很難一次性的瞭解清楚所有的需求
,何況再倒了幾次手,再加上仕樣書的錯誤或者語句有歧義(我們經常遇到),再加上接
包方專案人員日語不好,我想最終編碼人員對專案的理解和最初發包方的理解不會是完全
吻合的。所以就出現了到了專案中後期的時候,已經做出一些成型的模組了,這時候發包
方和接包方的交流就會越來越頻繁,你問我答,我問你答,大家都在極力搞清楚某個東西
到底是幹什麼用的,它到底是不是使用者想要的,然後是仕樣書修了又補,程式改了又改,
最後再大量投入測試人員,進行大規模的測試以保證專案的質量。所以對日專案到了中後
期以後專案人員就會經常加班,這也是對日公司加班的另一個原因。
其實,話說回來,我覺得對日外包專案做到這個程度已經是很不容易的,而且現在有很多
公司已經做得很好了,已經形成了一套成熟的外包對策。一個專案能夠做下來而且不延期
或是延期很短時間已經算是相當成功了,雖然說存在專案需求變形,但日本人良好的做事
習慣還是值得我們學習的,比如他們的文件大部分用貼圖、圖形、表格來實現,任何細節
都要形成文件有據可查,這就保證了雖然專案總是在變,但不會陷入混亂,亂如麻而理不
清頭緒。一切都是有序的在進行,只是要做的事情比較多時常加班。

八、 特點7:沒有產品,沒有銷售
一般軟體公司都做兩種東西,一個是專案,一個是產品。專案是從來沒做過的,只做一次
的軟體。產品是做完了要面向市場銷售的,要維護要更新換代的。專案和產品的具體區別請
參閱其他資料,我這裡就不累述了。
外包公司一般接到的活都是專案,很少接到產品外包的。因此沒有產品也就談不上銷售,
沒有銷售部門、銷售人員、營銷、渠道市場、鋪貨等等的職能和運作。如果你是一個銷售
或營銷人員那你就不要考慮對日軟體公司了,如果你是一個程式設計師或工程師或專案經理想
改行搞銷售或市場,那麼也勸你不要考慮對日軟體公司了。當然,如果有公司做對日的產
品,而你想做銷售日語又好,那麼無疑這個公司是你理想的選擇。

九、 特點8:外派制度
你屬於A公司,現在A公司暫時沒有事情做,那你是否就可以閒下來呢?當然不是,你會被
派到一個需要人的B公司支援那裡的專案。當然並不一定要A公司有閒人,如果B公司很需要
人找到了A公司,A公司也會想方設法的抽出人手派給B公司。這就是對日外包公司極有特色
的外派制度。
在國內公司尤其是國有企業你從來沒見過哪個公司把自己的人派到別的公司去幹活,在國
人看來這也許不太好理解。而這在對日公司之間已經是司通見慣的了,甚至專門有公司就
是做外派,招了人就派出去。是因為對日公司之間喜歡互相幫助麼?當然我絕不否認有會
有此因素存在,但最終落實到根本還是利益在其中起著重要的作用。下面就讓我祥述一下
外派的來龍去脈吧。A公司派人到B公司去工作當然不是無償的,B公司是要按每人每月付錢
給A公司的,所付的錢按照公司、專案、人員素質、時間等等因素由A和B公司來協商,如果
兩公司之間經常互相外派的話那麼就會自然的形成一個約定的穩定價格。A公司外派到B公
司的人除了工資不歸B公司發以外,和B公司的待遇是一樣的,當然這裡面還有很多細節問
題按各公司不同而具體協調。A公司要和B公司簽訂外派合同,規定外派人員、外派時間、
外派費用以及各種細節問題。外派人員在B公司規定的時間內完成規定的工作後,交接完工
作後就可以回到A公司了。
這就是對日公司外派的大概流程,無論你喜不喜歡這樣的公司運作方式,它現在都已經存
在很長時間了,而且得到了許多對日公司的認可了。是誰是哪家公司先實行的這種制度我
實難考證,但這種制度能出現且能生存下去必然有它的優勢所在。首先,很顯然,B公司從
A公司借來一個人工作,每個月只要付給A公司一定的費用就可以了,當然這筆費用要比正
常員工的月工資高很多,但外派人員的保險、福利、人事關係等等B公司統統的不用關心。
這其實就是A公司把人借給B公司用用,說得更深入一些,本質上外派也是外包,就是B公司
把一些工作外包給A公司,A公司出人來做這些工作,但A公司的這些人要到B公司去,與B公
司的員工一些協作完成工作。
如上所述,外派是一個多麼好的運作方式啊,B公司無須擔負外派人員的任何長期額外支出
,節省了B公司的成本,A公司也充分利用了人力,使人力資源得到了合理化配置,並獲得
了人工的超額利潤。那麼外派制度真的就白璧無瑕麼?當然不是,外派制度是一把雙刃劍
,它也有致命的缺陷。有些短期外派人員被派到一個公司主要負責編碼工作,編碼結束後
外派人員不再跟進編碼階段以後的工作了。這樣一來就帶來了隱患,試想B公司某專案的編
碼工作是A公司的外派人員完成的,編碼階段結束了,外派人員走了,那麼外派人員所編的
程式碼就要B公司的人員來測試和維護,而且B公司本來就缺人手,所以B公司肯定要每人負責
很多程式碼,本來這些程式碼就不是他們編的,現在他們要看懂這些程式碼,要找出其中的問題
,並對程式碼進行修改。想想這是多麼可怕的一件事情,誰敢保證別人寫的程式碼全能看懂,
誰敢保證改動程式碼後不出問題,後果可想而知。其實不光是編碼,只要外派人員不跟進整
個專案流程就存在此類問題,別的我就不多說了。所以現在企業更希望外派人員跟進整個
專案流程,但時間越長外派人員的成本越高。很多對日公司一直在思考怎樣提高外派的效
率,相信以後的外派制度會越來越完善,國內公司也許也會借鑑這種模式來節約成本。

十、 總結
上述是我個人總結的對日軟體外包的一些特點,雖然它們不是對日軟體外包獨有的,但它
們確實是對日軟體外包中所存在的所固有的。瞭解這些特點有助於我們深入瞭解日本軟體
業、對日軟體外包,並促使我們去思考我國的軟體業該如何改進、發展。
我國對日軟體外包正處在高速發展階段,它前景廣闊,機會多多。我們從日本軟體業學到
了很多東西,從日本人身上學到了他們做事的態度。對日軟體外包擴充了我國軟體市場,
提高了我國軟體製造業的水平。但我們要深知為什麼日本人會把軟體外包到中國,就是因
為中國人力資源便宜,在日本僱一個普通員工在中國可以僱一個四五個人的團隊,這其中
我們賺到了錢,但我們賺的當然是小頭,日本人拿的是大頭。這說明我們國家的軟體水平
還很低,二戰後我們和日本一併起步,為什麼日本可以一躍成為世界強國?日本的軟體業
並不比我們起步早,為什麼現在他們的軟體業水準如此之高,以至於他們的鄰居我們這個
泱泱大國都要向他們學習,這都是很值得我們去思考的。我們不能永遠滿足於軟體製造工
廠這個層面,我們一定要把別人的好的東西學來為我所用。從軟體製造工廠發展成為世界
研發基地,從簡單的軟體外包發展成為業務流程整體外包,從接包方到發包方。這其中每
一步都離不開每一個軟體人的努力。
如果您是一個軟體人,希望本文能夠對您有用,能夠給您瞭解對日外包軟體業、外包行業
以至於擇業提供一些參考。