Startup該不該將軟體外包?

I outsource my humanity on Flickr?
圖片來自M i x y

在我經營Yabbyland的時候,和關掉公司後,我常常思考當初是否應該將我們的軟體外包,而不是自己寫。一種說法是:如果自己寫,核心技術可以自己保留,客戶需求在自家中可以比較容易溝通;另一種說法是:外包開發人員可以比較專業,開發速度可以比較快。今天我看到這篇文章,也是在討論這件事。

本文作者認為Startup不應該把技術外包,原因如下:

  1. RD人員應該能夠直接接觸客戶,這樣才能夠開發出符合客戶需求的軟體。
  2. 軟體複雜的模組需要很好的溝通才能夠成功的兜在一起。
  3. 好的軟體開發技術需要培養,好的人才很難找。
  4. 智慧財產的保護。

但是文中又指出另一位在外包業先進的看法:

  1. 溝通可以解決很多問題,而現在網路造成溝通更加容易。
  2. 就如開放碼軟體的發展所顯示的,網路所造成的溝通容易讓軟體模組的配合也更加的容易。
  3. 在地球兩頭的開發團隊可以在日出日落,24小時開發軟體。
  4. 世界上各地的軟體開發能力已經不再如從前有這麼大的差距,印度的工程師跟美國的工程師一樣厲害。
  5. 廠商也很尊重智慧財產。而且很多公司認為自己的競爭優勢不再在於保護智慧財產權,而是在於比別人開發更加快速的軟體開發能力。

我的看法是:垃圾進,垃圾出。一個好的產品,並不是在他的code如何優雅(elegant)。一個產品的成功在於商業模式是否合理,軟體開發前的的構思是否完整,軟體介面的設計是否符合人因。我覺得軟體自己寫有自己寫的方便,外包有外包的好處;我自己請過很扯的菜鳥工程師,也外包給毀約的外包商過。 不論選擇哪一種,身為老闆,必須要「從頭到尾」想清楚你的產品的「來龍去脈」,再跳進去─確切執行。記得,惡魔在細節理。