開發軟體有多貴

thoughtworkers發表於2015-06-04

  有個朋友的朋友想做一個公益的事。因為出資的都是教育水平較高的精英人士,所以對專案的監控透明度要求比較高。於是這個朋友的朋友就想了,資訊時代嘛,IT 工具不是可以促進交流提升效率麼?於是他對我說:我們想做個 app,可以幹這個這個這個……

  我打斷他說,彆著急,做軟體很貴的,你不一定玩得起。

  做個軟體究竟有多貴?我們可以做一個非常粗略的估算。市場上定製開發軟體的人工成本按一人月 20,000 人民幣來算,平均每人天1,000 人民幣。根據《軟體估算》提供的經驗資料,隨軟體複雜度變化,在整個交付專案期間,平均每個程式設計師每天產出的程式碼量在 2 行到 200 行之間。如果以平均每天產出 100 行程式碼來算,則編寫每行程式碼的成本是 10 元錢。

  把軟體寫出來只是第一步。軟體要放在某個環境上去執行的。伺服器端的軟體要部署在可靠的伺服器上,要有可靠的網路連線。客戶端的軟體(比如一個 app)要安裝在使用者的電腦或手機上。軟體要維護要升級要管理要排錯的。有了一個軟體,有了一臺伺服器,就得有掌握這個技能的人來管理它的。根據 Oracle 引用 Enterprise Management Associates 的資料,60%~70% 的 IT 預算耗費在運營和維護上。於是我們可以大致估算到,加上運營和維護成本,一行程式碼的成本就會達到 30 元。

  那麼一個 app 會有多少行程式碼呢?當然也隨複雜度不同會有很大變化,只能舉兩個例子作為參考。RapidFTR 是一個用於“家庭跟蹤和團聚”的 Android 應用。當戰爭、地震、海嘯等災害發生時,國際援助團隊可以用這個應用來尋找失散的兒童。這個軟體大約有 34,000 行程式碼。另一個 Android 應用是克林頓健康倡議給非洲國家開發的基層醫療物流管理軟體,鄉村醫生可以用這個工具來管理他們的藥品庫存。這個軟體的程式碼超過 46,000 行。換句話說,這兩個目標很單純、功能並不複雜的 Android 應用,擁有它們的成本都在百萬人民幣以上。

  而且上面估算的還只是軟體本身的開發、運營和維護成本。在 IT 的基礎上調整組織機構、優化工作流程、創造高質量內容、市場傳播推廣……那需要的人財物力就更加難以估計了。更不用說,移動網際網路本身是一個充滿變化與創新的領域,犯錯與試錯是家常便飯。所以你看,想開發一個新軟體,這是多麼貴的事。

  軟體這麼貴,是不是沒錢的組織、尤其公益組織就註定享受不到科技帶來的強大能力了?不是。其實有大量的軟體工具已經存在,它們非常成熟,它們經過了無數使用者的檢驗、能很好地完成它們想要完成的任務,而且它們非常便宜甚至免費。要做個網站嗎?Ghost 或者 WordPress 都可以。要點對點的傳播?微信和 QQ 是蠻不錯的工具。想收集很多人的觀點和意見?金資料就是幹這個的。發郵件期刊?可以考慮 MailChimp。需要客戶關係管理(CRM)?其實一個設計合理的 Excel 表單就可以做得很好。

  所以,一個機構想要用 IT 技術提升能力,首先需要的是網際網路思維,是設計能力。首先理解自己的目標使用者,理解使用者的整個體驗,理解體驗之中的困難與挑戰,然後選擇適當的工具來應對這些困難與挑戰。當你把問題細化到一個具體的設計挑戰,往往就能找到現成的工具來解決它。至於開發一個新軟體這種又貴又費神的事情,還是能不做就不做吧。

相關文章