CMMI(Capability Maturity Model Integration)
CMMI เป็นมาตรฐานในการปรับปรุงคุณภาพซอฟต์แวร์ให้มีประสิทธิภาพ เป็นที่รู้จักและยอมรับของสากล หากองค์กรใดได้รับ
CMMI (แล้วแต่ level) ถือว่าองค์กรนั้นมี product และกระบวนการพัฒนา product ที่มีประสิทธิภาพ เป็นที่น่าเชื่อถือของลูกค้า และเป็นตัวการันตีชิ้นงานที่ออกไป
ดังนั้นปัจจุบันองค์กรและบริษัทจำนวนมากต้องการนำ
CMMI มาใช้ปรับปรุงกระบวนการทำงานให้อยู่ในระดับที่ต้องการ (มี 5 ระดับ)
CMMI จะมีวิธีการหรือขั้นตอน (process improvement) เพื่อพัฒนาปรับปรุงคุณภาพของผลิตภัณฑ์ (product,service) ให้มีประสิทธิภาพ ตั้งแต่กระบวนการออกแบบ จนถึงการส่งมอบ (Release) และการบำรุงรักษา (Maintainance) เพื่อให้ทุกองค์กรนำไปใช้ปรับปรุงคุณภาพซอฟต์แวร์ ปัจจุบันเป็น CMMI version 1.2 (สิงหาคม 2006)
CMMI ในเวอร์ชั่น 1.2 ประกอบไปด้วย 22 process areas ที่วัดได้จาก capability หรือ maturity levels (ซึ่งจะอธิบายต่อไป) โดย CMMI พัฒนามาจาก
Software Engineering Institute (SEI)
ก่อนหน้าที่จะมี CMMI นั้นมีโมเดลที่ใช้วัดประสิทธิภาพของกระบวนการพัฒนา เช่น
แต่เกิดปัญหาความยุ่งยากซับซ้อน เพราะมีหลายตัวเกินไป บางอย่างเป็นเรื่องเดียวกัน แต่เรียกคนละชื่อก็เกิดความสับสน จึงรวมเป็นตัวเดียวในปัจจุบันคือ CMMI
องค์ประกอบที่สำคัญในการเพิ่มประสิทธิภาพของการผลิต ได้แก่
- คน (people)
- วิธีการผลิตและการบำรุงรักษา (Procedure , Method)
- เครื่องมือที่ช่วยในการผลิต (Tools)
CMMI แก้ปัญหาความยุ่งยากในการใช้ Process Model หลายโมเดลที่แต่ละโมเดลก็จะเกี่ยวกับงานในแต่ละด้าน
CMMI เป็นการรวมหลายๆ Process Models เข้าเป็นโมเดลเดียวโดยได้รวม 3 โมเดลต่อไปนี้คือ
- The Capability Maturity Model for Software (SW-CMM) เวอร์ชั่น 2.0
- The Systems Engineering Capability Model[1] (SECM) หรือรู้จักในอีกชื่อว่า Electronic Industries Alliance 731
- The Integrated Product Development Capability Maturity Model (IPD-CMM) เวอร์ชั่น 0.98
ProcessAreas เป็นกลุ่มของ Best Practices ที่ต้องนำไปปฏิบัติตามแล้วจะทำให้บรรลุวัตถุประสงค์ของงานนั้นๆ หรืออาจมองว่าเป็นแนวทางการปรับปรุงกระบวนการทำงานด้านต่างๆ ซึ่งแต่ละงานอาจต้องทำหลาย process area ก็ได้ ซึ่งจะเป็น guildline ที่ดีที่จะช่วยให้องค์กรที่ต้องการทำ
CMMI นำไปปฏิบัติ
ใน CMMI มี 22 process area
- Causal Analysis and Resolution (CAR)
- Configuration Management (CM)
- Decision Analysis and Resolution (DAR)
- Integrated Project Management (IPM)
- Measurement and Analysis (MA)
- Organizational Innovation and Deployment (OID)
- Organizational Process Definition (OPD)
- Organizational Process Focus (OPF)
- Organizational Process Performance (OPP)
- Organizational Training (OT)
- Product Integration (PI)
- Project Monitoring and Control (PMC)
- Project Planning (PP)
- Process and Product Quality Assurance (PPQA)
- Quantitative Project Management (QPM)
- Requirements Development (RD)
- Requirements Management (REQM)
- Risk Management (RM)
- Supplier Agreement Management (SAM)
- Technical Solution (TS)
- Validation (VAL)
- Verification (VER)
การทำ CMMI องค์กรสามารถเลือกการนำเสนอ(Representation) ในการปรับปรุงประสิทธิภาพขององค์กรได้ ซึ่งมี 2 ประเภทได้แก่
Stage Representation และ
Continuous Representation
ซึ่งการมีทั้ง 2 รูปแบบให้เลือกทำนั้นก็เพื่อ มีทั้งคนที่คุ้นเคยกับรูปแบบที่เป็น staged หรือคุ้นเคยกับรูปแบบ continuous อยู่ก่อนหน้าที่ CMMI จะมี ดังนั้นเพื่อให้คนเหล่านี้สามารถปรับเข้ามาใช้ CMMI ได้ง่ายขึ้น CMMI จึงมีทั้ง 2 รูปแบบเพื่อรองรับ
| Stage Representation | Continuous Representation |
| 1. เป็นรูปแบบเดิมที่ใช้ในโมเดล CMM | 1. องค์กรสามารถเลือก Process area มา 1 อัน และพัฒนาปรับปรุงประสิทธิภาพของ PA นั้นให้ดีขึ้น |
| 2. มีการกำหนดระดับวุฒิภาวะ (Maturity level) ขององค์กรระดับ 1,...,5 | 2. จะวัดระดับความสามารถ (Capability level) ของงานแต่ละด้าน |
| 3. แต่ละระดับต้องมีการปรับปรุง process area(PA) | 3. มีความยืดหยุ่นกว่าแบบ Stage เพราะองค์กรสามารถเลือก PA ที่ต้องการจะปรับปรุง |
| 4. มีเส้นทางในการทำ CMMI เพราะทำตาม PA ที่มีให้ครบก็ถือว่าผ่าน | 4.หรืออาจเลือกหลาย PA ที่ตรงกับวัตถุประสงค์เชิงธุรกิจ |