【投稿】做一個功能和 WhatsApp 一模一樣的 App,需要準備多少錢?

【我們為什麼挑選這篇文章】在網路世代下作為一個主管,軟體的開發時間逐漸成為一個工作必備知識,這就好比一個伐木業總經理不能不知道木材的處理時間一樣。如果因為無知而導致產品出產不及,那就得不償失了。

轉寫本文的 Skygear 團隊專注開發後台軟體工具,他們將帶大家理解一下,一個像 WhatsApp、Uber 的 App 到底要花多少錢製作呢?(責任編輯:陳伯安)

作者:任職於軟體開發公司 Skygear 的 Queenie

「我想製作一個跟 Uber 一樣的 app,價錢是多少?」

Skygear.io(作者任職公司)作為 BaaS 後台服務商,我們(本文作者)每天都會收到潛在客戶查詢價格,甚至希望直接代為開發 app 要求報價。除了查詢寫一個像 WhatsApp 或者 Uber 的 app 要多少錢以外,我們也常遇到查詢開發一個像 Airbnb、Facebook 或其他知名品牌 app 的費用。這個問題背後隱含的含意是:「我能夠複製成功模式嗎?成本是多少?」

我們暫不討論是否能夠藉由複製成功模式來創業(別忘了具爭議性的德國公司 Rocket Internet 靠著完美複製 eBay、Groupon 和 Amazon 等知名電商品牌的商業模式,成為歐洲擴張最快的跨境電商,還能夠把複製出來的公司以高價賣回給被模仿者來營利),我們今天要討論的是,如果客戶真的想要複製一個 Whatsapp、Uber 甚至 Airbnb、Facebook,需要多少錢?

一般而言,委託製作一個 app 的專案費用是以「人天」(man-day)來計算的。簡單來說就是安排工程團隊為你開發這個專案一天的費用,再乘以預測這個專案需要多久完成的天數,得出一個總額就是報價。因為開發商大多有公定的 man-day 價格,所以變動因子就只有預測時程。也就是說,一個專案的報價很大程度是根據這個專案需時多久來決定的。

聰明的你應該立刻可以聯想到, 一個專案越龐大、越複雜,所需的開發時間自然更久,費用也自然更高 。專案的複雜程度主要建基於兩個重點:一、設計概念和功能是否複雜;二、功能的多寡。現在讓我們回到最初的問題,開發一個 WhatsApp / Uber 要多少錢?

做一個像 WhatsApp 的軟體是可以多難?

目前全球已超過 13 億活躍用戶的 WhatsApp 是通訊軟體的始祖,利用網絡連線讓用戶可以簡單可靠地傳送訊息,避免產生短訊費用。有些年輕人可能沒經歷過還沒有通訊軟體的年代 — 在那個年代,大家互傳訊息是需要使用 SMS 的,如果各自使用不同的電訊商,跨台短訊會產生一筆可觀的費用。

WhatsApp 的出現讓全球用戶可以擺脫電訊商的侷限,不受限制地免費發送訊息。WhatsApp 目前主要的功能有:

傳送(和撤回)文字或語音訊息
撥打/ 接聽語音或視訊通話
群組對話
傳送多媒體(照片、影片)或文件(PDF、文檔、試算表等等)
推送通知
自動同步手機通訊錄
備份 / 刪除 / 復原訊息紀錄

功能不算很多,看起來也是一些常用功能對不對?單純以功能面來說,開發「傳送訊息」功能大概需時 7 – 10 天,「群組對話」功能大概需要 10 – 15 天,推送通知大概需要 4 – 5 天。其他功能加一加,好像一兩個月就可以完成,算一算大概港幣 20 – 30 萬、台幣 100 萬以內可以搞定?

事實上,很多開發時間都花在隱藏的項目上:

支援單一裝置到進一步支援跨裝置會讓開發時間倍增

修正 bug(尤其支援跨裝置後,讓更多用戶透過不同裝置使用產品就會發現更多之前難以察覺的 bug))

語音通話 / 視訊通話的性能調整(如何減少斷訊、改善通話品質等等)

打造更細緻的用戶體驗(例如在傳送圖片前可以直接編輯、點名用戶;提供更準確的對話搜尋功能)

建構更穩定的後端(建立一個能穩定服務 1,000 名和 10,000 名同時連接用戶(concurrent user)的後台是完全不同的等級)

此外, WhatsApp 使用無縫端對端的訊息加密來保護個人隱私,讓駭客、政府甚至 WhatsApp 本身都無法監控訊息內容。

