Wednesday, April 7, 2010

ว่าด้วยเรื่อง CMMI

เมื่อไม่นานมานี้เพิ่งทราบข่าวจากเพื่อนว่าบริษัทที่ทำงานเก่าเพิ่งได้ CMMI LV5 เป็นบริษัทไทยบริษัทแรก ก็เลยลองเข้ามาหาข้อมูลแล้วก็วิเคราะห์ว่า CMMI คุ้มกับการลงทุนจริงหรือ

CMMI คืออะไร

CMMI ย่อมาจาก Capability Maturity Model Integration ซึ่งเป็นต้นแบบวัดวุฒิภาวะของการทำงานอย่างเป็นระบบโดยสถาบัน Software Engineering Institute (SEI) แห่งมหาวิทยาลัย คาร์เนกี เมลลอน ในสหรัฐอเมริกา โดย CMMI มีพื้นฐานความคิดบนหลักการคุณภาพว่า หากกระบวนการทำงานดี ผลลัพธ์ต้องดี ในทำนองเดียวกัน วุฒิภาวะความสามารถของบริษัทหรือหน่วยงานนั้น ก็ขึ้นอยู่กับผลการทำงานในอดีตของบริษัทหรือหน่วยงานนั้น SEI ได้พัฒนาต้นแบบวุฒิภาวะความสามารถออกมาเป็นห้าระดับ ดังนี้


  • ระดับแรก (Performed level) เป็นระดับเบื้องต้นซึ่งอาจกล่าวได้ว่า บริษัททั่วไปต่างก็อยู่ในระดับนี้ คือ ยังทำงานแบบไม่เป็นระบบ การทำงานต้องพึ่งผู้ที่มีประสบการณ์เป็นหลัก
  • ระดับที่สอง (Managed level) การทำงานจะมีความเป็นระบบมากขึ้น มีการนำหลักการจัดการโครงการมาใช้ในการบริหารงานของแต่ละโครงการ
  • ระดับที่สาม (Defined Level) เป็นระดับที่หน่วยงานได้จัดทำมาตรฐานการทำงานของหน่วยงานขึ้น โดยการพิจารณาปรับปรุงจากการดำเนินงานในระดับที่สอง ในระดับนี้การทำงานจะมีมาตรฐาน สามารถวัดและจัดเก็บสถิติผลการดำเนินงานเอาไว้ได้
  • ระดับที่สี่ (Quantitatively Managed Level) เป็นระดับที่นำเอาสถิติการดำเนินงานที่จัดเก็บไว้มาวิเคราะห์ เพื่อหาจุดบกพร่อง และแก้ไขข้อบกพร่องได้
  • ระดับที่ห้า (Optimizing level) เป็นระดับวุฒิภาวะสูงสุด เป็นระดับที่หน่วยงานดำเนินการปรับปรุง กระบวนการทำงานของตนเองอย่างต่อเนื่อง มีการจัดกระบวนการทำงานใหม่ ให้สอดคล้องกับเทคโนโลยีใหม่ๆ ที่เกิดขึ้น และมีการป้องกันไม่ให้ข้อบกพร่องเกิดขึ้น

ข้อมูลจาก : http://cmmi.wikidot.com/faq

แล้วทำไมต้องใช้ CMMI

  • CMMI เป็นหลักการหนึ่งที่เน้นกระบวนการพัฒนาซอฟต์แวร์เมื่อเทียบกับหลักการอื่น ไม่ว่าจะเป็น ISO, COBIT, etc. จะเห็นว่า CMMI เป็นหลักการที่มีแนวทางและรายละเอียดชัดเจนที่จะนำไปสู่การปฏิบัติตามได้ง่าย
  • CMMI เป็นหลักการสากลที่ได้รับการยอมรับอย่างกว้างขวางทั่วโลก ไม่ใช่เฉพาะหน่วยงานที่พัฒนาซอฟต์แวร์เท่านั้น ยังรวมถึงหน่วยงาน R&D ด้วยดังตารางด้านล่างนี้ เนคเทคซึ่งเป็นหน่วยงาน R&D เช่นกันดังนั้นถ้าเนคเทคมีกระบวนการทำงานที่เป็นสากล ก็สามารถที่จะทำงานร่วมกับหน่วยงานระดับชาติอื่นได้อย่างมีประสิทธิภาพ และนำไปสู่ความร่วมมือที่ยั่งยืนสามารถดูรายละเอียดของหน่วยงานที่ผ่านการประเมินตามหลักการ CMMI ทั่วโลกตาม
  • กระบวนการทำงาน มีความชัดเจน และเป็นระบบมากขึ้น กระบวนการมีการปรับปรุงอย่างต่อเนื่องเพื่อประโยชน์สูงสุดขององค์กร
  • มีเครื่องมือสนับสนุนกระบวนการทำงาน ทำให้การทำงานเป็นไปอย่างมีประสิทธิภาพมากยิ่งขึ้น
  • การทำงานร่วมกันของบุคลากร เป็นไปอย่างมีประสิทธิภาพ
  • บุคลากรของหน่วยปฏิบัติการรวมถึงบุคลากรใหม่สามารถทำงานได้อย่างมีประสิทธิภาพไม่ต้องคอยถามคนใดคนหนึ่ง
  • ผลิตภัณฑ์ที่ได้มีคุณภาพมากขึ้น เนื่องจากกระบวนการที่ดีนำไปสู่ผลงานที่ดี งานเป็นไปตามแผนที่กำหนด มีวิธีการ, องค์ความรู้ที่เกี่ยวข้องชัดเจน

