第一章 CMMI Overview 南台科技大學 資管系 陳炳文、吳敏南 編

advertisement
第一章
CMMI Overview
南台科技大學 資管系
陳炳文、吳敏南 編
Table of Contents
•
•
•
•
•
流程與流程改善
CMMI 的基本認知
CMMI 的誤解
台灣現況與建議
Q&A
流程與流程改善
What Is a Process?
• A process (流程 or 過程) is a set of
practices ( or a sequence of actions)
performed for a given purpose.
– Integrating people, procedures & methods,
and tools together.
– Example?
Defining a Process
• A mature process is documented with
process notations, e.g., data flow
diagrams, activity diagrams, check lists,
flowchart.
• Activity details:
– Purpose, participants, inputs, entry criteria,
work products, outputs, exit criteria,
performance measure, sub-practices, and
work items.
What Is a Software Process?
• A software process is a set of activities,
methods, practices, tools, and
transformations that people employ to
develop and maintain software.
– The associated products include project plans,
design documents, code, test cases, user
manuals, …
What Is a Process Model?
• A process model is
– a common set of process requirements, capturing
best practices, practical knowledge to guide priorities.
– a structured collection of elements that describe
characteristics of effective processes.
• A process model is used
– as a guide to modify or create processes using
practices that have been proven to increase process
capability.
– to assess process capability for two purposes:
• Establish a baseline for improvement.
• Measure progress as improvement activities proceed.
Modeling the Software Process
• Decomposing the software process, it can be
viewed as a set of defect injection and defect
removal activities.
Defects
injected
Software
Requirements
Defects
injected
Defects
injected
Design
Implementation
Integration
Defects
removed
Req.
Review
Design
Review
Code
Review
Defects
removed
Defects
removed
Defects
removed
Transition
To Customer
Defects
removed
Fielded
Defects
removed
Will Hayes
Quality Manager, SEI Appraisal Program
Defect Estimating
Estimating Injection & Removal
300
250
200
150
100
50
0
SW
Requirements
Design
Implementation
Integration
Transition to
Customer
Fielded
Benefits of Process
Improvement
• Process improvement is aimed at
increasing the capability of work
processes.
– Process capability: the inherent ability of a
process to produce planned results.
– As process capability increases,
• it becomes predictable and measurable.
• major causes of poor quality and productivity are
controlled or eliminated.
Model-Based Process
Improvement
• Process improvement (流程改善) cycle
– Management commitment and an
assessment.
– The findings from assessment to feed action
plans.
– Plans complete, perform further assessments.
The cycle continue.
A Process Improvement Approach
by SEI: IDEAL Model
Learning
Propose
Future
Actions
Analyze
and
Validate
Implement
Solution
Initiating
Stimulus for
Change
Set Context
Build
Sponsorship
Refine
Solution
Charter
Infrastructure
Pilot/Test
Solution
Characterize
Current
and Desired
States
Create
Solution
Plan Actions
Diagnosing
Develop
Recommendations
Set Priorities
Develop
Approach
Establishing
Acting
A Process Improvement Approach
by SEI: IDEAL Model (2)
• Initiating
– Set context, Build sponsorship, charter infrastructure
• Diagnosing
– Characterize current & desired states, Develop
recommendations
• Establishing
– Set priorities, Develop approach, Plan actions
• Acting
– Create solution, Pilot/test solution, Refine solution,
Implement solution
• Learning
– Analyze and validate, propose future actions
CMMI 基本的認知
CMM 和 CMMI 的演進
•
•
Carnegie Mellon University – USA DOD Supported Software
Engineering Institute (SEI)
1987
– First CMM (Capability Maturity Model) published as a technical
report
•
1989
– Book on the software maturity framework published
•
1991
– CMM V. 1.0 for software published
•
1993/1994
– CMM V. 1.1 for software published
– PSP (Personal Software Process) developed by the SEI
•
1995
– New specialized CMM published by the SEI , including CMM’s
for software acquisition (SA-CMM), system engineering (SECMM), integrated product development (IPD-CMM) and human
resource management (People-CMM)
CMM 和 CMMI 的演進 (2)
•
1996
– TSP (Team Software Process) developed by the SEI
•
1997
– New Quality Standards continue to emerge, such as EIA/IS 731,
CMMI (Capability Maturity Model Integration) project by the USA
DOD.
•
12/2000
– CMMI V. 1.02 Published (Translation of Chinese Version by III 資
策會)
•
12/2001
– CMMI V. 1.1Pulblished
•
2003
– The SEI has announced - SEI will discontinue any support of
CMM after December 2005.
A Proliferation of Models and
Standards
CMMI的發展
• Sponsored by the US Department of
Defense (DOD) and National Defense
Industrial Association (NDIA)
• Collaborative endeavor, over 100 people
involved from
– Software Engineering Institute (SEI)
– Government
– Industry
The Three Source Models
in CMMI
Numbers of Process Areas
Four Disciplines of CMMI
• CMMI-SW/SE/IPPD/SS includes four
disciplines: Bodies of knowledge
– System engineering
– Software engineering
– Integrated product and process development
– Supplier sourcing
Four Disciplines of CMMI (2)
• System engineering focus on
transforming customer’s needs,
expectations, and constraints into products
and supporting these products through
their life.
• Software engineering focus on applying
systematic, disciplined and quantifiable
approaches to the development,
operations, and maintenance of software.
Four Disciplines of CMMI (3)
• Integrated Product and Process
Development (IPPD) is a systematic approach
that achieves a timely collaboration of relevant
stakeholders throughout the life of the product to
satisfy customers’ needs, expectations, and
requirements.
– Must select one or more disciplines in addition to
IPPD.
• Supplier Sourcing covers the acquisition of
products from suppliers.
– Must select one or more disciplines in addition to SS.
CMMI 模式的表述
• CMMI 提供兩種流程改善的方法
– 組織成熟(maturity)方法: Staged representation (階段
式表述 ) uses predefined sets of process areas to
define an improvement path for an organization and is
described by a model component called a maturity
level.
– 流程能力(capability)方法: Continuous
Representation (連續式表述) uses capability levels
to characterize improvement relative to an individual
process area.
CMMI 模式的表述 (2)
• Staged representation (階段式表述 ) :
–
–
–
–
–
ML 1. Initial
ML 2. Managed
ML 3. Defined
ML 4. Quantitatively Managed
ML 5. Optimizing
ML: Maturity Level
• Continuous representation (連續式表述) :
–
–
–
–
–
–
CL 0. Incomplete
CL 1. Performed
CL 2. Managed
CL 3. Defined
CL 4. Quantitatively Managed
CL 5. Optimizing.
Capability Level
模式表述的比較
連續式
Capability
階段式
Maturity
ML5
ML4
ML3
ML2
ML 1
PA
PA
PA
Process
Organization
階段式改善層級
連續
改善
流程
最佳化層
量化管理層
可預測的
流程
標準,
一致
流程
定義層
管理層
訓練
流程
初始層
未執行 (0)
(1)
(2)
(performed)
(3)
(4)
(5)
(measured)
(standard)
(planned and tracked)
CMMI Maturity Levels
Level
Focus
Staged Organization of 25 PAs
5 最佳化層
連續流程
改善
4 量化管理層
量化管理
組織流程績效 (OPP)
量化專案管理 (QPM)
3 定義層
流程標準化
需求發展 (RD)
技術解決方案 (TS)
產品整合 (PI)
驗證 (VER)
確認 (VAL)
組織流程專注 (OPF)
組織流程定義 (OPD)
組織訓練 (OT)
整合的專案管理 (IPM)
風險管理 (RSKM)
整合團隊合作 (IT)
整合的供應商管理 (ISM)
決策分析與解決方案 (DAR)
適於整合之組織環境 (OEI)
2 管理層
基本的
專案管理
1 初始層
組織創新與推展 (OID)
原因分析與解決方案 (CAR)
需求管理 (REQM)
專案規劃 (PP)
專案監控 (PMC)
供應商協議管理 (SAM)
度量與分析 (MA)
流程與產品品質保證 (PPQA)
建構管理 (CM)
階段式表述的Model Components
連續式表述的Model Components
CMMI 評鑑的方法
• ARC, V1.0 Appraisal Requirements for
CMMI Version 1.0
• SCAMPI Method – Standard CMMI
Assessment Method for Process
Improvement (SCAMPI) Method Definition
Document (MDD)
CMMI 評鑑方法等級
Summary Characteristic
SCAMPI A
Class B
Class C
ARC requirements applicable
All
Most
Some
Amount of objective evidence
gathered
High
Medium
Low
Ratings generated
Yes
NO
No
Resource needed
High
Medium
Low
ISO 15504 conformance
Yes
Partial
No
Team size
Large
(4-9)
Medium
(2)
Small
(1)
評鑑目的
•
•
•
•
為確認「目前的實力」和「改善的機會」。
建立組織目前存在的「基線」(Baseline)。
確認目前階段與目的階段之間狀況的差距。
評鑑結果可做為流程改善活動的需求。
評鑑原則
•
•
•
•
使用 SACMPI reference model for CMMI。
使用一個正式的評鑑流程。
以高階主管作為評鑑發起人。
Focus the appraisal on the sponsor’s
business goals.
• Observe strict confidentiality and nonattribution of data.
• Focus actions and decisions from appraisal
results.
執行方法實施的評鑑
Appraisal of Practice
Implementation
• 三種指標類型
– 直接成果 (Direct Artifacts)
– 間接成果 (Indirect Artifacts)
– 證實 (Affirmations)
指標一:直接成果
指標類型
描述
例子
1. 直接成果
執行 CMMI 一般或
特定執行方法
(specific or generic
practices)的產出。
CMMI執行方法
(practices)列出的
典型工作產品、文
件、交付客戶的項
目、訓練資料等。
指標二:間接成果
指標類型
描述
例子
2. 間接成果
一般或特定執行方
法的產出,但該產
品非執行方法的目
的。當懷疑一執行
方法的目的是否有
達成,這些是有用
的。
CMMI執行方法列
出的典型工作產品、
會議記錄、審查結
果、狀況報告、績
效度量等。
指標三:證實
指標類型
描述
例子
3. 證實
口頭或書面的聲明, 問卷的回應、訪談、
用以證實一般或特
簡報等。
定執行方法的實施。
經常由執行方法的
實施者、顧客或其
他相關人士。
Organization Size
Number of CMMI Appraisal
by Country
March 2005
• Taiwan – 13
• China – 34
• Japan – 77
• India – 70
• USA – 280
• United Kingdom – 25
• Korea - 23
September 2005
• Taiwan – 18
• China – 62
• Japan – 100
• India – 104
• USA – 365
• United Kingdom – 29
• Korea - 30
Move to the Higher Level
• For organizations that began their CMMbased SPI effort in 1992 or later, the
median time to move from:
– maturity level 1 to 2 is 22 months
– maturity level 2 to 3 is 19 months
– maturity level 3 to 4 is 25 months
– maturity level 4 to 5 is 13 months
CMMI 的誤解
CMMI 的誤解
1. Creativity vs. Process
• Creativity is one of the important themes for National
scale projects.
– One common misperception is that process is
somehow the enemy of creativity. This is wrong.
Process is not the opposite of creativity; it is the
opposite of chaos.
• Process creates discipline and repeatability by putting
individual activities into a precise framework.
• When organizations have process perspective, they can
focus their creativity where it belongs in the content of
their work rather than on the structure of their work.
CMMI 的誤解 (2)
2. Moving from ML 1 to ML 3 - Skip ML 2
•
•
•
At level 2, the focus is on projects.
At level 3, two additional generic practices are implemented by level
2 process area
– GP3.1 Establish a Defined process
– GP3.2 Collect Improvement Information
At level 3, the emphasis shifts to the organization.
– Best practices are gathered by MA (a long period) across the
organization (ML 2).
– Processes are tailored as appropriate.
– Engineering (RD, TS, PI, VER, VAL), Infrastructure (OPF, OPD,
OT), Project (RSKM, IPM), Support (DAR)
– The organization supports the projects by establishing:
• Common processes -Common processes does not
necessarily mean one process. (Menu of Processes)
• Common measurements
• Training
CMMI 的誤解 (3)
3. Moving from ML 3 to ML 5 - Skip ML 4
• ML4: Organizational Process Performance (OPP) and Quantitative
Project Management (QPM)
• GG 4: Institutionalize a Quantitatively Managed Process
– GP 4.1: Establish Quantitative Objectives for the
Process.
– GP 4.2: Stabilize Subprocess Performance.
•
The process Performance Baselines include:
– Individual process elements (ex. Rest-case inspection
element, ML 2 and ML 3 )
– Sequence of connected processes
– Processes that cover the entire life of the project (Req.
Management)
– Process for developing individual work products
CMMI 的誤解 (4)
4. CMMI for ODM/OEM (e.g., India)
– Japan is the Model – Better Quality, International
Business,...
5. Small Organization
–
–
–
–
CMMI fits in the Small Organization
Tailoring
Collaboration of Companies
See SEI Report – Organization Size
CMMI 的誤解 (5)
6. CMMI Appraisals Status Misconception
Branch Achieved CMMI ML 2 Only
organization
Announce:
The Whole Company Achieved
CMMI ML 2.
CMMI 的誤解 (6)
7. SCAMPI Practices Implementation
Indicator (PII) e.g., Affirmations
– It is not answers to a pre-defined
questions.
– How CMMI work was done in the
Organization Unit (OU) rather than the
correct answers to the CMMI questions.
– CMMI Practices
CMMI 的誤解 (7)
8. Tools vs. 通過 CMMI 評鑑
•
•
•
Collect “process requirements” for support
tools and investigate possible short-term and
long-term tool solutions.
工具是配合各流程使用,僅是『輔助』工作,
流程的制定、產品開發設計能力的培養更為重
要。
Tools are neither a necessary conditions nor a
sufficient conditions for 通過 CMMI 評鑑。
For More Information about
CMMI
• SEI CMMI Web site
http://www.sei.cmu.edu/cmmi
• System Engineering Web Site
http://sepo.spawar.navy.mil/
台灣現況與建議
台灣資訊產業特性
• 我國資訊國力 硬體強 軟體差
【聯合新聞網 記者祁安國/報導】 IDC昨日公布
今年最新的全球「資訊社會指標」 (Information
Society Index),我國在全球排名第20,但在亞
太地區不如香港、新加坡、韓國,我國號稱是資
訊大國,可是這次公布的排行榜,透露出台灣只
靠「硬」、欠缺「軟」,資訊教育和普及率在亞
洲四小龍中敬陪末座。
台灣資訊產業特性 (2)
• Small Companies – NO CM, QA, M&A,
Training,...
• Information Service Companies : 5385
* Employee 500+
* Employee 100-499
* Employee 100* Employee 5-
6
63
5316 (98.7%)
3393 (66.3%)
台灣系統生命週期特性
Planning
Requirements
Design
Quality Assurance
Build
TAIWAN
USA
System Integration
Change Control
Release Control
Version Control
Maintenance
國內 CMMI 推動情形
中華民國資訊軟體協會受經濟部工業局「軟體工業五
年發展推動計畫」委託執行「軟體工業生產力提升計
畫」,特成立「軟體產業服務團」,輔導軟體產業項
目包括 『CMMI 軟體品質技術輔導』。
資訊工業策進會受經濟部技術處委託執行『 CMMI能
力建立先期規劃計畫』及 『先進資訊技術引進計畫』
等科專計畫,積極輔導軟體業界導入CMMI模式。
中華民國資訊軟體品質協會成立於2003年1月,成立
宗旨為推廣資訊軟體品質觀念、加強資訊軟體品質教
育、協助各界提升資訊軟體品質及促進資訊軟體品質
產、學、研合作。
國內 CMMI 推動情形 (2)
 行政院科技顧問組於『推動台灣策略性服務產業策略