大家可能會以為加密訊息不就是一般通訊軟體必備的功能嗎?應該沒有很難吧? 但你知道 Whatsapp 從開始研究到最後完全實現這件事情總共花了多少時間嗎?三年(而且不是獨立完成而是與加密軟體新創 Signal 合作的)。保守估計, 如果開發第一個版本要花上四個月,費用就比一開始預估台幣 100 萬以內要多出一倍了,還沒包含持續更新的費用。(先賣個關子,下面會再為大家分析評估開發時間和費用)

Uber 軟體的製作也沒有想像的簡單

WhatsApp 估計要花上四個月快 200 萬的預算,那麼共享經濟的傳奇 Uber 呢?

Uber 以共享經濟的理念顛覆了交通運輸,風頭一時無兩,很多創業家夢想成為「XX 行業的 Uber」。但首先要提醒大家一點是,Uber 成功的原因並不是因為「它是一個很酷的 app」而是它背後提供給用戶快速、準確的媒合服務。 接下來我們來拆解 Uber app 的主要功能:

乘客面向:

註冊、登入和管理乘客帳號
上車及下車地點定位
聯繫司機
觀看地圖
付款方式

司機面向:

註冊、登入和管理司機帳號
接受預約行程及導航
完成行程後顯示狀態
車資及收款

其中「註冊、登入和管理帳號」大概需要開發 5 天,「付款方式」需要 8 天,「接受或取消預約」大概需要 5 天。但這些只是最基本功能,別忘了 Uber app 的設計屬於高度複雜等級,如何運用大數據計算出對司機及乘客最有利的接送 / 搭乘解決方案才是重點,單是實時動態定價策略就要開發 10 天以上了,還沒包含加入歷史數據、用戶喜好等考量。

初步估計,以開發半年為期,想複製一個 Uber 的雛形就要接近港幣 100 萬(約 400 萬台幣)。

一個功能簡單的 App 至少都要 120 萬台幣起跳,時間至少抓個半年最好

國外 App 開發公司 Goodfirms 曾進行過相關調查。調查結果 顯示,估計開發一個 高度複雜的 app 成本約需 70,000 至 100,000 美金(約台幣 220 – 300 萬),中等複雜的 app 約需 61,000 至 69,000 美金(約台幣 190 – 210 萬),至於功能簡單的 app 約需 40,000 至 60,000 美金(約台幣 120 – 190 萬)。

以 Uber 為例,估計開發需時 5.61 個月,平均成本為 91,218 美元(約台幣 280 萬)。至於開發 Whatsapp 的話,估計需時 4.66 個月,平均成本為 64,333.3 美元(約台幣 200 萬)。

開發一個 iOS / Android app 需要多久?

上面提到主要是開發功能的技術層面,其實 app 的開發週期裡,前期的研究和策劃(例如與使用者進行訪談,根據用戶意見來改善使用者介面和體驗)、後期的品質管理(QA)測試 app 是否能正常操作等等都會需要一定的時間。不過,也不是每一個 app 都會像 Uber 或者 WhatsApp 那麼複雜,那麼開發一般的 app 大概需時多久?

另一家國外公司 Kinvey 曾經訪問了 100 位 app 開發者,綜合調查結果,開發一款具備主要功能、結合前後端的 iOS / Android app 平均需要 18 週(約 4.5 個月)。當然,實際的開發時間還是需要個別 app 的功能需求而定。

不過縱觀兩個調查結果,想要開發一個 iOS / Android app,至少也得花上數月。假設一個 man-day 定價是台幣 20,000 元,要完成四個月的開發週期,開發成本大概台幣兩百多萬。

「我希望能像 WhatsApp 和 Uber 那樣成功,但沒有那麼多預算怎麼辦?」

既然開發成本跟開發時間息息相關,那有沒有方法可以縮短開發週期,降低開發成本?(這也是我們客戶常常查詢的問題)

引用一下股神巴菲特的名言:

無論才華多高、付出的努力多少,

有些事情還是需要時間。

你不可能讓九個女人同時懷孕,

然後寄望一個月後得到一個寶寶。

開發過程中有很多關鍵是無法妥協的。比如說,在架設一個 app 的基礎架構時,就算再熟練的工程師還是需要花費固定的時間。又或者想略過 QA 節省時間,結果弄巧反拙,導致 bug 無法在前期被發現,倉促推出後反而影響用戶體驗。

當然,這也不代表開發 app 是那麼死板的事情。如果想要縮短開發時間、減少創業成本的話,你可以考慮:

圖片來源:rawpixel via Unsplash

思考最小可行性產品 MVP

大部份創業家對最小可行性產品(MVP)的概念應該並不陌生。顧名思義,最小可行性產品是以最低的成本來完成一個產品的雛形,快速投放到市場上來測試它是否可行。MVP 的核心重點並不是以最便宜的價格來打造產品,而是利用相對低的成本和相對少的時間來完成產品,透過市場快速驗證自己的想法是否可行。

