CMMI คือ อะไร?

CMMI คือ มาตรฐานกระบวนการในการพัฒนางาน ย่อมาจาก Capability Maturity Model Integration ผู้กำหนดมาตรฐานนี้ คือ สถาบันวิศวกรรมซอฟต์แวร์ มหาวิทยาลัยคาร์เนกี้เมลลอน สหรัฐอเมริกา (Software Engineering Institute, Carnegie Mellon University, USA)

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 นั้นมีโมเดลที่ใช้วัดประสิทธิภาพของกระบวนการพัฒนา เช่น

  • SW-CMM
  • SECM
  • IPD-CMM

แต่เกิดปัญหาความยุ่งยากซับซ้อน เพราะมีหลายตัวเกินไป บางอย่างเป็นเรื่องเดียวกัน แต่เรียกคนละชื่อก็เกิดความสับสน จึงรวมเป็นตัวเดียวในปัจจุบันคือ CMMI

องค์ประกอบที่สำคัญในการเพิ่มประสิทธิภาพของการผลิต ได้แก่

  1. คน (people)
  2. วิธีการผลิตและการบำรุงรักษา (Procedure , Method)
  3. เครื่องมือที่ช่วยในการผลิต (Tools)

clip_image002.jpg

CMMI แก้ปัญหาความยุ่งยากในการใช้ Process Model หลายโมเดลที่แต่ละโมเดลก็จะเกี่ยวกับงานในแต่ละด้าน CMMI เป็นการรวมหลายๆ Process Models เข้าเป็นโมเดลเดียวโดยได้รวม 3 โมเดลต่อไปนี้คือ

  1. The Capability Maturity Model for Software (SW-CMM) เวอร์ชั่น 2.0
  2. The Systems Engineering Capability Model[1] (SECM) หรือรู้จักในอีกชื่อว่า Electronic Industries Alliance 731
  3. The Integrated Product Development Capability Maturity Model (IPD-CMM) เวอร์ชั่น 0.98Edit

Process Area

ProcessAreas เป็นกลุ่มของ Best Practices ที่ต้องนำไปปฏิบัติตามแล้วจะทำให้บรรลุวัตถุประสงค์ของงานนั้นๆ หรืออาจมองว่าเป็นแนวทางการปรับปรุงกระบวนการทำงานด้านต่างๆ ซึ่งแต่ละงานอาจต้องทำหลาย process area ก็ได้ ซึ่งจะเป็น guildline ที่ดีที่จะช่วยให้องค์กรที่ต้องการทำ CMMIนำไปปฏิบัติ


clip_image003.gif

ใน 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)

Representation of cmmi

การทำ CMMI องค์กรสามารถเลือกการนำเสนอ(Representation) ในการปรับปรุงประสิทธิภาพขององค์กรได้ ซึ่งมี 2 ประเภทได้แก่ Stage Representation และ Continuous Representation

ซึ่งการมีทั้ง 2 รูปแบบให้เลือกทำนั้นก็เพื่อ มีทั้งคนที่คุ้นเคยกับรูปแบบที่เป็น staged หรือคุ้นเคยกับรูปแบบ continuous อยู่ก่อนหน้าที่ CMMI จะมี ดังนั้นเพื่อให้คนเหล่านี้สามารถปรับเข้ามาใช้ CMMI ได้ง่ายขึ้น CMMI จึงมีทั้ง 2 รูปแบบเพื่อรองรับ

Stage RepresentationContinuous 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 ที่ตรงกับวัตถุประสงค์เชิงธุรกิจ

 

วิธีการเลือก Representation Model

Continuous Representation/Stage Representation
องค์กรยังไม่เคยทำ process implovement (กระบวนการพัฒนา) มาก่อนสามารถเลือกรูปแบบใดก็ได้
1. ถ้าความรู้เริ่มต้นด้าน process มีน้อยควรเลือกแบบ stage เพราะมี path บอกเลยว่าจะต้องปรับปรุงกระบวนใน PA ไหนบ้าง
2. ถ้าองค์กรมีความรู้ระดับนึงแล้ว หรือคุ้นเคยกับการทำแบบ stage มาแล้ว มาก่อนเช่น CMM เค้าแนะนำให้ใช้แบบ stage ก่อน จนเข้าใจดีแล้วค่อยประยุกต์ใช้ continuous
3. ถ้าองค์กรเคยทำ System Engineering มาก่อนให้เลือก Continuous Representation
4. ถ้าองค์กรเคยทำ CMM มาก่อนให้เลือก Stage Representation

ตารางเปรียบเทียบข้อดี - ข้อเสีย

Continuous RepresentationStage Representation
1. มีอิสระจะทำทเรื่องไหนก็ได้ แค่ไหนก็ได้ ทำได้ตามเป้าหมายขององค์กร 1. ไม่ต้องคิดเองว่าในแต่ละช่วงเวลา จะปรับปรุง Process Areas ใดก่อนหลัง ทำแค่ไหนพอในแต่ละช่วงเวลา
2. สามารถยกระดับความสามารถของ level ในการพัฒนาแยกในแต่ละ process area 2. มุ่งพัฒนาไปที่กลุ่มของ process area มองภาพทั้งอง์กร วัดระดับ maturity
3. ระดับที่วัดได้เหมาะสำหรับเป็นตัวชี้วัดภายในองค์กร 3. สามารถใช้เป็นตัวชี้วัดประสิทธิภาพขององค์กรที่ภายนอกใช้ได้ หรือกรณีพิจารณาผู้รับจ้าง
4.เนื่องจาก path ของการทำ process improvement สามารถกำหนดเองได้ดังนั้นความคุ้มค่าของการลงทุนจึงขึ้นอยู่กับเราเอง 4. path ของการทำ improvement ที่กำหนดในรูปแบบนี้ได้มาจากประสบการณ์ case study ที่เคยทำจริงในอุตสาหกรรมซึ่งพิสูจน์ว่าคุ้มค่าต่อการลงทุน
5.พัฒนามาจาก SECM มาเป็น CMMI (เทียบเคียงได้กับ ISO) 5. พัฒนามาจาก CMM มาเป็น CMMI

 

ตารางเปรียบเทียบ Level


compare.png

ข้อมูลจาก http://wiki.nectec.or.th/setec/Knowledge/CMMI