聊聊瀑布類項目管理那些事兒

目    錄

 
01 瀑布項目管理基本介紹
02 瀑布項目管理在DevOps平臺各階段中的實踐‍‍‍‍‍‍
03 總結
01

瀑布項目管理基本介紹

瀑布模型 由溫斯頓·羅伊斯在上世紀70年代提出,自此被廣泛應用於軟件研發行業中,它主要用於將按軟件研發過程規範化,用階段區分需求設計、實現與測試環節,便於分工協作。
通常來說,瀑布模型軟件生命週期包含基礎的需求分析、系統設計、系統研發、功能測試等階段,並且規定了各個階段自上而下的線性次序,環環相扣,就像瀑布一樣,逐級下落,這也是該模型名稱的由來。

瀑布項目管理的特點:
1.使用瀑布模型的項目都嚴格遵循着既定好的步驟階段,每個步驟都有明確要求的交付產物,規範化的交付產物要求較高的成本,但也會保證項目擁有較高的質量。
2.要確保前一階段完全結束(交付產物評審通過)纔可進行本階段的工作開展,前一階段的交付產物質量會直接影響本階段的工作成果,存在問題的階段可能會影響到接下來的所有的環節,導致嚴重的後果。
3.更適用於具有可預測的、存在重複流程的項目活動,如項目團隊預先熟知所有的需求、熟悉本項目涉及行業的專業知識、有相近項目經歷。
適合的項目類型:
1.需求明確,客戶明確知道自己想要什麼,不存在需求重大變更的項目。
2.項目存在可複製性,當項目成功完結後,可根據現有項目資源重複實施項目。
3.項目複雜程度低,風險點少,且項目涉及行業技術成熟,團隊掌握行業相關知識。
瀑布項目管理的優點:
1.項目進行的每個階段都擁有檢查點,保證該階段的交付產物符合要求。
2.線性的管理方式讓團隊可以不用考慮已完成的階段,安心進行本階段的工作,關注於下個階段的計劃。
3.可預知的項目成本,可明確的交付時間。
4.完善的項目資源使得項目可以批量複製,明確知道團隊要做什麼,減少了項目邊界擴散的風險。
瀑布項目管理的缺點:
1.不夠靈活的階段劃分,且要保證每個階段的交付產物的質量需要較高的時間、人力成本。
2.各個階段以既定好的里程碑節點進行,如果未如期完成節點會影響整個項目的實施進度。
3.用戶需求總會因各方面的原因產生變更,導致無法保障項目的可控性。
4.線性的開發模型讓客戶只能在項目末期的用戶驗收環節才能見到交付產物的最終面貌,增加了項目風險。

02

瀑布項目管理在DevOps

平臺各階段中的實踐

需求分析階段:
本階段的參與者一般爲客戶、項目經理以及需求分析師 ,通過詳細的溝通來確定需求點,系統性整理成需求文檔,經由客戶確認,確定了項目的範圍,此環節是整個項目的基石。
用戶可以在DevOps平臺的項目中將與客戶溝通形成的需求文檔歸納整理到文檔模塊,建立需求文檔目錄。

同時,根據需求文檔內容,整理項目需要達實現的需求點,在任務模塊建立所有的需求項,規劃需求責任人,設定優先級以及需求截止日期。

計劃管理是整個項目前行的發動機 ,根據一個個規劃好的計劃驅動項目不斷前行。
DevOps平臺的計劃管理模塊 憑藉甘特圖方便了用戶計劃項目時間、跟蹤工作進度、優化長期計劃、測定工作負荷,同時應用基線對比能力對比當前計劃安排與歷史計劃安排快照,更明瞭的確認計劃執行的時間風險。

里程碑是整個項目的領航員 ,確定好每個節點需要達成的目標,讓項目前行在正確的方向上。
DevOps的里程碑模塊 幫助用戶能直觀的設定整個項目的階段目標,提升項目的可視性,同時監控項目的關鍵時間節點,憑藉基線對比能力能輕鬆確認項目進展是否延期。
在需求分析階段,需要設定好里程碑的各個節點,做好整個項目的規劃。

系統設計階段:
本階段的參與者一般爲項目經理、系統架構師以及需求分析師。
同樣,該階段產出的架構設計等文檔也需要整理到文檔模塊,建立設計文檔目錄。

