作者:CppExplore 網(wǎng)址:http://www.shnenglu.com/CppExplore/
一個項目從開始到結(jié)束會經(jīng)歷一系列的階段。有效劃分這些階段,對進度控制、成本控制、質(zhì)量管理、功能控制至關(guān)重要。一般的大中型軟件開發(fā)公司,都有自己的階段劃分方法,定義的各階段要完成的任務(wù)也不盡相同。本文就個人從研發(fā)角度理解到的,簡單敘述一下開發(fā)的各個流程。
(1)phase0:由市場人員反饋提出項目開發(fā)階段。該階段沒有明顯的時間周期,是項目的發(fā)起階段。由相關(guān)人員提供產(chǎn)品的主要feature、市場前景的說明文檔。公司管理層、市場部、產(chǎn)品部召開p0會議,決議通過,指定該產(chǎn)品的全權(quán)負責(zé)人:產(chǎn)品經(jīng)理。項目進入正式啟動階段。
(2)phase1:計劃階段。產(chǎn)品經(jīng)理制定產(chǎn)品各個階段的時間段、成本、產(chǎn)品功能范圍
輸出:進度、成本報告
完成:召集系統(tǒng)部人員、研發(fā)部負責(zé)人召開pr1(phase review)會議。會議通過,指定系統(tǒng)部人員,分配時間,通知研發(fā)部、測試部準(zhǔn)備人員在計劃時間進入該項目。
(3)phase2:需求設(shè)計階段。系統(tǒng)設(shè)計人員完成需求設(shè)計
輸出:需求文檔 各子系統(tǒng)需求 各子系統(tǒng)間的交互接口 須明確指出需要完成的功能點
完成:召集系統(tǒng)設(shè)計人員、研發(fā)人員、測試人員召開pr2會議。會議通過進入phase3階段
(4)phase3:開發(fā)階段。產(chǎn)品經(jīng)理為研發(fā)人員分配時間。系統(tǒng)開發(fā)階段(包含3個子階段:設(shè)計階段d1、編碼階段d2、內(nèi)部測試階段d3)
d1階段:
輸出:自己負責(zé)模塊的系統(tǒng)設(shè)計。
完成:研發(fā)負責(zé)人召集相關(guān)人員召開dr1(development review)會議
d2階段:
輸出:代碼
完成:無明顯事件
d3階段:
輸入:單元測試報告(須包含明確的功能點,明確的輸入、輸出,測試的確切結(jié)果)
完成:設(shè)計文檔、源碼、安裝文件/打包文件、測試文檔、安裝說明、relase notes等文檔遞交到指定的版本管理工具并且將相關(guān)文檔發(fā)送給相關(guān)人員。
產(chǎn)品經(jīng)理召集相關(guān)人員召開pr3會議,確認功能點完成情況、代碼量統(tǒng)計、開發(fā)階段模擬工具、公有模塊等額外的開發(fā)成果,通知it部門標(biāo)記當(dāng)前版本。
(5)phase4:測試階段。產(chǎn)品經(jīng)理為測試人員分配時間。測試人員根據(jù)系統(tǒng)設(shè)計人員的需求文檔對當(dāng)前版本進行功能點測試、穩(wěn)定性測試、性能測試。某些情況下可能將該階段細分為:實驗室測試階段、現(xiàn)場測試階段。
輸出:測試報告,bug存入bug管理系統(tǒng)
完成:通知it部門為當(dāng)前版本標(biāo)記,作為正式發(fā)布版本。
(6)phase5:維護階段。產(chǎn)品經(jīng)理為相關(guān)技術(shù)支持、研發(fā)人員安排適量的靈活時間。正式版本交現(xiàn)場實施部門。
(7)phase6:結(jié)束階段。產(chǎn)品已被市場淘汰,維護終止,所有相關(guān)人員撤出,所有文檔、代碼進入凍結(jié),一定時間后銷毀
常使用的工具有clearcase/svn/cvs/sourcesafe clearquest,開源的bug管理工具不再列舉