規劃會議』第二次策略規劃會議結論:
提出「推廣CMMI認證制度,提升資訊服務業者之服務品質」--
鼓勵廠商建立制度提升服務規模與品質
 2007年促成 LEVEL-3廠商達50家
 2008年促成 LEVEL-3廠商達70家及LEVEL-5廠商達5家
2008年起大型政府e化專案採購及旗艦計劃之補助,廠商需
達CMMI Level-3以上方可參與
國內 CMMI 推動情形 (3)
•行政院科技顧問組於『推動台灣策略性服
務產業策略規劃會議』第二次策略規劃會議
結論:BEST旗艦計畫執行策略。
轉化國內產業
應用典範為產
品或服務
運用垂直分工水
平整合建構資訊
服務業合作體系
BEST計畫
集中資源扶植
重點旗艦業者
提升資訊服務業
國際市場拓展能力
國內導入 CMMI 的軟體公司
 已通過 CMMI Level 2 評鑑的機構 --- 18
 資策會-資訊系統實驗室 (2002.10.11) - 洪肇奎博士輔導
 碩網資訊 (2002.10.25) – Reuters Ltd.認證
 三商電腦-公共事業部 (2003.04.18) – 寶發科技顧問公司輔導
 工研院電通所-K組 (2003.09.04) – 洪肇奎博士輔導
 漢龍科技 (2004.7.16) – 洪肇奎博士輔導
 漢康資訊(2004.7.23) – 洪肇奎博士輔導
 中冠資訊(2004.7.30) – 洪肇奎博士輔導
 和平整合資訊 (2004.8.12) – 寶發科技顧問公司輔導
 中華電信研究所-IVAT (2004.10.20) – 洪肇奎博士輔導
 騰蒙科技(2004.11.26) – 寶發科技顧問公司輔導
