軟體流程改善 與 cmmi 簡介

30

Upload: lala

Post on 04-Jan-2016

70 views

Category:

Documents


8 download

DESCRIPTION

軟體流程改善 與 CMMI 簡介. 大綱. 軟體流程改善 (Software Process Improvement) CMMI 模型簡介 緣起與演進 系列產品 導入與評鑑 架構介紹 流程領域及分類 成熟度層級 導入效益. Quality Leverage Points. ...even our finest people can’t perform at their best when the process is not understood or operating “at its best.”. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 軟體流程改善 與 CMMI 簡介
Page 2: 軟體流程改善 與 CMMI 簡介

大綱軟體流程改善 (Software Process

Improvement)CMMI模型簡介

緣起與演進系列產品導入與評鑑架構介紹

流程領域及分類成熟度層級

導入效益 2

Page 3: 軟體流程改善 與 CMMI 簡介

3

Everyone realizes the importance of having a motivated, quality work force but...

...even our finest people can’t perform at their best when the process is not understood or operating “at its best.”

PEOPLE

PROCESSTECHNOLOGY

Quality Leverage Points

Major determinants of product cost, schedule, and quality

Page 4: 軟體流程改善 與 CMMI 簡介

04/20/23 Bahill 4

Why focus on process? Process provides a constructive, high-leverage focus...

as opposed to a focus on people Your work force is as good as it is

trained to be.Working harder is not the answer.Working smarter, through process, is

the answer.as opposed to a focus on technology

Technology applied without a suitable roadmap will not result in significant payoff.

Technology provides the most benefit in the context of an appropriate process roadmap.

Page 5: 軟體流程改善 與 CMMI 簡介

SEI 的 CMM CMM ( Capability Maturity Model)

1986 年 11 月開始發展, 1987 年 9 月發表成熟架構與調查表, 1993年以後發展完整改進版。

是國際軟體業界通行的一種標準軟體開發的成熟模型。

規定了組織性成熟的階層式架構,以及如何判斷軟體開發所處的成熟程度。

用來協助軟體開發的團隊或組織,找出現有開發流程和軟體品質中最需要改進的地方,並提出一些指導方針,來幫助軟體開發的團隊或組織達到良好的流程管理和團隊開發的文化。

5

Page 6: 軟體流程改善 與 CMMI 簡介

CMMI 專案的成立

旨在整理出使用多種 CMM 家族所產生的問題。專案任務是合併三個來源的模式:

1. 使用於軟體的能力成熟度模式 (SW-CMM V2.0 草案 )

2. 電子工業協會過度期標準 (EIS/IS)7313. 整合的產品發展能力成熟度模式 (IPD-

CMM)V0.98

6

Page 7: 軟體流程改善 與 CMMI 簡介

CMMI 的架構主要是由成熟度等級向下展開成流程領域,並依流程領域找出特定目標和一般目標,並詳述其執行方法

7

Page 8: 軟體流程改善 與 CMMI 簡介
Page 9: 軟體流程改善 與 CMMI 簡介

導入 CMM(I)方法 (IDEAL 模式 )在一個組織內,要進行以CMMI 為基礎的變善工作,一般都使用 SEI 所公佈的 IDEAL 模式。

提供一個淺顯易懂的方法,它詳細描述建立成功改善方案的步驟,使組織能建立一個長期的流程改善制度。

包含五個階段起始階段 (Initiating)診斷階段 (Diagnosing)建立階段 (Establishing)行動階段 (Acting)檢討階段 (Learning)

9

Page 10: 軟體流程改善 與 CMMI 簡介

IDEAL 模式 -起始階段 (Initiating)組成改善計畫的基礎架構,定義組織內每個士色及其職掌,根據組織的願景,策略,及過去的經驗,擬定改善的計畫。(1) 改革的刺激 (Stimulus for Change)(2) 設定工作內容 (Set Context)(3) 高層的支持 (Build Sponsorship)(4) 建立基礎架構 (Charter Infrastructure)

10

Page 11: 軟體流程改善 與 CMMI 簡介

IDEAL 模式 -診斷階段 (Diagnosing)診斷目前的工作模式,並界定未來的目標。首先確定需要執行的基準評鑑項目及種類,以確保軟體流程改善計畫的要點與組織的經營需求是一致的。

