轉:https://blog.51cto.com/13767247/2409378
為加強對公司軟件研發部門工作管理,縮短開發周期,提高軟件開發質量,降低開發成本,提高開發效率,特制定軟件研發部管理制度。
第一章、總則
為保證日常工作正常有序的進行,讓開發中各個環節更緊湊,更可控,需要盡可能實現軟件研發部項目管理的正規化,工作過程的流程化,以便提高軟件質量和開發效率,達到項目能按質按量按期交付的目標。
1、軟件開發總體遵循項目管理和軟件工程的基本原則。
2、項目管理涉及項目立項、項目計划和監控、配置管理。
3、軟件工程涉及需求分析、系統設計、軟件實現、系統測試、用戶測試、試運行、系統驗收、系統上線和數據遷移、產品維護。
第二章、階段成果
根據軟件工程的過程理論並結合公司目前的實際情況,制定以下工作流程,並規定了各個重要環節需要提交的交付物。
1、立項:市場需求分析(或者合同)、項目立項申請表、項目風險分析清單。
2、需求分析:軟件需求報告或設計方案、需求規格說明書。
3、總體設計:概要設計說明書或功能模塊描述。
4、詳細設計:詳細設計說明書,包括軟件接口說明、單元測試計划。
5、軟件實現:軟件功能說明、源代碼、源代碼說明或者注釋
6、產品測試:測試報告
7、產品發布:產品說明書、使用手冊
8、產品維護:問題反饋記錄
9、項目總結:提交客戶方的項目總結和公司項目匯報的PPT。
軟件過程成果表:
階段 |
形成文檔 |
職責及文檔成果描述 |
負責人 |
備注 |
需求階段 |
項目立項報告(Word) |
明確甲乙雙方責任及義務,需雙方簽字確認 |
項目經理 |
大部分業務建模和需求,少部分分析設計 |
業務需求說明書(Word) |
需求定義,闡述業務范圍及內容,開發組負責制定最優技術設計方案 |
項目經理/需求分析工程師 |
||
項目開發計划(Project) |
制定項目開發計划,方便所有項目干系人都能及時了解項目進度 |
項目經理 |
||
項目風險分析清單(xls) |
針對項目會出現的風險進行分析並制定相應的措施 |
全體項目干系人 |
||
設計階段 |
業務流程總體設計書、詳細設計說明書(Word/Visio) |
討論項目的技術架構和可能存在的技術難點,梳理業務流程,統一開發規則和風格等 |
項目經理/架構師 |
大部分分析設計,部分實施編程及測試,開始考慮部署 |
數據庫關系設計圖、流程圖(PowerDesigner) |
項目所需要使用的數據庫的結構圖和流程圖 |
架構師/高級軟件工程師 |
||
任務分配文檔(Word) |
明確每個組員的開發任務及職責 |
項目經理 |
||
問題說明報告(Word) |
讓用戶、領導及組員及時了解和發現問題 |
項目經理 |
||
業務變更文檔(Word) |
記錄開發過程中用戶提出的業務需求變更情況 |
需求分析工程師 |
||
實現階段 |
軟件功能說明(Word) |
記錄軟件開發過程中所有實現的軟件功能 |
軟件開發工程師 |
最終軟件開發的成果物和說明 |
源代碼 |
可以部署的成果物,以及生成成果物的源代碼以及數據庫備份文件 |
軟件開發工程師 |
||
源代碼說明(Word) |
針對提交的源代碼每一個模塊進行說明 |
軟件開發工程師 |
||
測試階段 |
項目測試方案及報告(Word) |
記錄項目測試的方法,驗證系統功能與性能的記錄 |
測試工程師 |
反復測試直至系統穩定 |
用戶使用手冊(Word) |
方便用戶使用軟件而提供的使用說明書 |
測試工程師 |
||
上線及運行 |
系統使用報告 |
系統部署后的操作記錄 |
項目經理 |
部署及維護 |
用戶培訓報告 |
用戶培訓文檔 |
項目經理 |
||
項目驗收報告(Word) |
記錄甲乙雙方簽訂項目驗收報告 |
項目經理 |
||
項目總結性報告 |
項目組通過此項目總結經驗及不足 |
項目經理 |
第三章、崗位設置
根據公司目前的開發過程主要分為分析、開發、測試三個階段。分析階段完成用戶需求文檔的編寫,系統總體設計的編寫;開發階段完成設計文檔的編寫,代碼的編寫、代碼的維護。測試階段完成系統的測試,測試文檔及其他材料。通過逐漸的調整崗位,明確工作職責,逐步實現項目經理,需求分析工程師,高級軟件開發工程師,軟件開發工程師,測試工程師的崗位設置。
崗位 |
工作內容 |
責任 |
項目經理 |
1、選定項目組成員,成立項目組,安排任務分工。 2、與客戶進行溝通和協調(業務需求或非業務需求方面),以及需求調研工作。 3、制定項目開發計划,包括需求,設計,編碼,測試這幾個階段的計划。 4、估計項目開發費用。 5、制定小組開發進度表, 對組內人員工作進度監控。 6、對文檔的質量進行檢查、把關。 7、對組內成員的工作進行指導。 8、定期召開項目會議,把控項目風險和進度。 |
1、對客戶的溝通協調工作負責。 2、對軟件的開發效率、質量、費用負責。 3、對系統總體設計、詳細設計文檔質量負責。 4、對整個項目的進度,質量,成本,風險等負責。 |
需求分析 工程師 |
1、 與客戶進行溝通,負責需求調研工作,匯總需求分析文檔,並編寫系統總體設計方案。 2、 遇見需求變更時,分析需求變更內容,並於項目經理一起負責對需求變更進行評估。 3、 與高級軟件開發工程師一起完成詳細設計文檔的編寫。
|
1、 對用戶的需求分析的質量負責。 2、 對項目組所有成員正確理解項目需求負責。 |
高級軟件 開發工程師 |
1、負責系統的模塊設計,詳細設計文檔。 2、繪制界面原型demo等,設計功能使用的具體描述、行為者、前置條件、后置條件、UI描述、業務流程/子流程/分支流程,界面說明等,完成大部分的前端設計,小部分的后端設計。 3、負責技術難度大的模塊的代碼或者公用模塊代碼的編寫、維護。 4、對自己負責模塊的詳細設計、代碼編寫。 5、對小組內人員進行技術指導。 |
1、對組內人員的開發效率負責。 2、對產品整體風格負責。 3、對項目整體設計流程負責。 4、對自己模塊的開發效率和質量負責。 |
軟件開發工程師 |
1、與項目經理溝通和確認某個模塊的需求和實現方法。 2、負責某個模塊的代碼編寫、維護。 3、對其他模塊的代碼的維護。 4、負責與測試人員的交互,處理測試人員的問題。 |
1、對自己模塊的開發效率和質量負責。 |
測試工程師 |
1、根據用戶需求分析和系統總體設計,編寫測試文檔和測試用例。 2、對系統的功能、性能、異常進行測試。 3、編寫測試文檔和操作指導手冊。 |
1、對測試的質量負責。 2、對測試文檔和操作手冊的質量負責。 |
第四章、項目立項
1、需求分析工程師進行應用調查與分析,確認軟件的應用需求。
2、成立項目評審會,開發總監、部門經理和指定人員必須參加。對項目進行可行×××,編寫項目建議書,評估項目的難度和工作量,形成可行×××報告。
3、根據項目配置的優劣成立項目開發組,制定軟件開發計划,確定項目經理,由部門和項目經理共同來確定具體項目配置,知識技能要求,團隊成員及團隊的角色。
第五章、項目計划與監控
1、以項目為單位,項目經理負責整個項目的計划、組織和控制。
2、在整個項目過程中,項目經理定期檢查項目進度和完成情況,調整人員分工和安排。
3、項目計划需要變更時,需要明確變更內容並及時匯報。項目經理需要說明客戶變更原因並將變更說明提交公司領導審核,以便根據變更內容及時調整計划。。
第六章、需求分析
1、對用戶提出的需求進行分析匯總,梳理用戶的業務流程和詳細的功能定義。
2、做出簡單的界面原型,與客戶進行有效的溝通, 編寫需求詳細說明書。
3、根據現有條件進行估計,制定項目進度,制定詳細的軟件開發計划。
第七章、總體設計
1、在該階段確定總體結構和軟件開發架構,文件命名規范,編碼規范。可按軟件需求划分成子系統,也可直接定義目標系統的功能模塊及各個功能模塊的關系。
3、確定軟件模塊結構,給出每個功能模塊的功能描述、數據接口描述,並完成系統概要設計說明書。
4、完成數據庫的設計,並編寫數據庫設計說明書。
5、完成的文檔需提交公司進行歸檔管理。
第八章、詳細設計
1、調整前一步設計的不足,確認各模塊之間的詳細接口信息。
2、設計功能使用的具體描述、行為者、前置條件、后置條件、UI描述、業務流程/子流程/分支流程,界面說明等。
3、確定模塊內的數據流或控制流,對每個程序模塊必須確定所有輸入、輸出和處理功能。
4、匯總並提交所有相關文檔,審核確認質量和進度。
第九章、軟件實現
1、項目組根據概要設計說明書、詳細設計說明書制定系統實現計划
2、有條件的情況下保證開發、測試和生產環境獨立。選擇軟件工具,明確項目成員的職責分工,按照編碼規范和詳細設計實現軟件功能。
3、代碼應滿足結構良好,清晰易讀,且與設計一致,符合編碼規范。
4、開發人員需要軟件實現過程中編寫軟件功能說明,源代碼說明。軟件功能說明文檔應說明項目名稱、編號、軟件名稱和版本號,軟件功能、主要功能實現過程。源代碼說明應說明項目編號、源代碼類名稱、編寫人員、編寫日期、變更履歷、功能、全局變量、數據庫字典、函數功能、接口。該文檔包含在源代碼文件中,以注釋形式存在。
5、項目組進行單元測試和集成測試。開發人員處理測試人員反饋的測試問題,並以書面形式反饋主要問題及解決辦法,直至系統運行穩定。
6、匯總並提交所有相關文檔,提交公司備案,形成項目知識庫。
第十章、軟件測試
1、根據單據測試和集成測試兩個過程,制定測試計划。按階段設計測試實例,並將測試結果記錄,未通過的的反饋給開發人員調整。
2、完成測試文檔、操作手冊、安裝維護手冊的編寫。
第十一章、用戶培訓
1、准備用戶培訓計划、培訓手冊
2、確定培訓時間、培訓地點,向用戶進行系統使用培訓、操作指導及提供軟件操作手冊。
3、保留培訓簽到表,用戶意見等存檔。
第十二章、系統上線
1、 制定上線計划,確定上線工作時間表,部署的環境。
2、上線操作步驟以及問題處理步驟;
3、根據軟件特點、客戶需求進行軟件部署,並記錄軟件部署和運行結果;
4、項目組根據系統運行請款對系統進行優化,記錄系統的運行情況、系統問題和處理后的版本。
第十三章、系統驗收
1、驗收工作准備,按要求整理項目成果物,打印裝訂成冊,並提交客戶方。
2、系統主要使用部門及信息技術部門聯合成立項目驗收小組,從需求功能及技術需求層面對系統進行綜合評估和項目成果物的審核,根據驗收情況形成系統驗收報告
3、應用部門及信息技術部門負責人根據系統試運行情況簽署驗收意見。
第十四章、產品維護
1、調出項目主要開發人員,按照合同要求安排維護人員對系統進行技術支持。
2、系統需求變更或調整,記錄變更原因和軟件及源代碼的版本控制,按照軟件變更要求對系統進行維護。
第章十五、源碼和文檔
1、源代碼/文檔管理采用版本控制軟件VisualSourceSafe。
2、按項目的階段性完成源代碼、文檔的上傳。項目負責人每天對代碼進行檢查,開發總監或部門經理定期進行抽查。
3、文檔分為項目文檔和個人文檔,文檔上傳前進行歸類和匯總。
第十六章、質量檢查
1、項目負責人每天要檢查成員的工作完成情況,特別是新員工的工作進展;
2、工作抽查制度:不定期的進行抽檢,並將檢查對象、檢查時間、檢查內容、檢查結果反饋給被抽檢人。
3、內部審核制度:針對業務需求、概要設計(功能界面、數據庫)或疑難問題組織評審會,提出意見或解決方案。
第十七章、文檔規范
1、需按照軟件實施的階段落實成果物,參照《軟件過程提交成果表》。
2、如果客戶有特殊要求,請按照客戶要求的規范完成。並將最終的問題提交公司歸檔備份。
第十八章、軟件變更
為規范軟件變更與維護管理,特制定本制度。本制度適用於應用系統開發完畢並正式上線,移交給客戶方之后的運行支持及系統變更工作。
1、系統變更工作可分為功能完善維護、系統缺陷修改、統計報表生成。
2、需求部門提出系統變更需求,項目經理同開發人員一起根據重要性和緊迫性做判斷,確定其優先級和影響程度,並進行相應處理,同時將變更需求整理成系統變更申請表。
3、系統變更實現過程按照軟件開發過程規定進行,遵循軟件開發過程統一的編碼標准和版本控制,並經過測試通過才能完成部署和上線。
4、在系統變更完成后,開發人員需將系統變更表的執行結果提交給項目經理,測試人員確認執行結果后,項目經理與需求提出方確認簽字后,提交至公司進行歸檔管理。