วันพุธที่ 18 มีนาคม พ.ศ. 2552

CMMI(Capability Maturity Model Integration)

ช่วงนี้กำลังสนใจเกี่ยวกับ Software development พอดีแว้ปไปเห็นการพัฒนาการของ Software โดยใช้ CMMI น่าสนใจดีนะลองดูกันเลยครับ

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.98
ที่มาและรายละเอียดลึกๆลองเข้าไปดูเวบนี้ครับ http://wiki.nectec.or.th/setec/Knowledge/CMMI