怎樣開(kāi)發(fā)一款軟件?
喜望軟件基于十年的軟件應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)給大家詳細(xì)講一下我們的App標(biāo)準(zhǔn)化開(kāi)發(fā)流程。
我們按工作的性質(zhì)不同先把App開(kāi)發(fā)分成三個(gè)階段:售前、售中、售后,每個(gè)階段包括了多個(gè)步驟,循序漸進(jìn),最終完成項(xiàng)目的開(kāi)發(fā)。
一、售前
1.需求溝通
在意向客戶(hù)提出有項(xiàng)目需求時(shí),我們的產(chǎn)品經(jīng)理會(huì)跟售前顧問(wèn)一起跟客戶(hù)進(jìn)行溝通。有些客戶(hù)對(duì)于自己的需求通常只是一個(gè)大方面的想法,這個(gè)時(shí)候就需要我們專(zhuān)業(yè)的產(chǎn)品經(jīng)理幫他整理出項(xiàng)目的具體需求和功能列表清單,并幫客戶(hù)分析出沒(méi)有考慮到的或能否實(shí)現(xiàn)的需求。
2.項(xiàng)目可行性分析
客戶(hù)自身和產(chǎn)品經(jīng)理都需要清晰了解該項(xiàng)目的功能特點(diǎn)、用戶(hù)痛點(diǎn)、行業(yè)需求和為用戶(hù)提供的服務(wù)內(nèi)容等,每一點(diǎn)都要做出詳細(xì)的調(diào)查分析,尤其是客戶(hù)痛點(diǎn)這塊。如果開(kāi)發(fā)出來(lái)的App存留很多痛點(diǎn),那么就算開(kāi)發(fā)成功,也沒(méi)多長(zhǎng)時(shí)間的存活時(shí)間。因?yàn)槿魏我粋€(gè)App最終的成功都是建立在用戶(hù)基礎(chǔ)之上的。
(喜望某項(xiàng)目的解決方案)3.功能流程梳理
(1)整理架構(gòu)
整理架構(gòu)的過(guò)程就像是修房子打地基,產(chǎn)品經(jīng)理會(huì)梳理產(chǎn)品整體功能架構(gòu),整理出核心內(nèi)容,打造產(chǎn)品的地基,以確??蛻?hù)以后可以在這個(gè)原有的基礎(chǔ)上進(jìn)行調(diào)整,更為方便、更具有擴(kuò)展性。
(2)功能列表
接下來(lái),產(chǎn)品經(jīng)理會(huì)做出更詳細(xì)的功能列表,添加每個(gè)模塊的細(xì)節(jié)內(nèi)容及具體功能,比如“注冊(cè)”用哪種注冊(cè)方式,短信驗(yàn)證碼還是第三方注冊(cè)等。這部分就像你在裝修毛坯房時(shí),首先要考慮加上門(mén)窗、水電改造等。
(3)梳理流程
產(chǎn)品經(jīng)理會(huì)根據(jù)客戶(hù)的需求梳理出產(chǎn)品的核心業(yè)務(wù),會(huì)幫客戶(hù)提前考慮到他們現(xiàn)有的流程是否可以在互聯(lián)網(wǎng)上進(jìn)行操作,例如一些傳統(tǒng)行業(yè)轉(zhuǎn)互聯(lián)網(wǎng)的企業(yè)客戶(hù),產(chǎn)品經(jīng)理會(huì)站在移動(dòng)互聯(lián)網(wǎng)的專(zhuān)業(yè)角度幫客戶(hù)梳理并優(yōu)化流程。
4.量身定制實(shí)施方案
當(dāng)需求文檔確認(rèn)完畢之后,售前顧問(wèn)會(huì)根據(jù)客戶(hù)需求量身定制一套App開(kāi)發(fā)方案和報(bào)價(jià)清單,包括項(xiàng)目組人員安排、時(shí)間節(jié)點(diǎn)安排和技術(shù)方案等,待客戶(hù)確認(rèn)完之后就可以開(kāi)始正式簽約合作了。
二、售中1.產(chǎn)品設(shè)計(jì)
(1)原型設(shè)計(jì)與評(píng)審
喜望產(chǎn)品經(jīng)理根據(jù)需求文檔設(shè)計(jì)出高保真原型圖,包括功能的結(jié)構(gòu)性布局、各分頁(yè)面的設(shè)計(jì)、界面交互邏輯的設(shè)計(jì)等。高保真原型圖將需求文檔轉(zhuǎn)換為更直觀的軟件demo版本,這樣即可以確認(rèn)更多的細(xì)節(jié),保證項(xiàng)目研發(fā)的效果,也能避免溝通不暢或溝通不到位而引發(fā)的糾紛問(wèn)題。
(喜望某項(xiàng)目的高保真原型圖)(2)UI設(shè)計(jì)與評(píng)審
原型圖設(shè)計(jì)確認(rèn)好之后,UI設(shè)計(jì)師會(huì)根據(jù)產(chǎn)品的定位和原型圖設(shè)計(jì)UI界面效果圖了,相當(dāng)于是在原型圖的基礎(chǔ)上加上顏色、確定產(chǎn)品整體風(fēng)格、功能具象化處理、交互設(shè)計(jì)和排版布局等,使客戶(hù)更直觀的可以看到App的雛形,具有極高的還原度,能夠?yàn)橛脩?hù)帶來(lái)更高的體驗(yàn)度。一個(gè)完整的App需要一個(gè)吸引用戶(hù)眼球的創(chuàng)意,這就需要產(chǎn)品經(jīng)理和UI設(shè)計(jì)師在創(chuàng)意策劃上有著獨(dú)到的見(jiàn)解。
(3)需求詳細(xì)講解
產(chǎn)品經(jīng)理會(huì)跟項(xiàng)目經(jīng)理對(duì)接需求和原型圖UI圖,講解客戶(hù)的詳細(xì)需求、功能板塊、跳轉(zhuǎn)頁(yè)面等,項(xiàng)目經(jīng)理需要細(xì)化需求,將這些需求和圖片翻譯成工程師們能更好理解的語(yǔ)言。接著,項(xiàng)目組會(huì)搭配著原型圖UI圖來(lái)召開(kāi)技術(shù)會(huì)議,統(tǒng)一進(jìn)行項(xiàng)目需求講解。
(4)技術(shù)標(biāo)準(zhǔn)制定
項(xiàng)目經(jīng)理在了解清楚整個(gè)項(xiàng)目的需求后提供易擴(kuò)展、可持續(xù)迭代的技術(shù)框架方案,比如是原生開(kāi)發(fā)還是混合開(kāi)發(fā)、用Java還是PHP、還有第三方選型等。
2.敏捷開(kāi)發(fā)
(1)迭代開(kāi)發(fā)計(jì)劃
在正式進(jìn)入項(xiàng)目開(kāi)發(fā)之前,項(xiàng)目組會(huì)對(duì)項(xiàng)目本身進(jìn)行評(píng)估,對(duì)研發(fā)周期、提測(cè)時(shí)間、預(yù)發(fā)布時(shí)間點(diǎn)進(jìn)行初步的判斷。接著對(duì)項(xiàng)目功能進(jìn)行分解,把項(xiàng)目需求劃分成4-5個(gè)節(jié)點(diǎn),比如1號(hào)-9號(hào)做第一個(gè)功能模塊,10號(hào)-15號(hào)做第二個(gè)功能模塊……項(xiàng)目組把迭代開(kāi)發(fā)計(jì)劃發(fā)給客戶(hù)確認(rèn)后,就開(kāi)始按著這個(gè)計(jì)劃做節(jié)點(diǎn)研發(fā)了。
(喜望某項(xiàng)目的開(kāi)發(fā)節(jié)點(diǎn)計(jì)劃表)(2)節(jié)點(diǎn)研發(fā)
按照需求分析整理出來(lái)的功能數(shù)據(jù)處理情況,項(xiàng)目組會(huì)建立合理的數(shù)據(jù)庫(kù)表結(jié)構(gòu),優(yōu)化數(shù)據(jù)算法,提升數(shù)據(jù)的處理效率,保證后期App使用過(guò)程中數(shù)據(jù)的安全性、準(zhǔn)確性、穩(wěn)定性和及時(shí)性。
一個(gè)完整的App項(xiàng)目一般包含以下幾個(gè)模塊:
①服務(wù)器端:編寫(xiě)接口協(xié)議文檔,服務(wù)器環(huán)境架設(shè)(國(guó)內(nèi)一般都是用阿里云服務(wù)器,國(guó)外一般用亞馬遜),設(shè)計(jì)數(shù)據(jù)庫(kù)和編寫(xiě)API接口,業(yè)務(wù)功能實(shí)現(xiàn)及接口封裝、管理后臺(tái)的開(kāi)發(fā)。
②App端:根據(jù)UI設(shè)計(jì)圖進(jìn)行界面開(kāi)發(fā),UI開(kāi)發(fā)完成后對(duì)接服務(wù)器接口,通過(guò)服務(wù)端接口獲取數(shù)據(jù),編寫(xiě)功能上的邏輯代碼。
③Web管理端:根據(jù)前端的業(yè)務(wù)邏輯,后臺(tái)會(huì)有相應(yīng)的功能與之匹配,同樣需要編寫(xiě)功能上的邏輯代碼。
在項(xiàng)目研發(fā)階段,項(xiàng)目經(jīng)理進(jìn)行技術(shù)攻關(guān),流程助理同時(shí)跟蹤進(jìn)度,項(xiàng)目組也會(huì)每周向客戶(hù)進(jìn)行開(kāi)發(fā)進(jìn)度匯報(bào),并協(xié)助客戶(hù)申請(qǐng)軟著。
(喜望某項(xiàng)目的總進(jìn)度甘特圖)(3)單元測(cè)試
以前的開(kāi)發(fā)流程就是工程師從頭寫(xiě)到尾,把App功能全部開(kāi)發(fā)完成后再進(jìn)行系統(tǒng)測(cè)試,這樣就很容易出現(xiàn)以下幾個(gè)問(wèn)題:修改了一處bug卻在另一處地方引發(fā)了新的bug、擴(kuò)展新功能的同時(shí)導(dǎo)致舊代碼出現(xiàn)bug等等,這個(gè)時(shí)候就需要引入單元測(cè)試。
單元測(cè)試簡(jiǎn)單來(lái)說(shuō)就是工程師做一個(gè)節(jié)點(diǎn)研發(fā),測(cè)試工程師就測(cè)試一個(gè)節(jié)點(diǎn),這樣就能夠清晰的知道是否破壞了老的業(yè)務(wù)邏輯,容易排除掉一些非常低級(jí)的錯(cuò)誤,大大減少回歸出錯(cuò)的可能性和調(diào)試的時(shí)間,提高代碼質(zhì)量。
(喜望正在測(cè)試某項(xiàng)目)(4)系統(tǒng)測(cè)試
App功能開(kāi)發(fā)完成之后,測(cè)試人員會(huì)對(duì)整個(gè)項(xiàng)目進(jìn)行系統(tǒng)性測(cè)試。而完成項(xiàng)目測(cè)試調(diào)試最重要的環(huán)節(jié)是問(wèn)題的管理,追蹤各個(gè)bug的進(jìn)度以及狀態(tài),包括指派給誰(shuí)、優(yōu)先級(jí)、修復(fù)狀態(tài)等,以便有質(zhì)量地完成問(wèn)題的處理。
產(chǎn)品面向的平臺(tái)多機(jī)型同步測(cè)試,包括:App內(nèi)容測(cè)試、App性能測(cè)試、App功能測(cè)試、App視覺(jué)測(cè)試,對(duì)BUG調(diào)試修復(fù)。測(cè)試合格,確認(rèn)沒(méi)有bug后與客戶(hù)進(jìn)行溝通,開(kāi)始驗(yàn)收,再由客戶(hù)進(jìn)行測(cè)試,提出修改意見(jiàn)。
3.上線交付
01.用戶(hù)體驗(yàn)測(cè)試
喜望在2018年新設(shè)了一個(gè)“創(chuàng)新性人才崗位”——用戶(hù)體驗(yàn)官,這是移動(dòng)互聯(lián)網(wǎng)行業(yè)首創(chuàng)的“從功能試錯(cuò)服務(wù)到運(yùn)營(yíng)實(shí)踐服務(wù)”。
用戶(hù)體驗(yàn)官的工作就是用戶(hù)體驗(yàn)測(cè)試,從用戶(hù)體驗(yàn)、產(chǎn)品、易用性、顏值、App設(shè)計(jì)還原度等多個(gè)維度進(jìn)行體驗(yàn)性測(cè)試,并通過(guò)后臺(tái)上傳真實(shí)的前期種子數(shù)據(jù),讓整個(gè)App的內(nèi)容很豐滿,互動(dòng)性強(qiáng)。用戶(hù)體驗(yàn)測(cè)試是從項(xiàng)目本身的用戶(hù)群體和運(yùn)營(yíng)邏輯來(lái)幫助客戶(hù)打造好整個(gè)App的調(diào)性。
02.部署上線
在代碼開(kāi)發(fā)和測(cè)試完成后,就進(jìn)入了后期上線的階段。
(1)部署正式服務(wù)器:將數(shù)據(jù)庫(kù)、后臺(tái)系統(tǒng)部署到正式的服務(wù)器上面,并錄入正式的上線數(shù)據(jù)到app系統(tǒng)后臺(tái)。
(2)準(zhǔn)備上架相關(guān)的資料:如軟件著作權(quán)、應(yīng)用說(shuō)明、App界面截圖和打包版等。
(3)發(fā)布App應(yīng)用到市場(chǎng):根據(jù)App端口選擇發(fā)布iOS或Android應(yīng)用市場(chǎng)。
①Android:涉及的應(yīng)用市場(chǎng)很多,主流市場(chǎng)是騰訊應(yīng)用寶、手機(jī)百度助手、360手機(jī)助手、91手機(jī)助手,不同的應(yīng)用市場(chǎng)的受眾屬性和流量會(huì)有所不同,需要根據(jù)客戶(hù)需求和項(xiàng)目實(shí)際情況來(lái)選擇。一般來(lái)說(shuō),1-2個(gè)工作日就可以通過(guò)審核上線。
②iOS:發(fā)布到App Store,提交后一般最快都需要5個(gè)工作日左右才可以通過(guò)審核上架。因?yàn)锳pp Store審核比較嚴(yán)格,比如是否符合最新的上架要求、是否涉及到虛擬貨幣、是否支持最新環(huán)境等很多問(wèn)題都會(huì)決定審核能否通過(guò)。
但有可能會(huì)遇到這種情況:比如某App存在3個(gè)導(dǎo)致不通過(guò)的問(wèn)題,App Store只要找到其中一個(gè)問(wèn)題就不會(huì)通過(guò),不會(huì)把3個(gè)問(wèn)題都找出來(lái)告訴你為什么拒絕,所以如果經(jīng)驗(yàn)不足,上架N次花費(fèi)幾個(gè)月都是很有可能的。
③發(fā)布小程序到微信公眾號(hào):需要把小程序發(fā)布提交給微信團(tuán)隊(duì)審核并上架,一般1-2個(gè)工作日就可以通過(guò)審核上線。
03.源碼交付
APP開(kāi)發(fā)測(cè)試上線后,要進(jìn)行終驗(yàn)交付,即按照合同規(guī)定,將源碼、說(shuō)明文檔、操作文檔等所有項(xiàng)目的相關(guān)資料交付給客戶(hù)。
包括但不限于:
1前后端項(xiàng)目的所有最新源代碼(含注釋?zhuān)?/p>
2數(shù)據(jù)庫(kù)設(shè)計(jì)文檔
3API設(shè)計(jì)文檔
4所有的開(kāi)發(fā)者賬號(hào)資料
5測(cè)試文檔
6原型設(shè)計(jì)稿
7UI設(shè)計(jì)稿
8項(xiàng)目相關(guān)文檔等資料
04.項(xiàng)目運(yùn)營(yíng)培訓(xùn)
在交付源碼時(shí),喜望的項(xiàng)目經(jīng)理會(huì)給客戶(hù)針對(duì)項(xiàng)目的所有功能操作進(jìn)行培訓(xùn),比如優(yōu)惠券怎么發(fā)、司機(jī)怎么核審、怎么查看用戶(hù)注冊(cè)等。我們也會(huì)根據(jù)客戶(hù)需求,讓品牌設(shè)計(jì)師和新媒體運(yùn)營(yíng)官為客戶(hù)設(shè)計(jì)上線海報(bào)和新媒體運(yùn)營(yíng)方案。
三、售后1.前期維護(hù)
一般的App開(kāi)發(fā)完后都需要進(jìn)行維護(hù),即便是已經(jīng)達(dá)到相對(duì)穩(wěn)定的階段,也可能隨著手機(jī)系統(tǒng)的升級(jí)或長(zhǎng)時(shí)間的使用等,出現(xiàn)一些小問(wèn)題或隱藏得比較深的bug。
喜望會(huì)免費(fèi)贈(zèng)送客戶(hù)三個(gè)月的維護(hù)期,一個(gè)項(xiàng)目正式上線運(yùn)營(yíng)了3個(gè)月左右的時(shí)候就已經(jīng)清楚了整體的運(yùn)營(yíng)模式和部分功能欠缺,接下來(lái)想要繼續(xù)運(yùn)營(yíng)app就需要迭代開(kāi)發(fā)、優(yōu)化功能模塊。
在此期間,我們會(huì)解答客戶(hù)的疑問(wèn)、指導(dǎo)軟件的使用和內(nèi)容的上傳等事項(xiàng),以及修復(fù)程序Bug、突發(fā)情況發(fā)生后緊急維修等。
2.定制更新
在App投放到市場(chǎng)后,會(huì)得到用戶(hù)以及市場(chǎng)本身的一些反饋,從而知道該如何修正或者調(diào)整運(yùn)營(yíng)策略,當(dāng)目前系統(tǒng)的功能無(wú)法滿足項(xiàng)目需求時(shí),就需要規(guī)劃新一版本功能的迭代問(wèn)題了,也就是開(kāi)發(fā)項(xiàng)目2.0。
喜望會(huì)幫助客戶(hù)進(jìn)行定制更新,也就是繼續(xù)App開(kāi)發(fā)前期“售前”所做的工作:需求溝通、可行性分析、功能流程梳理以及量身定制實(shí)施方案。
這個(gè)迭代方案一般根據(jù)以下2點(diǎn)進(jìn)行制定:
①未完善的BUG
比如上線后的App在運(yùn)營(yíng)過(guò)程發(fā)現(xiàn)的一些BUG,或者邏輯錯(cuò)誤的一些地方,如果我們想要修復(fù)這些邏輯錯(cuò)誤問(wèn)題和功能BUG,就必須進(jìn)行App的迭代。
②App數(shù)據(jù)分析
數(shù)據(jù)是極其重要的衡量標(biāo)準(zhǔn),通過(guò)分析App的投放資源、用戶(hù)激活率、轉(zhuǎn)化率、留存率和用戶(hù)進(jìn)入使用不同功能的占比、各個(gè)環(huán)節(jié)的流失,尋找對(duì)App體驗(yàn)影響較大的指標(biāo),分析自查功能設(shè)計(jì)上的優(yōu)劣,以便進(jìn)行功能上的版本迭代。
3.迭代開(kāi)發(fā)
同樣的,當(dāng)項(xiàng)目進(jìn)行迭代開(kāi)發(fā)時(shí),也會(huì)重新經(jīng)歷“售中”的全部過(guò)程,包含產(chǎn)品設(shè)計(jì)、敏捷開(kāi)發(fā)和上線交付等所有的產(chǎn)品生命周期。
4.項(xiàng)目維護(hù)回訪
當(dāng)項(xiàng)目運(yùn)營(yíng)過(guò)一段時(shí)間(免費(fèi)維護(hù)期結(jié)束)后,喜望會(huì)對(duì)客戶(hù)進(jìn)行回訪,詢(xún)問(wèn)運(yùn)營(yíng)情況等。當(dāng)然了,如果后續(xù)客戶(hù)需要我們繼續(xù)提供運(yùn)維支持,我們也是很樂(lè)意的,因?yàn)樵贏pp運(yùn)營(yíng)的過(guò)程中需要與時(shí)俱進(jìn)、維護(hù)更新,App才能長(zhǎng)存。
5.新媒體運(yùn)營(yíng)
成功上線后的App可以通過(guò)企業(yè)的運(yùn)營(yíng)推廣,發(fā)展用戶(hù)數(shù)量,得以長(zhǎng)久的運(yùn)營(yíng)。推廣運(yùn)營(yíng)的方式有很多種,比如進(jìn)行線下推廣、投入廣告、新媒體運(yùn)營(yíng)推廣等。
貼心的喜望根據(jù)九年的從業(yè)經(jīng)驗(yàn)以及目前市場(chǎng)情況,會(huì)推薦客戶(hù)做成本相對(duì)較低的新媒體運(yùn)營(yíng)推廣。
從上面的App開(kāi)發(fā)流程來(lái)看,每一個(gè)項(xiàng)目研發(fā)都要經(jīng)歷以上3個(gè)階段22環(huán)節(jié),這其實(shí)是一條完整的流水線,做到這樣往往能達(dá)到較高水準(zhǔn)的項(xiàng)目質(zhì)量。但是如何保證流程順暢進(jìn)行?如何使項(xiàng)目成員的工作效率最大化?這就十分考驗(yàn)開(kāi)發(fā)公司的專(zhuān)業(yè)度和項(xiàng)目成員的規(guī)劃能力了。
之前有講到過(guò),一款A(yù)pp開(kāi)發(fā)的時(shí)間也會(huì)影響到App開(kāi)發(fā)的價(jià)格,所以,了解一下App的標(biāo)準(zhǔn)開(kāi)發(fā)流程還是很有必要的喲。
如果您想開(kāi)發(fā)App軟件,或者想了解更詳細(xì)的開(kāi)發(fā)流程、開(kāi)發(fā)方案、報(bào)價(jià)等等相關(guān)內(nèi)容,歡迎咨詢(xún)成都喜望軟件,有專(zhuān)業(yè)的售前顧問(wèn)、產(chǎn)品經(jīng)理為您詳細(xì)解答App相關(guān)疑問(wèn)。