國內導入 CMMI 的軟體公司 (2)










中山科學研究院資訊管理中心(2004.12.10) -台灣應用軟件公司輔導
資策會-電子商務實驗室 (2004.12.10) – TCS(TATA)顧問公司輔導
星動科技股份有限公司 (2004.12.27) - 寶發科技顧問公司輔導
資策會-網路及多媒體實驗室 (2004.12.20) - TCS(TATA)顧問公司輔導
工研院電通所網際網路軟體技術組與通訊系統組及資訊系統部
(2005.1)–洪肇奎博士輔導
新鼎系統股份有限公司(2005.7.21) - 寶發科技顧問公司輔導
鼎升數位科技(2005.8)–洪肇奎博士輔導
哈瑪星科技(2005.8) –洪肇奎博士輔導
啟台國際資訊 (2005.8) –洪肇奎博士輔導
中華電信數據分公司-GEIS (2005.9.16) –洪肇奎博士輔導
國內導入 CMMI 的軟體公司 (3)
 已通過 CMMI Level 3 評鑑的機構 --- 5
 資策會-資訊工程研究所 (2004.6.11) - 洪肇奎博士
輔導
 凌群電腦 (2004.6.25) – Trimentus Technologies公
司輔導
 神通資訊
 碩網資訊 (2005.11) - 鈺新科技輔導