設計好了整體的系統架構,接下來就要拆分需求形成任務項,在任務模塊,需要用戶在需求階段創建好的需求下拆分好要達成該需求需要執行的任務待辦項,並分配給指定責任人,設定優先級,指定到期時間。

同時,可以在計劃管理模塊,將創建好的需求、任務工作項到關聯到某一計劃條目下,完善計劃的實施步驟。

系統研發階段:
本階段的參與者一般爲項目經理以及開發人員。
開發人員根據上一步產出的系統設計方案以及分配到各自頭上的工作項,在自己的開發環境完成系統的建設,產出源碼、相關功能說明文檔以及接口文檔。
該階段項目負責人可以通過代碼模塊管理代碼庫的分支、標籤、合併請求以及提交記錄等數據。

代碼庫的webhook能力可以將開發人員的代碼提交記錄關聯到工作項,方便後續進行任務進度評估。

同時也可以瀏覽到當前任務項的實際部署信息,確認該任務已成功在哪些環境上線。

DevOps平臺提供強大的CICD能力,用戶可以根據自己需求編排特定功能的流水線,同時保證了極高的可拓展性。
持續集成模塊 提供各類語言、各類介質的編譯集成能力,支持多種觸發策略、保留策略、超時策略的選擇,支持整個集成過程的細粒度跟蹤,並通過代碼質量分析、單元測試執行以及集成自動化測試工具等能力及時發現不合規情況,預防程序漏洞風險,保障代碼庫中的代碼處於持續可用的狀態。對產生的介質提供統一上傳和版本管理,並保障傳輸過程的安全與文件完整性。

持續部署模塊 以無Agent腳本的方式,結合企業實際運維需求,通過自定義交付流水線編排滿足用戶對不同發佈過程的差異化要求,支持多組件、多環境、不同基礎設施的批量自動化部署,支持對線上環境進行健康檢查、啓動、停止、重啓、伸縮、回滾、升級、日誌下載等日常運維工作。結合企業實際運維需求,與企業軟硬負載集成,提供多種零宕機發布策略。同時在流水線每個環節前後提供了人工干預入口,與企業組織流程規範緊密結合,明確責任人,有效跟蹤流水線進展,驅動最終高質量上線。

項目負責人可以參考報表模塊,瞭解項目進展,輔助管理項目,報表模塊種類涵蓋任務、代碼、CICD、測試等,每個種類下又涵蓋多種統計維度,全方位協助項目負責人把控項目全貌。

功能測試階段:
本階段的參與者一般爲客戶、系統架構師以及開發人員。
測試管理模塊 提供手工用例管理、測試計劃的制定和執行、測試報告等功能,涵蓋功能測試、性能測試、安全測試、接口測試、自動化測試等測試環節,覆蓋軟件開發全生命週期過程中的各個測試階段。通過測試過程的規範化管理,提升測試效率並對項目質量評估提供量化依據。

在該階段,系統測試產生的bug可以在任務模塊創建對應的工作項,分配責任人並確定嚴重等級,配置優先級。

同樣依賴高度可拓展性的流水線任務,DevOps支持集成checkmarx、robotframework、復深藍自動化測試系統等自動化測試工具。

項目負責人也同樣可以憑藉測試類型報表,確認項目測試進展。


03

總結

瀑布類項目管理強調文檔的作用,這也要求在里程碑的每個階段都需要大量文檔交付物的產出並嚴格評審文檔。儘管瀑布模型不夠靈活的特點與當今一些快節奏的研發過程顯得有些格格不入,但仍無法否認這是一個優秀的項目管理模型,該模型規劃清楚了各個階段的工作內容,每個階段都有相應的文檔評審,使得項目進行更加穩妥,更能保質保量的交付產品。
普元DevOps平臺爲瀑布式項目管理提供了強大的技術保障,同時,DevOps多樣化的功能也同樣兼容敏捷類項目管理方式以及敏捷-瀑布相結合的項目管理方式,更能滿足用戶多樣性的選擇。

關於作者欣宇,普元資深開發工程師,擅長後端研發、CICD、集成開發等,熟悉DevOps各個場景,深度參與多個DevOps實施項目。

本文分享自微信公衆號 - EAWorld(eaworld)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章