CMMI ทำให้องค์กรคุ้มต่อการลงทุนหรือไม่

จากข้อมูลที่ผมหามาให้ด้านบน หลายคนอาจจะคิดว่า "อ้าว!!~ ถ้ามันดีขนาดนี้แล้วทำไมถึงจะไม่คุ้มล่ะ ทำไปเลย" แต่ช้าก่อน ทุกอย่างย่อมมีข้อดีและข้อเสียของตัวมันเองครับ ถ้าใช้หลักการวิเคราะห์แบบ SWOT Analysis หลายท่านอาจจะเห็นจุดเด่นและจุดด้อยของ CMMI ได้ชัดเจนมากยิ่งขึ้น ซึ่งผมขอวิเคราะห์เฉพาะ Main Key และจะรวมแบ่งเป็น 2 หัวข้อคือข้อดีและข้อเสียเท่านั้นนะครับ ไม่รวมรายละเอียดปลีกย่อย

ข้อดี

  • สิ่งที่สำคัญที่สุดที่สามารถดึงดูด Software House ทั้งน้อยใหญ่ให้หันมา Implement CMMI นั้นก็คือ" ชื่อเสียง " ครับ ผมเคยได้ยิน (ได้อ่าน) บทความนี้มาจากแหล่งหนึ่ง

Becoming CMMI Level 5 is a business
decision. If you want to bid on large government defense projects, CMMI
requirements may be mandatory.

นั่นกำลังจะบอกเราว่า Software House ที่มีมาตรฐานรับรองย่อมเป็นต่อ ซึ่งแน่นอนทุกคนรู้ดีถึงจุดนี้

  • การทำงานร่วมกันของบุคลากร เป็นไปอย่างมีประสิทธิภาพ แน่นอนว่าข้อนี้คือข้อดีของการ Implement CMMI เนื่องจากต้องทำเอกสารมากมาย ดังนั้นจึงไม่จำเป็นต้องมี "One Man Show" เพราะสามารถพึ่งพาเอกสารได้เช่นกัน

ข้อเสีย

  • ข้อเสียเพียงข้อเดียวแต่สามารถสร้างปัญหาให้กับองค์กรได้อย่างสาหัสของ CMMI ก็คือ "ความไม่พอเพียง" ครับ การที่ต้องทำเอกสารกองเท่าภูเขา (2 ลูก) และกลับกันจะเป็นการเพิ่มงานที่ไม่ได้ใช่ประโยชน์อย่างจริงจังหรือแม้กระทั่งการที่ไม่ Customize Process ตัด ต่อ เติม แต่ง ให้เหมาะสมกับองค์กร ซึ่งสามารถทำได้ถ้าไปถึง CMMI LV5 (Optimizing level เป็นระดับวุฒิภาวะสูงสุด เป็นระดับที่หน่วยงานดำเนินการปรับปรุง กระบวนการทำงานของตนเองอย่างต่อเนื่อง มีการจัดกระบวนการทำงานใหม่ ให้สอดคล้องกับเทคโนโลยีใหม่ๆ ที่เกิดขึ้น และมีการป้องกันไม่ให้ข้อบกพร่องเกิดขึ้น) ทำให้ผลที่ได้รับไม่คุ้มค่ากับการลงทุนเท่าที่ควร อีกทั้งองค์กรนั้นต้องปรับเปลี่ยนวัฒนธรรมองค์กรและการบริหารซึ่ง "เปลี่ยนยากมาก" เป็นที่รู้กันอยู่ทั่วไป และถ้าสังเกตุจะเห็นว่าหลายองค์กรในไทย ไม่ได้อยากใช้ CMMI จริงจัง เพียงแต่หวังบางอย่างจากผลพลอยได้ (ดูได้จากตัวแดงๆหนาๆ ที่เป็นภาษาอังกฤษด้านบน) จึงทำให้การใช้ CMMI Model ในไทยยังไม่ประสบความสำเร็จเท่าที่ควร เมื่อเปรียบเทียบกับ Agile ซึ่งอ้างอิงหลัก "(เขียนโปรแกรม ;P) พอเพียง" แล้ว Agile ดูจะเหมาะสมกับคำว่า "Work Smart not Work Hard" กว่า

สรุปคือ "ดีมาก" (ดูขัดแย้งกับข้อเสียใช่มะ) ถ้าเราปรับแต่งให้เข้ากับวัฒนธรรมและกระบวนการการทำงานขององค์กรอีกทั้งยังต้องได้รับความร่วมมือจากพนักงาน บุคลากร ไปจนถึงระดับผู้บริหาร แต่ทั้งนี้ทั้งนั้นการทำ Software Process Improvement ไม่สามารถแก้ไขได้โดยใช้ CMMI อย่างเดียว เพราะการแก้ปัญหานี้ไม่ใช่ว่าจะแก้ไขเฉพาะกระบวนการแต่องค์กรยังต้องแก้ไขทุกอย่างที่เกี่ยวข้องกับกระบวนการด้วย เหมือนการจูนเข้าหากันทั้ง 2 ฝ่าย

No comments:

Post a Comment