產(chǎn)品開發(fā)技術(shù)流程:開發(fā)一款 App 需要多久?
很多人常常來問我,我有一個idea,要做出一個APP到底要多久時間?到底要經(jīng)歷哪些步驟?我現(xiàn)在已經(jīng)做了什么什么,我到底要怎么繼續(xù)進行下去呢?其實這些問題沒有標(biāo)準(zhǔn)答案,根據(jù)不同型態(tài)的產(chǎn)品也可能會做不同的預(yù)算分配跟調(diào)整,不過當(dāng)朋友來問這問題的時候,根據(jù)我們程序員客棧500+產(chǎn)品開發(fā)經(jīng)驗,歸納出以下的數(shù)據(jù),希望對于想做產(chǎn)品的你,有參考的價值。
做產(chǎn)品開發(fā)技術(shù)的循環(huán)到底是什么?
其實大家可以稍微了解一下技術(shù)開發(fā)的步驟;特別提醒,產(chǎn)品開發(fā)最好三個月內(nèi)就上線,避免軍心渙散。深究其開發(fā)循環(huán)如下:

1.建立開發(fā)目標(biāo)
所需時間:最短一周、最長兩周
一個循環(huán)的開始,通過產(chǎn)品原型去描述產(chǎn)品流程,不管是App還是網(wǎng)頁,一定要有,然后通過使用情境去描述使用者行為,有人會說可不可以只有其中一個,我的強烈建議是兩個最好都要有,而且定義的規(guī)模建議不要太大,做出最重要的功能就好,根據(jù)我過往數(shù)個產(chǎn)品的開發(fā)經(jīng)驗,做完這個階段,包含項目經(jīng)理跟產(chǎn)品團隊討論的過程,大約會花一周的時間,有的比較謹慎的產(chǎn)品團隊會花上兩周,定義得更仔細,不過如果超出兩周,通常好的想法會又開始發(fā)散,造成很多不必要的疑惑。
根據(jù)過去的經(jīng)驗,第一個產(chǎn)品建議把行為簡化到30~40個功能點以內(nèi),這樣開發(fā)才不會因為過于發(fā)散,而在第一次產(chǎn)品上線受到很大的阻礙,30~40個功能點大約可以拆成80~100張表再交由程序員進行開發(fā),一張表盡量不要超過8小時的實作時間,這些初期工作都是很容易讓人忽略的準(zhǔn)備。
2.設(shè)計圖的提案流程
所需時間:160個小時工期預(yù)算
設(shè)計的流程主要分成兩個,主視覺提案與所有頁面的按鈕提案,基本上主視覺如果可以快速定下來,后面的流程跟按鈕的設(shè)計,就會快上不少,設(shè)計在這個階段通常出一個提案需要16~24小時,也就是兩到三天的時間,有的專業(yè)設(shè)計師會花更久的時間,提出兩到三個方向,根據(jù)產(chǎn)品團隊標(biāo)明的方向去進行后續(xù)頁面的設(shè)計,如果你的預(yù)算與時間充足,可以在這個階段多看幾遍,因為好的設(shè)計絕對會節(jié)省很多程序員的時間,你甚至可以請程序員花個2小時先看一下設(shè)計的狀況,看看有沒有什么特效會造成工程時間拉長,如果沒有,才將設(shè)計定稿。
設(shè)計的時間通常會花到2~4周,后面還會有切圖的工作,現(xiàn)在有好用的Sketch可以幫忙處理切圖的事情,不過如果沒有用Sketch,切圖也會花上大約1周的時間。這邊會有設(shè)計師的成本,建議至少抓160小時作為你的預(yù)算。
3.打地基非常重要
所需時間:40~80 個小時的工期預(yù)算
做軟件產(chǎn)品,不管你是要做App、還是Web Service,請一定要設(shè)計好你的數(shù)據(jù)庫結(jié)構(gòu)跟API,因為這是影響開發(fā)循環(huán)最重要的事,我看過不少的開發(fā)團隊在還沒訂定schema的狀況下,就開始做產(chǎn)品,開發(fā)期間不斷的調(diào)整結(jié)構(gòu),其實這并不是不可行的方式,但是只限定于人少的團隊,通常是一人團隊比較有可能,一開始制定數(shù)據(jù)庫的結(jié)構(gòu)跟API的傳輸方式,并且建立文件,是為了讓前后端的工程師都能有一個初階的規(guī)則去遵循,開發(fā)循環(huán)中當(dāng)然API跟Data Schema一定會持續(xù)改變,不過維持一份良好的API文件,絕對會是重要的關(guān)鍵,所以這個階段,請務(wù)必找尋有產(chǎn)品建構(gòu)經(jīng)驗的架構(gòu)師來做或是用顧問的方式來合作,根據(jù)過去的執(zhí)行案例,這個階段通?;ㄒ坏絻芍芫湍芙⒌谝话鏄?gòu)架,但是構(gòu)架好與不好會讓后面的工程時數(shù)有極大的差異。
4.API 運行–技術(shù)開發(fā)中很容易讓人遺忘的一段路
所需時間:20 API開發(fā)需要 80 ~ 120個小時的工期預(yù)算
通常進行一個技術(shù)開發(fā),后端的準(zhǔn)備應(yīng)該要在前端執(zhí)行之前,也就是說假設(shè)三個sprint要做出一個產(chǎn)品,第一個sprint后端工程師可能有大量的工作,但是到第三個sprint,后端工程師可能會比較悠哉一些。很多人可能不太能了解什么是API,簡單來說,API就是網(wǎng)頁前端或是Native App要索取資料時,跟后端拿數(shù)據(jù)的界面格式,比如說如果你要登入,你需要有一個API讓前端可以將帳號密碼的數(shù)據(jù)送入API,API根據(jù)送入的數(shù)據(jù)查詢數(shù)據(jù)庫,最后吐出這個登入的人的使用數(shù)據(jù),API的角色其實有點像是RPG里面的NPC,跟他講不同的話,會有制式的答復(fù)。有人可能疑惑為什么不用前端程序直接去索取數(shù)據(jù)庫的數(shù)據(jù),在這邊強烈建議不要這么做,雖然就系統(tǒng)層面來說,這是沒有問題的執(zhí)行方式,但如果這么做,在平臺變多的狀況下,數(shù)據(jù)庫端不但難以管理,更有可能因為某一個前端串錯程序,就造成整個數(shù)據(jù)庫毀于一旦。
根據(jù)我過去的經(jīng)驗,剛開始寫API的時候,因為必須顧及很多基礎(chǔ)的構(gòu)架,所以寫前20個API接口可能會花上較多的時間,一旦API構(gòu)架固定,后面的開發(fā)則會更快速一些,通常API的開發(fā)在一個產(chǎn)品開發(fā)循環(huán)內(nèi),會至少持續(xù)3~4周,不過通常1周開發(fā)過后,下一階段便可開始執(zhí)行。
5.Front-end Coding(Web,iOS,Android included)& Backend and Frontend merge–如果說做產(chǎn)品是蓋房子,那么這個階段就是鋼骨結(jié)構(gòu)做好后到完工前的所有工作
所需時間:160 ~240 個小時工期預(yù)算
這個階段的工作,完全是程序員發(fā)揮的階段,以硅谷目前盛行的狀況,是以敏捷開發(fā)的方式來進行管理,也就是說,在每一個迭代任務(wù)訂下目標(biāo),然后快速執(zhí)行,并且在任務(wù)結(jié)束后快速驗證,通常這個階段會跟上一個以及下一個一起用敏捷開發(fā)的方式進行,基本大約花上4 ~ 6周就必須完成。
6.Testing and debug–這是個重要的步驟,建議不要小看調(diào)整跟修Bug的時間
所需時間:80 ~ 120個小時的工期預(yù)算
修Bug有四種狀況,系統(tǒng)設(shè)計錯誤造成的致命錯誤、系統(tǒng)設(shè)計造成的使用經(jīng)驗錯誤、程序設(shè)計造成的致命錯誤、程序設(shè)計造成的使用經(jīng)驗錯誤,重要的程度分別是1>3>2>4,但是修理的狀況建議只做1,3,4,讓2送上架后再修,原因是像iOS App審核時間很久,有一些調(diào)整,只要不是造成系統(tǒng)問題的狀況,部分使用經(jīng)驗的謬誤,可以隨著技術(shù)開發(fā)的循環(huán),逐漸調(diào)整,之所以建議4可以做,是因為4的狀況,通常是寫程序的人出錯,修正這樣的錯誤通常不會花上太多的時間,因此可以快速修正。
根據(jù)經(jīng)驗,這個階段加上前兩個步驟,會額外加上1 ~ 2周進行修正。
產(chǎn)品上架后的更新,才是關(guān)鍵
產(chǎn)品上架后,如果您的服務(wù)是要長期營運的,建議再接下來每兩周都能進行產(chǎn)品的更新,不管是剛剛debug階段的第二種情形的修正,還是產(chǎn)品使用經(jīng)驗的增強,甚至是新功能的開發(fā),建議根據(jù)以上的循環(huán),每兩個禮拜進行一次(10個工作天),也就是說下一階段的產(chǎn)品在送產(chǎn)品上架的時候就要決定,約略5個工作天修正后端,5個工作天修正前端并且進行debug,有時后端其實不用開發(fā),前端就能進行修正,那前端就有10個工作日來進行,這個速度其實對開發(fā)團隊會是個挑戰(zhàn),但是如果產(chǎn)品可以以這樣的開發(fā)循環(huán)時間進展,使用體驗通常可以在一個月內(nèi)就趨向穩(wěn)定,這樣會不斷迭代出新的功能點。
綜合上述數(shù)據(jù),最短可以在10周,最長則是在14周開發(fā)完成,一個平臺時數(shù)的花費則在500 ~ 760小時之間,也就是約略3到5個工作月,如下圖所示:

雖然根據(jù)產(chǎn)品的規(guī)格,時間有可能有不同的反應(yīng),也是有過在一個月就讓產(chǎn)品上線、五天做出原型等的經(jīng)驗。一般來說,通常行為創(chuàng)新的產(chǎn)品技術(shù)沒有那么艱深,耗時較短,而技術(shù)類創(chuàng)新則剛好相反。不過這樣時數(shù)的花費,對一般人來說,其實不管是請人也好,還是自己花上時間實作也好,真的是個不低的成本,更別說后面的更新并且讓產(chǎn)品長大,才是真正的挑戰(zhàn)。
如果你也有一個好的想法,歡迎發(fā)布需求。