很多創業者期望能夠完美複製一個 WhatsApp、Uber 或其他知名品牌。在追求完美的過程中,很容易無止境的懷疑自己的產品還不夠完美,卻忽略了一個重點: 你想要複製到什麼程度?你的 app 是否真的需要包山包海、擁有所有功能才能達成你的目標?

MVP 就是要摒除這種想法。比起耗費大量資金和時間來完成心目中「完美」的產品,MVP 開發模式提倡以最少的成本來製作出一個能夠向市場表達你的核心設計概念的產品,透過市場的反饋來驗證你的點子是否能被市場接受和是否足以獲得利潤。獲得用戶回饋(甚至是獲得投資者的青睞而得到新資金)後,再慢慢修正、優化產品,讓產品變得更成熟。這樣的開發模式大大減低了投資風險,避免花了大把資金、結果產品卻無人問津的窘境。

我們就曾為其中一位客戶使用 MVP 模式在三個月內快速開發出三個版本投放到市場做測試,再透過收集用戶反饋數據來優化產品,最終產品順利通過市場考驗,客戶更成功獲得創投注資。請記得,在你打算長時間開發產品的時候,很有可能別人已經先把類似的概念發佈出來了,創業某程度上就是一場時間的競賽。

做好事前準備、想好需求,以節省雙方時間、財務成本

出色的 UI / UX(使用者介面 / 使用者體驗)跟無瑕的程式碼一樣重要,兩者結合決定了 app 的成敗。在正式開發之前,開發商一般會先進行產業調查、深入了解客戶的想法、設計介面流程等等前期準備工作。創業家與開發商合作的時候,事先應該做好充份的準備,明確訂立自己的期望和需要的功能。如果希望額外進行使用者訪談,建議先構想好自己想從訪談裡了解的重點,比如說你想了解用戶的喜好需求?使用習慣?還是用戶對競爭對手產品的感想?

事前準備越充足,就能 有效避免因為反覆修改而拉長了開發時間或浪費額外的費用。

開發 App 不一定要白手起家,使用 Baas 工具讓你省下 50% 的開發費用

一般小型新創團隊可能人力資源有限(或缺少同時擅長前後端的工程師), 但其實不一定所有部分都要自行從零開始打造 !像 BaaS 就是常見被利用來加快 app 開發速度的工具。

BaaS(後端即服務)可以稱得上是開發 app 的捷徑,它把後端服務轉移至第三方服務商運行,讓工程師節省開發後端環境和搭建伺服器的時間之餘,也降低了初期投入的成本,還確保了數據安全和未來的可擴充性。

譬如我們的 BaaS 工具 Skygear.io(又或是 Google 的 Firebase)可以在沒有後端工程師的協助下,讓前端工程師快速架設後台並選擇套用常見的後端功能(例如 聊天功能CMS、社交媒體帳號登入、雲端資料庫等等),得以專注在設計前端的用戶體驗上。以一個 50/50 比例的前後端設計為例,免除後端開發就已經減少了一半的開發時間,等於省下了 50% 的開發費用。

厲害的發明之所以成功,都是因為他們打到生活「痛點」

WhatsApp / Uber 的成功例子讓很多有興趣以 app 創業的人躍躍欲試,但畢竟不是每個人都有那麼充裕的時間和資金去開發產品,大家可以考慮使用 MVP 模式、做好前期準備和善用 工具 縮短開發週期、減省成本。

另一方面,其實 WhatsApp / Uber 之所以得到史無前例的成功,並不是因為他們比其他創業家有更多的錢和開發時間,而是它們的設計概念確實有效解決了很多人生活中的痛點(painpoint),可見創業最重要的成功因素,還是在於透過產品想要表達的核心創意呢。

(本文經投稿作者 Queenie 授權刊登,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈寫一個類似 WhatsApp / Uber 的 app 要多少錢?〉。意投稿者可寄至:[email protected],經編輯檯審核並評估合宜性後再行刊登,首圖來源:Pxhere, CC Licensed。)

延伸閱讀

防止 Apple ID 被駭自救法則:打開手機內建的兩步驟認證,保你一生平安
19 歲科技義俠,研發一款「按一鍵,法院見」app 助貧扶弱
人工智慧工程師福音:DeepMind 開源模組化資料庫「松露」


量子運算大革命

世界量子電腦龍頭 IBM 日本副總裁森本典繁
首次來台談量子運算最前沿商機!

未來科技展量子電腦論壇
時間:12/15(六)10:30~12:30
>> 立即報名<<

點關鍵字看更多相關文章: