CMMI : Capability Maturity Model Integration
ในทุกอุตสาหกรรม เต็มไปด้วยการแข่งขัน ในอุตสาหกรรมการพัฒนาซอฟต์แวร์ก็เช่นกัน บริษัททั้งยักษ์เล็กยักษ์ใหญ่ต่างโหมโฆษณาว่าบริษัทของตนมีความสามารถ เพื่อที่ลูกค้าจะได้พิจารณาตกลงจ้างงาน บริษัท ที่ผ่านการประเมินคุณภาพในกระบวนการการพัฒนาซอฟต์แวร์ ทั้งระดับมาตรฐาน ISO29110 , CMMI Level 2 และ Level 3 จะมีผลต่อความเชื่อมมั่นของลูกค้า ทำให้ลูกค้าเกิดความมั่นใจว่าซอฟต์แวร์ที่ผลิตโดยบริษัทเหล่านั้น จะผ่านกระบวนการการพัฒนาที่มีคุณภาพ ตามมาตรฐานสากลที่ทั่วโลกยอมรับ
CMMI ย่อมาจาก Capability Maturity Model Integration เป็นต้นแบบของการวัดวุฒิภาวะความสามารถในการทำงาน ที่ทางสถาบัน Software Engineering Institute (SEI) แห่งมหาวิทยาลัย คาร์เนกี เมลลอน ในสหรัฐอเมริกาได้พัฒนาขึ้น ให้แก่กระทรวงกลาโหมสหรัฐอเมริกา
หลักการของ CMMI ก็คือ ความสำเร็จในการทำงานใดๆ ในอนาคตของบริษัทหรือหน่วยงาน ขึ้นอยู่กับระดับวุฒิภาวะความสามารถ ในการทำงานของบริษัทหรือหน่วยงานนั้น ในทำนองเดียวกัน วุฒิภาวะความสามารถของบริษัทหรือหน่วยงานนั้น ก็ขึ้นอยู่กับผลการทำงานในอดีตของบริษัทหรือหน่วยงานนั้น SEI ได้พัฒนาต้นแบบวุฒิภาวะความสามารถออกมาเป็นห้าระดับ กล่าวคือ
วุฒิภาวะความสามารถ CMMI ได้รับความสนใจนำไปใช้ในด้านต่างๆ เช่น CMMI ทางด้านซอฟต์แวร์นั้น ก็ได้รับความสนใจจากบริษัทผู้ผลิตซอฟต์แวร์หลายแห่งทั่วโลก บริษัทที่ประเมินผ่านวุฒิภาวะระดับต่างๆ นั้น ได้รับความเชื่อถือจากลูกค้าด้วยดี และในบางแห่งก็มีการกำหนดระดับ CMMI ของบริษัทที่จะเข้ารับงานด้วย เช่นในสหรัฐอเมริกานั้น กระทรวงกลาโหมกำหนดว่า บริษัทที่จะเข้ารับประมูลงานซอฟต์แวร์ได้ จะต้องมีวุฒิภาวะความสามารถ CMMI ระดับที่ 3 เป็นอย่างน้อย นั่นก็คือกระทรวงกลาโหมจะมั่นใจในกระบวนการซอฟต์แวร์ของบริษัทว่า จะสามารถผลิตงานซอฟต์แวร์ตามที่กระทรวงกำหนดได้จริงๆ
CMMI จะมีวิธีการหรือขั้นตอน (process improvement) เพื่อพัฒนาปรับปรุงคุณภาพของผลิตภัณฑ์ (product , service) ให้มีประสิทธิภาพ ตั้งแต่กระบวนการออกแบบ จนถึงการส่งมอบ (Release) และการบำรุงรักษา (Maintenance) เพื่อให้ทุกองค์กรนำไปใช้ปรับปรุงคุณภาพซอฟต์แวร์ ปัจจุบันเป็น CMMI version 1.3 (สามารถดูรายละเอียดเพิ่มเติมได้ที่ http://cmmiinstitute.com/ )
มาตรฐานการประเมินด้วย CMMI จะใช้กลุ่มหัวข้อการประเมินที่เรียกว่า Process Area เป็นแกนในการดำเนินการ โดย Process Areas เป็นกลุ่มของ Best Practices ที่ต้องนำไปปฏิบัติตามแล้วจะทำให้บรรลุวัตถุประสงค์ของงานนั้นๆ หรืออาจมองว่าเป็นแนวทางการปรับปรุงกระบวนการทำงานด้านต่างๆ ซึ่งแต่ละงานอาจต้องทำหลาย process area ก็ได้ ซึ่งจะเป็น Guide line ที่ดีที่จะช่วยให้องค์กรที่ต้องการทำ CMMI นำไปปฏิบัติ โดย ใน CMMI for Development มี 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)
ใน EP 2 จะได้เริ่มอธิบาย Process Area (PA) ต่าง ๆ ที่การทำ CMMI แต่ละ Level กำหนดให้ทำ เพื่อให้ผ่านการประเมิน โดยอาจจะเน้นและขยายความในบาง PA