การวัดมาตรฐานซอฟแวร์ด้วย 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


Representation of cmmi

การทำ CMMI องค์กรสามารถเลือกการนำเสนอ(Representation) ในการปรับปรุงประสิทธิภาพขององค์กรได้ ซึ่งมี 2 ประเภทได้แก่ Stage Representation และ Continuous Representation
ซึ่งการมีทั้ง 2 รูปแบบให้เลือกทำนั้นก็เพื่อ มีทั้งคนที่คุ้นเคยกับรูปแบบที่เป็น staged หรือคุ้นเคยกับรูปแบบ continuous อยู่ก่อนหน้าที่ CMMI จะมี ดังนั้นเพื่อให้คนเหล่านี้สามารถปรับเข้ามาใช้ CMMI ได้ง่ายขึ้น CMMI จึงมีทั้ง 2 รูปแบบเพื่อรองรับ
Stage RepresentationContinuous Representation
1. เป็นรูปแบบเดิมที่ใช้ในโมเดล CMM1. องค์กรสามารถเลือก Process area มา 1 อัน และพัฒนาปรับปรุงประสิทธิภาพของ PA นั้นให้ดีขึ้น
2. มีการกำหนดระดับวุฒิภาวะ (Maturity level) ขององค์กรระดับ 1,...,52. จะวัดระดับความสามารถ (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 area2. มุ่งพัฒนาไปที่กลุ่มของ process area มองภาพทั้งอง์กร วัดระดับ maturity
3. ระดับที่วัดได้เหมาะสำหรับเป็นตัวชี้วัดภายในองค์กร3. สามารถใช้เป็นตัวชี้วัดประสิทธิภาพขององค์กรที่ภายนอกใช้ได้ หรือกรณีพิจารณาผู้รับจ้าง
4.เนื่องจาก path ของการทำ process improvement สามารถกำหนดเองได้ดังนั้นความคุ้มค่าของการลงทุนจึงขึ้นอยู่กับเราเอง4. path ของการทำ improvement ที่กำหนดในรูปแบบนี้ได้มาจากประสบการณ์ case study ที่เคยทำจริงในอุตสาหกรรมซึ่งพิสูจน์ว่าคุ้มค่าต่อการลงทุน
5.พัฒนามาจาก SECM มาเป็น CMMI (เทียบเคียงได้กับ ISO)5. พัฒนามาจาก CMM มาเป็น CMMI



อ้างอิง http://www.swpark.or.th/cmmiproject/index.php/general/73-what-cmmi

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

“Drone” เทคโนโลยีอากาศยานไร้คนขับ