一、ALM概念
應用生命周期管理(ALM,Application Lifecycle Management),主要負責管理維護應用軟體從概念到消亡這個過程中涉及的所有資料資訊,完成資料資訊的端到端的跟蹤,提供各個階段的資料拉通整合的問題,解決各階段資料資訊不一緻的問題,在任意一個過程節點上能夠很友善直覺的檢視與此節點相關的所有資料,提供一系列的統計分析報告。
二、ALM提出背景
1、階段間資料獨立 軟體工程實施過程中不同階段的資料彼此獨立,階段内的工作有相應的工具或方法支撐完成,各相關人員不會發現問題,甚至認為工作成果很完美;就整個過程來講,前後的工作沒有任何銜接,靠人工完成資訊有損傳遞,上下遊的跟蹤與配置管理關系丢失,導緻出現問題無法準确定位,互相推诿責任。
2、高返工率和錯誤率 由于各個階段的資料資訊由人工傳遞,導緻階段資料流和資訊流出現差異,提高階段内工作的差錯率以及返工率。
3、重用子產品功能不完全,挑選工作量大 做分析的時候,認為某些子產品之前已經完成開發并且已經很成熟,隻需直接拿來用就可以了。但是這隻能是某個階段的重用,需要完成整個過程的重用是很困難的,需要找到相關的文檔或資料資訊是很困難的。
4、配置資訊關系複雜 各階段的相關配置關系通過excel或其他方式記錄和跟蹤,容易出錯,更容易丢失配置關系,導緻互動延期,降低客戶滿意度。
5、缺乏有效的監督 各階段的人員在下遊不知情的情況下任意修改工作結果,并不通知或很少通知其下遊,進而引入各類風險問題;面對外部的工作審計,缺乏有效的證據說明整個過程管控在最嚴有效的管理方式。
6、黑盒開發 整個過程屬于黑盒,外界不知道或很少知道過程進度,不能為決策者提供準确的資訊支撐。
三、ALM需要完成的功能 為了能對産品的釋出提供更可信的支撐,更容易獲得市場的認可,提高産品品質,提高需求的重用粒度,降低軟體工程過程中的複雜度以及減少互動時間,需要ALM解決方案提供可行的功能方案。
1、提供端到端完整的跟蹤 完整的軟體工程過程的管理,需求->設計->實作->驗證->釋出全過程管理,包括所有資料以及互相間的跟蹤關系
2、完整的需求管理 對需求進行網狀管理,可以快速對需求進行分析和過濾;能對需求進行自動收集整理;提高需求重用粒度,降低重複工作成本和品質的不穩定性;
3、整個過程可管理 對整個過程進行有效的管理,包括各階段的資訊流,以及各階段的變更的維護;使整個過程得到可以控制,可視圖化過程資訊,可以前追後溯,可以度量,評估以及審計。
以上是個人對軟體開發過程的見解以及ALM對軟體開發過程的應用。僅做參考。