在我們的軟體開發工程中,評審是一個比較重要的環節。因此有必要對評審如下的規範:

一.評審目的

1. 保證產品的質量。

2. 讓其他同事清楚Feature Engineer在做的是什麼。

3. 使別人也使自己受教育,得到進一步的提高。

二.如何確定關鍵評審人員:

1. Feature Engineer認為具有豐富相關知識的同事,都可以作為關鍵評審人員。

2. 與這次開發工作有介面的同事,或其他對這次工作有直接影響的其他同事。

3. 其他:開發工程師認為必須參加評審的人員

三.評審過程中各個崗位的職責 (一) (Feature Engineer)的職責:

1. 首先確認自己完完全全理解了需求,如果不完全理解而有出入,應按照這個流程:Feature Engineer ?à System Engineer進行需求的確認,但該過程中你必須根據總開發計劃,對所開發的功能制定一個完整合理的開發進度表向你的主管報告、審批,在沒有問題的情況下嚴格遵循之。經批准的開發計劃,一經確認不可隨意更改,除非有合理充分且得到Technical Manager和PM同意的理由。

2. 根據進度表進行你的工作,牢記之前定下的日期,務必在該日期前完成工作,有任何意外的問題及時彙報(即使該問題不是因你而產生)。

3. 在工作的適當階段,組織你的Review日期及關鍵評審人(而非PM來組織),將你的時間、人員安排報告給Technical Manager和PM,開始向資源部門申請會議場所、機器等資源。

4. 在評審以前,應將參與此次評審的相關文件準備好,並告知所有的評審人員文件的放置位置。

5. 發出明確指明Review資料的信給參與review的人,對於不能如期參加你的review的人,協商好以何種形式給你回饋資訊。

(二) 專案經理職責:

不一定要參與評審的過程,但必須保證評審按照計劃安排的時間進行,並協助各Feature Engineers解決open issue 和resource issue等問題。

Technical Manager的職責:

沒有必要參加所有的評審,但必須確定其組員的評審過程符合評審的流程,並向專案經理報告。

(三) 關鍵評審人員的職責:

所有關鍵評審人員在參加評審以前必須仔細閱讀相關的文件,對評審負全部責任。

(四) 其他開發工程師:

作為同事,如果有什麼好的建議可以提交給申請人。

(五) 記錄人:

記錄評審中所有的建議及觀點,並保證所記錄的建議是建議人正確意思的表示。

四.評審過程

在評審過程,申請人應向所有評審人員講解其設計,而評審人員都必須仔細聆聽和和發表意見,如有疑問可以提出,在評審過程中,可以討論問題。

五.評審的結果

評審會議結束後,Feature Engineer收集所有的意見,並在評審會議結束後的一個工作日內,計劃修改工作,其中包括:

1. Feature Engineer如認為是合理的建議,可以根據建議修改的相關設計文件,並計劃完成時間,以及下一步工作計劃。

2. 若Feature Engineer認為建議人提出的建議不合理,可以與相關人員召開討論會議。

3. Feature Engineer必須等到評審的工作所有的論點沒有爭議時,才可以進行下一步的設計工作,不要將已經出現的問題帶到下一個環節。

4. 如在評審中存在暫時不能解決問題的,應該將此問題提交到相關Feature Engineer和專案經理處理。

六.評審後續工作

專案經理與技術管理,必須嚴格監控的其進度,嚴格按照既定進度與規範進行評審後續的工作。

比較杯具的是,這個規範執行了大概一年,就悄悄消失了
而且沒有使用如“結對”等方式進行彌補
我們的軟體質量的確也在下降
在管理與技術手段合理化與可行化方面,沒有堅持,的確是小團隊的無奈