然後規劃並收集所得的實際資訊,最後製作調查結果及建議報告。(1) 瞭解目前的狀況及期望的目標 (Characterize

Current & Desired Status)(2) 發展建議方案 (Develop Recommendations)

11

Page 12: 軟體流程改善 與 CMMI 簡介

IDEAL 模式 -建立階段 (Establishing)擬定一個計劃,說明需如何達到目標。在此階段組織需決定改善的行動和其優先順序,並尋找適當的解決方案,轉換在起始階段所定義的一般流程改善目標為可度量的目標,並製作監控基準,建立組織全體的共識,核准軟體流程改善的策略計畫,並配置行動所需的資源。(1) 設定優先順序 (Set Priorities)(2) 研究可行方法 (Develop Approach)(3) 規劃行動方案 (Plan Actions)

12

Page 13: 軟體流程改善 與 CMMI 簡介

IDEAL 模式 -行動階段 (Acting)根據計畫,確實執行。此時完成改善的細部計畫,處理診斷階段所發現的問題,並提出解決方案。試行可能的解決方案後,選出最適合組織需要的,然後將經過證實的解決方案推廣至全組織。(1) 提出解決方案 (Create Solution)(2) 試行可能的解決方案 (Pilot/Test Solution)(3) 修正解決方案 (Refine Solution)(4) 推展解決方案 (Implement Solution)

13

Page 14: 軟體流程改善 與 CMMI 簡介

IDEAL 模式 -檢討階段 (Learning)從經驗中學習並改善自我能力,吸收更新

技術。進行 IDEAL 模式下一個循環時,收集先前的各項學習心得,確保所使用的策略、方法,及組織架構是最佳的,修正或調整,使下一循環的軟體流程改善更有率。(1) 分析與驗證 (Analyze and Validate)(2) 提出未來行動建議 (Propose Future

Actions)

14

Page 15: 軟體流程改善 與 CMMI 簡介

CMM(I)的評鑒按照規定必須由經過 SEI 授權的首席評估員

(Lead Assessor)主持評估而過程包括準備,實施和報告階段。

先進行初始階段流程

15

Page 16: 軟體流程改善 與 CMMI 簡介

CMM(I)的評鑒再進行現場和報告階段流程

16

Page 17: 軟體流程改善 與 CMMI 簡介

04/20/23 Bahill 17

CMMI流程領域 (Process areas, PA)A process area (PA) is a cluster of related practices in an area that, when performed collectively, satisfy a set of goals considered important for making significant improvement in that area.

Practices are actions to be performed to achieve the goals of a process area.

All CMMI process areas are common to both continuous and staged representations.

A process area is NOT a process description.

Page 18: 軟體流程改善 與 CMMI 簡介

CMMI流程領域 (PA)分類分成四類,以專案管理為基礎而工程進行研發,並進行流程管理而以支援流程輔助全部。四類又各分基礎及進階兩部分。

18

Page 19: 軟體流程改善 與 CMMI 簡介

專案管理類 PA包含專案管理活動有關規劃、監督與控制專案。

