如何依賴文檔驅(qū)動開發(fā)及管理

1. 傳統(tǒng)的開發(fā)流程存在哪些弊端?

作為一名程序員我們比較熟悉的開發(fā)流程:

如何高效的實現(xiàn)項目研發(fā)及管理50.png

看起來好像是一個完美的前后端開發(fā)流程,其實在開發(fā)中存在很多的問題?

(1) 上圖看起來時前后端分離,但是實際上前端依賴后端開發(fā),因為往往前端的頁面開發(fā)比較快,會出現(xiàn)持續(xù)等待Api接口,浪費大量的時間

(2) 前端和后端會因為接口不通,結(jié)果集的格式或者參數(shù)不正確,接口不夠等問題等問題,爭吵,討論,導(dǎo)致接口請求時間長,服務(wù)器壓力大,前端等待服務(wù)端修改接口,

(3) 開發(fā)直接通過原型開發(fā),由于信息量不足,存在假設(shè)的情況進(jìn)行開發(fā),導(dǎo)致開發(fā)偏差,例如我們曾因為審批流的流程問題反復(fù)調(diào)整

(4) 隨著驗收不斷臨近的截止日期,大家都忙于開發(fā)功能,越來越?jīng)]有時間編寫文檔,一但在驗收中對文檔的完整度和正確性提出要求,會非常的苦惱,而延長交付時間

2. 采用文檔驅(qū)動開發(fā)的是優(yōu)勢

既然我們已經(jīng)清除了傳統(tǒng)開發(fā)存在,前后端依賴的問題,前端后端存在調(diào)試接口的問題以及文檔等問題。那么我們對開發(fā)流程需要優(yōu)化,我們把設(shè)計文檔,開發(fā)文檔放在最前面設(shè)計,看能否解決我們研發(fā)問題呢?

1.第一階段:設(shè)計階段

[圖片上傳失敗...(image-c736c6-1621935973384)]

2.第二階段:開發(fā)階段

(1) 編寫開發(fā)文檔

參與人(UI,測試,服務(wù)端,前端)負(fù)責(zé)人,所有參與人并行開發(fā)

① 前端任務(wù):產(chǎn)出接口文檔(字段沒有和數(shù)據(jù)庫表字段對應(yīng))

 [圖片上傳失敗...(image-c21e5-1621935973384)]

② 服務(wù)端任務(wù):產(chǎn)出數(shù)據(jù)庫模型和數(shù)據(jù)庫,待產(chǎn)出數(shù)據(jù)庫后,實現(xiàn)接口文檔和數(shù)據(jù)庫的字段對接,最終產(chǎn)出完整的API接口文檔

  [圖片上傳失敗...(image-db4920-1621935973384)]

③ 測試任務(wù):根據(jù)產(chǎn)品原型編寫測試用例

④ UI任務(wù):根據(jù)產(chǎn)品原型制定整體設(shè)計風(fēng)格

(2) 編寫代碼

① 服務(wù)端任務(wù)

根據(jù)相關(guān)文檔按模塊輸出ap

[圖片上傳失敗...(image-555459-1621935973384)]

② 前端任務(wù)

根據(jù)相關(guān)文檔按模塊編寫功能,并提測

[圖片上傳失敗...(image-d2a5f7-1621935973384)]

③ 測試任務(wù)

  1. 如果API文檔有輸出,按照接口文檔測試API文檔

  2. 如果前端有模塊輸出按原型需求文檔測試模塊

④ UI任務(wù)

按照產(chǎn)品原型文檔設(shè)計頁面

優(yōu)勢:

(5) 在設(shè)計階段,開發(fā)設(shè)計階段,只需要各端負(fù)責(zé)人進(jìn)行評審和相關(guān)文檔的輸出以及標(biāo)準(zhǔn)的制定,無需所有開發(fā)人員接入,節(jié)省人力

(6) 在所有開發(fā)階段中嚴(yán)格保證了所有開發(fā)人員的分離開發(fā),無需相互依賴,充分減少每個端上人員的交流,真正的實現(xiàn)了多端分離

(7) 嚴(yán)格保證了所有開發(fā)人員在開發(fā)中有據(jù)可查,大大提高編寫效率

(8) 減少了在研發(fā)周期人員更替,新員工上手難的問題

(9) 隨著項目開發(fā)的完成,開發(fā)文檔也完成,減少項目交付時缺少文檔的尷尬

3. 如何采用文檔進(jìn)行管理

文檔貫穿了整個項目,既然我們要依賴文檔來進(jìn)行開發(fā),那么文檔應(yīng)具備以下特性,才能方便我們依賴他管理整個項目

1.可修改性

雖有的文檔都是在前期編寫的,可能會存在一些未考慮到的問題,所以更需要所有人員共同發(fā)現(xiàn)文檔的缺陷,及時修改完善文檔。

修改文檔應(yīng)該是由下向上逐級反應(yīng),最終有相關(guān)負(fù)責(zé)人評估后方可修改文檔,研究各人以任何理由私自篡改文檔。

2.正確性

在設(shè)計編寫文檔時,應(yīng)該保證保證文檔的正確性,不應(yīng)將未確認(rèn),未評審的文檔流入開發(fā)階段,或者開發(fā)人員手中

3.同步性

在研發(fā)周期中不管是在任何階段,任何環(huán)節(jié)如果需要修改文檔,變更需求都應(yīng)經(jīng)過評審后,修改所有相關(guān)文檔,不能只修改某一個文檔,嚴(yán)格保證所有文檔的同步性,避免多端開發(fā)不統(tǒng)一的問題

4.約束性

所有相關(guān)人員都應(yīng)該嚴(yán)格遵守文檔中的要求,按照文檔開發(fā),堅決避免私下確立開發(fā)方案,不按照相關(guān)文檔開發(fā)測試

4. 如何依賴文檔管理項目

項目管理非常幫的一種管理方式就是通過任務(wù)來管理項目,但是在實施中有一個很大的問題那就是如何把一個項目細(xì)分成任務(wù),如果不能把項目有效的劃分成任務(wù),那么通過任務(wù)管理項目就無法實現(xiàn),那么如何把一個項目有效的劃分任務(wù)并管理呢?

1.通過項目原型文檔和API接口文檔等文檔來劃分任務(wù)

(1) 通過原型文檔可以把項目劃分成模塊,在劃分成最頁面,組件等最小單元,以頁面,組件給前端,UI設(shè)計分配任務(wù)是個非常不錯的選擇

(2) 因為API接口文檔本身就是最小單元,那么服務(wù)端任務(wù)就非常容易劃分

2.規(guī)劃開發(fā)周期

通過任務(wù)計算開發(fā)周期,通過交付時間規(guī)劃任務(wù)開發(fā)時間,正向反向論證,確保在交付時間內(nèi),完成項目,如果在交付時間內(nèi)不能完成開發(fā)任務(wù),方便前期就做各種預(yù)案,避免尷尬

3.建立里程碑

通過開發(fā)周期,任務(wù)完成度劃分里程碑,讓開發(fā)人員獲得相應(yīng)的成就感,并時刻保持激情

5. 文檔編寫標(biāo)準(zhǔn)

(略)

6. 開發(fā)標(biāo)準(zhǔn)以及要求

(略)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容