軟體過程改進
出自 MBA智库百科(https://wiki.mbalib.com/)
軟體過程改進(Software Process Improvement; SPI)
目錄 |
軟體過程改進是指在軟體過程的實施中為了更有效地達到優化軟體過程的目的所實施的改善或改變其軟體過程的系列活動。過程改進的實施是在認知現有軟體過程的基礎之上,利用過程運作和監控中所獲得的反饋信息,發現軟體過程中存在的問題和缺陷,提出改進的意見,進而實現軟體過程的改進和完善。過程改進的實施對象就是企業的軟體過程,也就是軟體產品的生產製造過程,當然也包括軟體維護之類的輔助過程。
根據驅動方式的不同,可以將軟體過程改進劃分為目標驅動和缺陷驅動兩種模式:
1)目標驅動
目標驅動的過程改進模式是指根據一個預先設定的目標,自頂向下指定過程度量或評價模型,有目的地開展過程改進活動的過程改進模式。其特點是目標明確,可以將改進活動控制在預定的範圍之內,並儘可能地利用資源以獲得滿意的改進效果。缺點是如果策劃不周,會帶來一定的風險。
2)缺陷驅動
缺陷驅動的過程改進模式是指根據過程實施中所產生的關於過程缺陷的反饋信息,來有針對性地進行改進活動的過程改進模式。其特點是過程的改進是基於已發現的缺陷來進行的,因此往往切實有效,並且能夠確保每次的改進活動能夠得到相對更優的過程模型。其缺點是缺乏整體的規劃,可能會導致改進活動雜亂無章和效率低下。
根據兩種模式的優缺點,切實可行的辦法就是將兩者有效地結合起來,以獲得高效的改進結果。同時,為了能夠使軟體過程改進獲得成功,實施過程改進時需要遵循如下一些原則:
(1)過程改進的組織應設定一個切實可行的改進目標,並且改進目標應該建立在過程評價和過程度量的基礎之上。SPI就是要在實踐中發現問題,併在實踐中尋找和找到解決問題的辦法。
(2)過程改進是一個持續進行的活動,因此在過程改進中需要不斷總結階段性成果,並按照計劃、實施、監控這樣的迴圈方式制定一個合適的周期。需要記住:問題的解決是過程改進的核心,實踐不僅是SPI組的目標也是它的起點。在過程改進中,達到一個目標你就創造了另一個更高的目標,這個目標對過程和環境都具有重要的意義。
(3)過程改進本身應被當作一個改進項目來執行。在過程改進計劃中,對進度、資源分配、風險管理及相關人員責任等都要清楚的描述。
(4)過程改進需要得到組織管理層和各個部門成員足夠的重視和支持,並要有適當的監控機制,以便於控制過程改進向有利的方向進行。
(5)過程改進是具有一定的風險的,因此,要註意降低相應的風險,其中主要包括由於改進目標的不適合而帶來的風險和由於改進活動的不完備而帶來的風險。
- 李彤,王煒,鬱湧編著,軟體工程概論,科學出版社,2012.02,第282頁