無論是大企業還是小公司,文檔化一種軟件產品的規劃、評審、設計、計劃、開發、控制與測試的流程,除了是以確保軟件產品能夠在規定的時間內達到所有指定的需求,也是為了能在項目進行過程中持續進行的高效能的團隊溝通以及及時總結,良好的流程依賴於執行者忠實地貫徹才能夠發揮最大的作用。
從初始的產品概念提出一直到進入產品發佈,包括了完整軟件開發流程和簡化軟件開發流程兩類開發流程。
流程文件列表
軟件項目開發流程按本文所描述的十五個階段所組成。所有新的軟件開發項目均應按此流程運行。
在項目階段的安排中,設定有階段評審,所有項目流程必須經評審人員書面批准後,才能進入下一階段工作。在正常情況下,每一階段提交的成果必須完整,並在進入下一階段工作前得到批准。
項目實施過程中各個階段實施步驟、負責人、產生文檔及干係人說明如下:
產品意向提出
新的產品概念,或對現有產品的改進建議,可以來源於任何人,如客戶請求、產品經理、項目經理、開發人員、測試人員以及各級管理人員。
新的產品概念提出後歸口於產品經理進行統一彙總和分析。
來源於任何人的產品意向必須填寫《產品意向說明》。
l 負責人:產品經理
l 產生文檔:產品意向說明
l 內容包括:產品使用功能描述、關鍵的性能目標、預期收益(包括經濟指標或影響力指標)、希望完成的時間。
l 干係人:產品意向提出人
市場調研及產品規劃書起草
在產品概念和意向提出後,項目進入市場調研和產品規劃階段。其目的在於落實產品意向的合理性和可行性,將產品概念細化為可以衡量的具體用戶指標,初步確定項目方向以及範圍。
l 負責人:產品經理
l 文檔:產品規劃書
l 內容包括:問題分析(Problem)、目標確認(Object)、項目範圍(Scope)、SWOT分析、用戶使用指標(End-user Feature)、性能要求、兼容性要求、本地化要求。
l 干係人:產品意向提出人、所屬的領導
產品規劃書評審
產品規劃書完成後,須組織項目相關人員對產品規劃書進行評審,以驗證產品意向以及產品規劃書的可行性。如通過評審則進入下一步流程;如無法通過評審則取消該項目;如對該產品意向以及產品規劃書存在較大爭議無法達成共識,則重新進行產品規劃和評估。
l 負責人:產品經理
l 文檔:產品規劃書評審意見表
l 內容包括:產品意見書評審結論
l 干係人:產品意向提出人、部門總經理、運營總監、產品經理、項目經理、設計負責人
流程類型選擇
產品規劃書評審通過後,將有部門總經理和運營總監對產品開發流程類型進行選擇,並具有最終決定權。
簡化流程體系是針對一些工作量較小,工作週期較短的小型開發項目所設計的,其包含完整流程體系的主要部分並適度簡化,其目的在於對較小的項目選用簡化流程以提高效率,而對較大的項目選用完整流程以保證項目進程和質量。開發流程的選擇基本依據為預估全部工作量是否超過10個工作日,如超過10個工作日,則可採用完整流程體系;如小於或等於10個工作日,則可採用簡化流程體系。
l 負責人:部門總經理/運營總監
l 文檔:產品規劃書評審意見表
l 內容包括:項目軟件開發流程選擇意見
l 干係人:產品經理、項目經理
需求說明書起草與日程表擬定
產品規劃書評審通過並確定軟件開發流程類型後,項目經理須根據產品規劃書所列的用戶需求以及項目內容,起草需求說明書,將產品規劃的內容轉換為技術性開發需求說明以指導開發方向。
同時,根據產品規劃書的要求制定項目日程表。如該項目規模較大,軟件開發流程採用了完整開發流程,則制定概略日程表;如該項目規模較小,軟件開發流程採用了簡化開發流程,則制定整體日程表。
l 負責人:項目經理
l 文檔:需求說明書、概略日程表(完整開發流程)/ 整體日程表(簡化開發流程)
l 內容包括:Function SPEC(包含重要性分級)、性能指標、運營維護要求(如統計功能、備份功能、監控功能等)、估算開發週期以及計劃
l 干係人:產品經理、設計人員、測試人員、維護人員
需求說明書與日程表評審
需求說明書與日程表制定完成後,須組織項目人員相關人員對需求說明書和日程表進行評審,以驗證需求說明書的可行性以及日程表安排的合理性。如通過評審則進入下一步流程;如無法通過評審則需要重新對需求說明書以及日程表進行調整,並再次進行評審。
l 負責人:項目經理
l 文檔:需求說明書評審意見表、日程表評審意見表
l 內容包括:產品意見書評審結論、日程表評審結論
l 干係人:部門總經理、運營總監、產品經理、項目經理、設計負責人
測試用例與測試計劃起草
在完整開發流程過程中,測試經理(測試人員)在項目經理編制需求說明書以及概略日程表的同時,也必須與項目經理和開發人員保持密切的溝通,制定概略測試計劃,以合理安排測試工作。此外,在後期的項目計劃過程中,測試經理(測試人員)還將根據項目工作分解以及資源情況,制定測試用例以及精確的測試計劃,以明晰測試內容、方式、流程和工作安排。
在簡化開發流程中,測試用例和測試計劃由測試人員與項目經理溝通確定,其中測試計劃將包括在整體日程表中,無需單獨列出。
l 負責人:測試經理/測試人員
l 文檔:概略測試計劃、最終測試計劃、測試用例
l 內容包括:測試方式、測試環境、測試人員安排、粗估的測試時間(概略測試計劃)、準確的測試時間(最終測試計劃)
l 干係人:產品經理、設計人員、測試人員
測試計劃評審
測試計劃制定完成後,項目經理將組織項目相關人員進行測試計劃和測試用例評審。測試計劃評審將與項目計劃評審同期舉行。如通過評審則進入下一步流程;如無法通過評審則需要重新對測試計劃進行調整,並再次進行評審。
l 負責人:測試經理/測試人員
l 文檔:最終測試計劃評審意見表
l 內容包括:最終測試計劃評審結論
l 干係人:部門總經理、運營總監、產品經理、項目經理、設計負責人、測試人員
概要設計與概要設計書起草
需求說明書與日程表通過評審後,設計負責人將在項目經理的溝通和幫助下進行概要設計,並起草概要設計書,以確定軟件項目的整體功能結構設計、數據結構設計、接口結構設計等技術內容。
在簡化開發流程中,此階段還需要項目經理與設計負責人充分溝通,分解項目開發工作,構建開發工作細項任務(WBS)。
l 負責人:設計負責人
l 文檔:概要設計書
l 內容包括:概要設計
l 干係人:技術總監、產品經理、項目經理、開發人員、測試人員
概要設計書評審
概要設計書完成後,項目經理將在設計負責人的幫助下召開概要設計書評審,以確定概要設計書滿足需求說明書的技術功能要求,並具備開發可行性和可操作性。
在簡化開發流程中,將不進行概要設計書評審,但需要設計負責人和項目經理與技術總監等資深技術專家進行充分溝通,獲得技術支持,並以郵件或書面材料予以確認。
l 負責人:項目經理
l 文檔:概要設計書評審意見表
l 內容包括: 概要設計書評審結論
l 干係人:部門總經理、運營總監、技術總監、產品經理、設計負責人、開發人員、測試人員
項目計劃與項目分解
執行完整開發流程時,當概要設計書通過評審後,項目經理將在設計負責人與開發人員保持密切溝通的情況下,分解項目開發工作,構建開發工作細項任務(WBS);同時還要制定精確的日程表,並針對項目開發提出所需的各類資源要求。此外,項目經理還需與測試人員進行溝通,制定精確的測試計劃(參考6.7 項“測試計劃起草”)
l 負責人:項目經理
l 文檔:WBS、精確日程表、資源需求計劃、最終測試計劃
l 內容包括:項目工作分解、甘特圖、內部/外部資源需求說明、版本升級後的準確測試計劃
l 干係人:產品經理、設計負責人、開發人員、測試人員
項目計劃評審
項目計劃制定完成後,項目經理將組織進行項目計劃評審,以確定項目計劃的完整性、有效性、可行性,能夠滿足項目開發工作的整體要求。
在簡化開發流程中,將不進行項目計劃評審,但需要項目經理與項目組全體成員進行充分溝通,獲得共識。
l 負責人:項目經理
l 文檔:項目計劃評審意見表
l 內容包括: 項目計劃評審結論
l 干係人:部門總經理、運營總監、產品經理、設計負責人、開發人員、測試人員
項目軟件開發及例會與彙報制度管理
項目計劃評審通過後,開發人員將根據項目計劃以及概要設計書進行具體的軟件開發工作,並形成開發源代碼、開發日誌以及其他開發文檔。產品經理根據開發人員的開發日誌和說明,起草面向用戶端的操作手冊。在該過程中項目經理、設計負責人以及開發人員應保持密切溝通,嚴格按照項目計劃以及概要設計進行工作,定期召開例會進行充分溝通,並形成會議紀要以及定期項目進展情況彙報。項目經理負責將會議紀要和項目進展情況跟蹤報告上報給部門總經理和運營總監,並通報給其他項目相關人員。
l 負責人:各模塊開發人員
l 文檔:SCM、Source code、操作手冊、項目開發例會(週會)、項目進展情況跟蹤報告
l 內容包括:源代碼歸檔、開發日誌、使用說明等
l 干係人:項目經理、設計負責人、測試人員、部門總經理、運營總監、產品經理
軟件測試和測試報告
軟件開發工作進行到後期,軟件測試人員將逐步介入到具體的項目工作中,按照最終測試計劃進行軟件測試工作,召開測試工作例會並形成測試報告,反饋給開發人員和項目經理。
如測試人員發現結構性缺陷而無法通過測試(嚴重缺陷),則返回需求說明階段重新進行開發流程;如測試人員發現功能性缺陷而無法通過測試(一般缺陷),則返回開發階段進行完善。
l 負責人:測試人員
l 文檔:測試報告、測試工作例會紀要
l 內容包括:測試意見反饋、測試工作進度
l 干係人:開發人員、項目經理、設計負責人、部門總經理、運營總監、產品經理
項目總結與產品發佈
軟件產品按照測試計劃通過全部測試後,將進行項目總結和產品發佈。項目總結將回顧項目開發歷程、總結經驗、表彰先進、檢查版本與文檔管理情況,並初步規劃後期產品升級工作。最終產品將按照發布流程予以發佈。
l 負責人:項目經理
l 文檔:項目總結報告、軟件產品發佈通告
l 內容包括: 開發歷程回顧、經驗總結、版本管理與文檔情況總結、後期維護升級初步安排
l 干係人:部門總經理、運營總監、產品經理、設計負責人、開發人員、測試人員
軟件開發流程文檔獲取方式:點贊+轉發+關注+私信【0325】
閱讀更多 阿吉的成長故事 的文章