能力成熟度模型

能力成熟度模型(CMM, Capability Maturity Model)是以軟體開發專案的自我能力改進及軟體承包商的選定作為研究的目標[1],在初期發展階段,CMM的用途是協助美國國防部等政府單位進行重要軟體外包作業時,作為分析軟體廠商開發能力,以及評選合格軟體承包商的工具。

CMM涵蓋一個成熟的軟體發展組織所應具備的重要功能與項目,它描述了軟體發展的演進過程,從毫無章法、不成熟的軟體開發階段到成熟軟體開發階段的過程。以CMM的架構而言,它涵蓋了規劃、軟體工程、管理、軟體開發及維護等技巧,若能確實遵守規定的關鍵技巧,可協助提升軟體部門的軟體設計能力,達到成本、時程、功能與品質的目標。

歷史

1984年在美國國防部的支持下,卡內基美隆大學(Carnegie Mellon University, CMU)成立了軟體工程學院(Software Engineering Institute, SEI)。1986年11月,在Mitre公司的協助下,開始發展一套幫助軟體業者,改善軟體流程的流程成熟度架構(process maturity framework)。

卡內基美隆大學軟體工程研究所在1987年完成以軟體流程評鑑(Software Process Assessment, SPA)與軟體能力評估(Software Capability Evaluation, SCE)為基礎的能力成熟度模型(CMM, Capability Maturity Model)。1987年6月,SEI發表軟體流程成熟度架構摘要,9月出版基本成熟度問卷,協助業者找出軟體流程需要改善之處。

1991年,SEI正式發表軟體能力成熟度模型CMM 1.0,並在隔年4月舉辦座談會。在綜合超過400位軟體專家的意見之後,又於1993年發表SW-CMM 1.1修正版。SW-CMM 的核心是以軟體開發流程作為全面品質管理(Total Quality Management, TQM)改善的架構,提升組織管理軟體開發的能力。SW-CMM的成功,促使其他學門也相繼開發出類似的流程改善模型;例如,系統工程(SE-CMM)、集成產品開發(IPD-CMM)、需求工程、人力資源、軟體採購等,都從CMM 衍生出一套改善模型。[2]

一般認為,CMM並不涉及到具體的軟體流程的細節,僅僅是關注了制定、管理、控制軟體流程所必須關注的管理要點,但是在某些情況下,CMM的確暗含了某種脫胎於國防工程的過程樣式,在指導商業企業依據SW-CMM/CMMI等進行流程改進時,必須充分了解到這一點。

它用于衡量軟體企業的開發管理水平,既可作為軟體發包方評估承包方執行能力的參考標準,也可以被軟體企業作為軟體流程改進工作的參考模型。實際上,CMM已經發展成為了眾多標準的集合體,比如關於人力資源People-CMM英語People Capability Maturity Model,關於軟體採辦的SA-CMM等等。

發展時程

若要開發出高效率、高質量及低成本的軟體,就必須從改善軟體生產流程著手。這是CMMI的基本信仰,認為流程的能力,會影響到最終產品品質。因此,CMM初始的作者-Watt Humphrey大量借用許多TQM與Philip Crosby的品質管理成熟度矩陣,作為改善軟體開發的基礎。[3]

新的品質管理標準,如EIA/IS 731的出現,也刺激了CMM的發展。從1997年開始,SEI開始新的整合計畫,並在2000年8月發表了CMMI-SE/SW 1.0版本,提供一個整合性的架構,將當時的SW-CMM v2.0 draft C(軟體能力成熟度模型)、SECM[4](系統工程能力模型)與IPD-CMM v0.98(集成產品開發能力成熟度模型)等三種模型,整合到統一的框架內,並進一步強化對某些流程領域(例:需求風險、工程管理)的重視。

1984:成立Software Engineering Institute(SEI)。

1987:發表CMM技術報告初稿。

1989:發表第一本有關軟體成熟度架構的著作。

1991:發表CMM 1.0。

1993/1994:發表CMM 1.1以及PSP(Personal Software Process)。

1995:發表各種專門化的CMM,包括針對軟體採購(SA-CMM)、系統工程(SE-CMM)、集成產品開發(IPD-CMM),以及人力資源管理(People-CMM)。

1996:TSP(Team Software Process)發表。

1997:新的品質管理標準,如EIA/IS 731出現;開始CMMI整合計畫。

2000:發表CMMI 1.0。

2001:發表CMMI 1.1。

2006:發表CMMI 1.2。

2010:發表CMMI 1.3。

歷經20年的沿革,SEI不斷地延展CMM意涵與適用性,如今的CMMI模式包含了系統工程(Systems Engineering, SE)、軟體工程(Software Engineering, SW)、整合產品與流程發展(Integrated Product and Process Development, IPPD),以及委外作業(Supplier Sourcing, SS)四個專業領域。不只涵蓋原有的CMM,還將系統工程標準EIA 731、國際品保ISO等標準整合起來。

相關條目

參考來源

https://www.dropbox.com/s/k7wxzvffscascsb/ipd%20manufacture.txt?dl=0

  1. ^ (Paulk et al., 1993)
  2. ^ 鄭炳強. 軟體工程:從實務出發(Software Engineering: A Perspective from Practices). 智勝文化事業有限公司. 2007. ISBN 978-957-729-659-7. 
  3. ^ P.B. Crosby. Quality is Free: The Art of Making Quality Certain. 美國: McGraw-Hill. 1979. 
  4. ^ EIA IS 731 compared to CMMISM-SE/SW. 31 Jan 2002 [26 Sep 2009]. [永久失效連結]

外部連結