(1) 專案規劃 (Project Planning)(2) 專案監控 (Project Monitoring and Control)(3) 供應商協議管理 (Supplier Agreement

Management)(4) 整合的專案管理 (Integrated Project

Management (IPPD)(5) 風險管理 (Risk Management)(6) 整合團隊 (Integrated Teaming)(7) 數量化專案管理 (Quantitative Project

Management)

19

Page 20: 軟體流程改善 與 CMMI 簡介

工程流程類 PA包含發展與維護的執行方法,所有的工程專業領域皆可共用該執行方法。

六個工程流程領域有相互關係,這些相互關系源於應用產品發展流程,而不是特定的專業領域 (例如軟體工程或系統工程 )。(1) 需求發展 (Requirements Development)(2) 需求管理 (Requirements Management)(3) 技術解決方案 (Technical Solution)(4) 產品整合 (Product Integration)(5) 驗證 (Verification)(6) 確認 (Validation)

20

Page 21: 軟體流程改善 與 CMMI 簡介

流程管理類 PA包括整個專案執行方法相關的定義、規劃、資源分配、推展、實行、監督、控制、驗證、度量與改善流程。(1) 組織流程焦點 (Organizational Process

Focus)(2) 組織流程定義 (Organizational Process

Definition)(3) 組織訓練 (Organizational Training)(4) 組織流程績效 (Organizational Process

Performance)(5)組織創新與推展 (Organizational Innovation

and Deployment)

21

Page 22: 軟體流程改善 與 CMMI 簡介

支援流程類 PA主要是包含支援產品發展與維護之執行方法及建立與維護工作環境。

工作環境幫助和鼓勵產品整合,並使管理人員能夠有整合的行為。 (1) 建構管理 (Configuration Management) (2) 流程與產品品質保證 (Process and Product

Quality Assurance) (3) 度量與分析 (Measurement and Analysis) (4) 整合人員與組織環境 (Organizational

Environment for Integration) (5) 決策分析與解決方案 (Decision Analysis and

Resolution) (6) 原因分析與解決方案 (Causal Analysis and

Resolution)

22

Page 23: 軟體流程改善 與 CMMI 簡介

CMMI 的能力成熟度等級成熟度

提供的是建議性的順序,以分階段的方式來達成流程改善。

此建議性的階層能讓組織將改善的工作,專注於少數對組織有利的關鍵性流程。

每一成熟度階段也為下一階段成熟度建立起基礎。成熟度第一級:初始 (Initial)成熟度第二級:管理 (Managed)成熟度第三級:定義 (Defined)成熟度第四級:數量化管理 (Quantitatively

Managed)成熟度第五級:最佳化 (Optimizing)

23

Page 24: 軟體流程改善 與 CMMI 簡介

流程領域分類及層級

Page 25: 軟體流程改善 與 CMMI 簡介

04/20/23 Bahill 25

Categories of benefitsProcess improvement benefits fall into these general categories:improved schedule and budget

predictabilityimproved cycle timeincreased productivityincreased customer satisfactionimproved employee moraleincreased return on investmentimproved quality (as measured by

defects)decreased cost of quality

Page 26: 軟體流程改善 與 CMMI 簡介

04/20/23 Bahill 26

.

0 %

140%

-140%

....

.

..

. ...

..

. .

. . . .

.. . .

. .

.

.

. . . .. .. . . . . .... . . .. ..

. .. ..

.

..

. .. .. ...... . .. . ... . .. . .. ..

Without Historical Data With Historical DataVariance between + 20% to - 145% Variance between - 20% to + 20%

(Mostly Level 1 & 2) (Level 3)

Ove

r/U

nder

Per

cent

age

.

(Based on 120 projects in Boeing Information Systems)

.. . .

.

.. .

...

. .

. ..

.. .

..

.. .. . .. . . . . .. . . . . .. .

... . .. . . . . . .. . . .. . . . .

. . . . .. . . . .. . . . . .. . . . .. . . . . .

. . . . . .. . . . .. . .

. . . . . . . .

. . . . . . . . .

. . . . . .. . . . . .

. . . . . .

Reference: John D. Vu. “Software Process Improvement Journey:From Level 1 to Level 5.” 7th SEPG Conference, San Jose, March 1997.

Improved schedule and budget predictability

Page 27: 軟體流程改善 與 CMMI 簡介

04/20/23 Bahill 27

Improved cost & cycle time

Page 28: 軟體流程改善 與 CMMI 簡介

04/20/23 Bahill 28

Increased productivity and quality

Lockheed Martin Naval Electronics & Surveillance Systems (NE&SS) - Radar Systems - Syracuse

Page 29: 軟體流程改善 與 CMMI 簡介

04/20/23 Bahill 29

Measurable return on investment

Return on software improvement investment was reported to be between 5:1 and 8:1.

(Herbsleb 94)

Process improvement provides measurable return on investment.

Page 30: 軟體流程改善 與 CMMI 簡介

04/20/23 Bahill 30

Improved program performancePerformance to contract

Cost at Completion = BudgetIncreases in productivity

150% over 5 yearsIndustry Cost / Schedule Estimation

Tool (COCOMO) projects 20% reduction in effort for 1 level improvement

Decreases in Cost of Nonconformance40% down to 10%

Increased customer satisfactionROI 5:1 and greaterRaytheon Missile Systems Software Center