為什麼軟體外包開發不再可行

infoq發表於2015-11-05

  Yegor Bugayenko是一名軟體開發人員,同時也是軟體外包公司Teame.io的創始人和CTO。從自己將近10年的軟體外包公司工作經驗中,他得出結論:現如今,軟體外包開發已經行不通了,軟體外包的結果只有災難

 

  他查閱多篇文章,尋找軟體外包失敗的原因。他認為,下面所有的原因都不得要領:

  • 最便宜的提供商:有人認為,軟體外包是為了降低成本,所以最終會選擇最便宜的提供商。但Yegor認為,增加開支並不能解決該問題。而且,這個原因也不限於軟體外包。在任何商業交易中,“你輸我贏”只會通向失敗。
  • 文化不匹配:有人認為,外包公司同客戶之間的文化差異是導致成本超支、計劃延期和程式碼質量低下的原因。但teamed.io的團隊來自超過15個國家,他們在工作中從沒有因為文化問題而糾纏不清。
  • 缺少面對面交流:有人認為,外包公司同客戶身處異地,缺少面對面交流,容易產生誤解。但Yegor認為,不見面也可以清晰的表達和交流觀點。
  • 沒有成功指標:沒有清晰定義成功指標,這是外包公司同客戶關係破裂的原因。Yegor認同這一說法,對於外包公司和客戶,成功有不同的意義。
  • 糟糕的規範:有人認為,大部分專案都無法定義良好的規範,而這是導致外包專案失敗的原因。Yegor認同這一說法。不過,他認為這與外包公司無關。無法明確定義技術需求是架構師本身的缺陷,可以通過學習、培訓和閱讀來解決。
  • 人才流失:離岸開發人員缺少對專案的忠誠度,他們中最優秀的可能隨時退出。而Yegor認為,這與開發人員的所在地沒有關係,應該採用更有效的激勵手段。

  對於上述原因,Yegor認為,它們僅僅能夠說明外包專案的結果,但並沒有觸及真正的問題。在他看來,真正的原因是外包公司的CEO只關心一個問題,就是下個月的僱員工資,因為公司90%的支出都是程式設計師的工資。所以,對他們而言,付錢的客戶就是好客戶,他們並不關心客戶專案是否成功、成本是否優化等。而從前,軟體外包之所以可行,是因為外包公司的人力成本非常低,他們通過向異國客戶出售程式設計師的時間可以獲得巨大的利潤。但現在,由於程式設計師對工資及福利的要求增加,利潤空間遭到了嚴重壓縮,保持源源不斷的現金流成了外包公司的唯一動機,他們不怕專案時間長,不怕程式碼質量低(可以賺取運維費用)、也不怕電話、開會和其它浪費時間的活動,所以軟體外包已經不再可行。

  對於這一話題,Hacker News網友的討論異常激烈。網友makecheck認為,軟體外包從來就不可行,因為軟體外包存在下面兩個方面的問題:

一個是軟體外包中有一個想法,就是程式設計師在某種程度上非常容易替換,認為只需要找到一個開發人員就可以,而幾乎沒有考慮,如果選擇的團隊壓根不瞭解他們要做的工作,那會有什麼影響……另一個問題是文化上根本性的誤解。

  網友chris_wot持類似的觀點,他認為:

大多數非技術出身的專案經理都不明白:IT人員並非即插即用的模組元件……總是要有一個提前期——根據專案的複雜度不同,有時需要數月——在真正富有成效的工作之前,新僱員需要熟悉和理解系統及業務需求。

  網友JoeAltmaier也認為軟體外包不可行,他指出:

20年來,我從來沒有從軟體外包專案中看到回報……(軟體外包專案)的管理成本高於收益:語言障礙、時區、文化、網路接入……

  網友MortenK也認為軟體外包專案的管理成本更高,其在專案管理上的時間投入是本地專案的2-3倍。不過,對於文化差異的問題,他認為可選擇文化相容度高的外包地。

  網友timtas贊同Yegor探討這一問題的方式,但認為他並沒有提供一種可用的方法:

如果嚴格按照他的觀點行事,那你永遠都不要用金錢換取服務了。

  同時,他認為,名聲很重要:

名聲好的外包公司不會純粹將客戶視為搖錢樹。雖然他們在利用率問題上面臨著同等或更大的壓力,但他們仍然會高質量地完成工作。

  網友d4nt經營著一家軟體外包公司,他認同Yegor及其他網友提到的許多問題。但他認為:

你永遠不應該為了省錢而外包……外包的主要原因應該是購買專業知識。許多公司真不知道如何編寫軟體需求文件,或者什麼是非功能性需求,或者如何設計使用者介面……

  網友cookiecaper認為外包也是有好處的:

其中一個主要的好處就是,外部承包商通常不會受到公司內部政治的影響。也就是說,他們更可能給出直接誠實的反饋,而不必過多顧及其他人的情緒。在大多陣列織中,這都是非常有價值的。

  此處僅列出了網友的部分觀點,感興趣的讀者可以進一步閱讀

相關文章