精業電腦(2005.12.29) - 寶發科技顧問公司輔導
Government Source Selection and
Contract Process Monitoring Overview
(政府委外作業與合約流程監控概觀)
政府
(甲方)
採購計畫
供應商選擇與協議
軟體招標需求書
(Request for Proposals, RFP)
* 需求, 成本, 時程
供應商
(乙方)
準備需求
規劃書
供應商
協議
合約
追蹤與監控
狀態回報
里程碑審查
問題清單
矯正措施
接受交付與結案
客戶需求
接受測試準則
•Development
•確認(Validation)
•驗證(Verification) •Acceptance Tests
•Progress Reviews •交付
•Milestone Reviews
台灣採購流程的特性
•
•
•
•
軟體招標需求書(Request for Proposal,
RFP) 不明確。
軟體招標需求書的成本和時程不合理。
專案執行追蹤、監控與驗收的問題。
政府與供應商 雙方損失 (Government
and Suppliers Both Failure)。
建議
1. Establish & Maintain Government
Source Selection and Contract
Process Monitoring
•
•
•
•
成立專家團隊發展 Light-Weight CMMI 的委外
作業與合約流程監控指引 (Real-Life Example :
NASA JPL Template)
對政府採購人員提供了解CMMI 的訓練
選擇並執行先導計畫以獲得得執行 Light-Weight
CMMI 委外作業與合約流程監控的經驗
建立與執行知識有價
建議 (2)
2. Establish and Maintain Taiwan Software
Profile.
Industry
Projects
Academic
Technical Support
Academic
Analysis &
Packaging
建議 (3)
3. 垂直分工 & 水平整合
*CMMI Promotion &
*BEST
Company
#1
Company
#2
.
Company
#N
•CMMI評鑑輔導 – SEI SCAMPI
•BEST
•For Small Companies integrating
for CMMI Promotion
建議 (4)
4. 加強國際化,引進國外計畫讓臺灣具有
CMMI認證的公司能夠有機會接受案子。
– E.g. Promote Out-Sourcing Opportunity
from USA to Taiwan’s CMMI認證的公司。
– III, ITRI and Chunghwa Telecom. should
provide the driving forces, e.g., any project
60% outsourcing to industry
• 專業分工
• Provide Products and Services Quality Control
with CMMI Standard
解決方案 – CMMI Win-Win
規劃
需求
設計
品質保證
發展
測試
變更控制(Control Change)
發行控制(Release Control)
版本控制(Version Control)
維護
CMMI的目標是提升軟體工程的執行,
使得專案能更有效的完成和交付
Taiwan CMMI相關網站
• SPIN-Taiwan: (CMMI技術服務網)
– http://www.cmmi.org.tw/
• SPIN-Sournthren Taiwan: (CMMI技術服務網)
– http://www.spin-stw.org.tw/
• 自由軟體研發專案(Light-Weight CMMI)
– http://credit.csie.ncku.edu.tw/opensource/index.htm
•
中華民國資訊軟體品質協會:
–
http://www.csqa.org.tw/
• 中華民國資訊軟體協會:
–
http://www.cisanet.org.tw/
• 經濟部工業局軟體產業服務團:
–
http://www.itnet.org.tw/sinet/
Q&A
Download