一個軟件從無到有到底是怎么開發(fā)的?一個軟件產(chǎn)品的結(jié)果為什么是這樣?為什么開發(fā)的速度不能再快一點。為什么程序員大多禿頂?他們有那么忙嗎?完整的軟件開發(fā)流程是怎樣的?
一、項目啟動
1、產(chǎn)品經(jīng)理和項目干系人確定項目方向,產(chǎn)品型項目的干系人包括公司領(lǐng)導(dǎo)、產(chǎn)品總監(jiān)、技術(shù)總監(jiān)等,項目的話則包括客戶方領(lǐng)導(dǎo)、主要執(zhí)行人等。
2、公司領(lǐng)導(dǎo)確認項目組團隊組成,包括產(chǎn)品經(jīng)理、研發(fā)項目經(jīng)理、研發(fā)工程師、測試團隊等。
3、產(chǎn)品經(jīng)理進行需求調(diào)研,輸出《需求調(diào)研》文檔。需求調(diào)研的方式主要有背景資料調(diào)查和訪談。
二、需求階段
1、清晰認識項目是為了解決什么用戶痛點,行業(yè)需求?
2、產(chǎn)品經(jīng)理面向整個團隊,進行需求的講解。
3、分析要解決這些痛點或者需求的過程中需要通過哪些有效的功能布局去實施,逐一將核心功能列舉并適當完善一下,通過文字或圖文的方式描述清楚。
4、研發(fā)工程師按照各自的分工,進入概要需求階段?!陡乓枨蟆分荚谧屟邪l(fā)工程師初步理解業(yè)務(wù),評估技術(shù)可行性。
三、設(shè)計階段
1、原型圖經(jīng)過反復(fù)推敲修正后,UI 設(shè)計師會進行UI界面相關(guān)的配色設(shè)計、功能具象化處理、交互設(shè)計、以及各種機型、系統(tǒng)的適配。UI設(shè)計師經(jīng)過多次與項目經(jīng)理溝通修改后,最終到定稿的設(shè)計圖。
2、絕大部分APP項目都會有相應(yīng)的管理后臺,雖然后臺是用戶無法接觸到的,但是與APP的功能是對照的,合理的設(shè)計能讓后臺管理人員快速上手。
3、研發(fā)工程師完成《概要設(shè)計》、《通訊協(xié)議》及《表結(jié)構(gòu)設(shè)計》,及完成正式編碼前的一系列研發(fā)設(shè)計工作。
四、開發(fā)階段
經(jīng)過以上幾個過程之后,會正式進入到開發(fā)階段,一個完整的 APP 項目一般包含以下幾個板塊:
1、服務(wù)器端:編寫接口協(xié)議文檔,服務(wù)器環(huán)境架設(shè),設(shè)計數(shù)據(jù)庫和編寫API接口。
2、APP端:根據(jù)UI設(shè)計圖進行界面開發(fā),UI開發(fā)完成則進入和服務(wù)端接口對接,通過服務(wù)端的接口獲取數(shù)據(jù),編寫功能上的邏輯代碼。
3、Web管理端:根據(jù)前端的業(yè)務(wù)邏輯,后臺會有相應(yīng)的功能與之匹配,同樣需要編寫功能上的邏輯代碼。
五、測試階段
APP功能開發(fā)完成之后,測試人員會對整項目進行系統(tǒng)性測試。這個環(huán)節(jié)會調(diào)動起項目組內(nèi)所有人相關(guān)人員。而測試這個環(huán)節(jié)的重要性不亞于前期功能的規(guī)劃,如果團隊沒有經(jīng)過專業(yè)系統(tǒng)性訓(xùn)練的測試人員,很可能會導(dǎo)致項目出現(xiàn)與設(shè)計初衷存在落差,以及遺漏下一些邏輯上的坑.
六、系統(tǒng)上線
與客戶或者上級達成一致后,系統(tǒng)進行試運行,穩(wěn)定后上線。