Capability Maturity Model (CMM) และระดับในวิศวกรรมซอฟต์แวร์

CMM คืออะไร?

Capability Maturity Model ใช้เป็นเกณฑ์มาตรฐานในการวัดความสมบูรณ์ของกระบวนการซอฟต์แวร์ขององค์กร

CMM ได้รับการพัฒนาที่สถาบันวิศวกรรมซอฟต์แวร์ในช่วงปลายทศวรรษที่ 80 ได้รับการพัฒนาจากการศึกษาที่ได้รับทุนสนับสนุนจากกองทัพอากาศสหรัฐเพื่อใช้ในการประเมินการทำงานของผู้รับเหมาช่วง Later ตามโมเดล CMM-SW ที่สร้างขึ้นในปี 1991 เพื่อประเมินความสมบูรณ์ของการพัฒนาซอฟต์แวร์ รุ่นอื่น ๆ หลายรุ่นถูกรวมเข้ากับ CMM-I

แบบจำลองความสามารถครบกำหนด

ระดับของ Capability Maturity Model (CMM) คืออะไร

  1. แรกเริ่ม
  2. ทำซ้ำ/จัดการได้
  3. ที่กำหนดไว้
  4. บริหารจัดการเชิงปริมาณ
  5. การเพิ่มประสิทธิภาพ

ระดับความสามารถครบกำหนดแบบจำลอง (CMM)

จะเกิดอะไรขึ้นในระดับต่างๆ ของ CMM?

Levels กิจกรรม ประโยชน์
ระดับ 1 เริ่มต้น
  • ที่ระดับ 1 กระบวนการนี้มักจะวุ่นวายและเป็นเฉพาะกิจ
  • ความสามารถถูกกำหนดลักษณะเฉพาะบนพื้นฐานของบุคคล ไม่ใช่จากองค์กร
  • ไม่ได้วัดความก้าวหน้า
  • ผลิตภัณฑ์ที่พัฒนามักมีกำหนดเวลาและเกินงบประมาณ
  • กำหนดการ ต้นทุน ฟังก์ชันการทำงาน และเป้าหมายคุณภาพมีความหลากหลาย
ไม่มี. โครงการคือ Total Chaos
ระดับ 2 จัดการแล้ว
  • การจัดการความต้องการ
  • ประมาณการพารามิเตอร์ของโครงการ เช่น ต้นทุน กำหนดการ และฟังก์ชันการทำงาน
  • วัดความก้าวหน้าที่เกิดขึ้นจริง
  • พัฒนาแผนและกระบวนการ
  • มีการกำหนดมาตรฐานโครงการซอฟต์แวร์
  • ระบุและควบคุมผลิตภัณฑ์ รายงานปัญหาการเปลี่ยนแปลง ฯลฯ
  • กระบวนการอาจแตกต่างกันระหว่างโครงการ
  • กระบวนการต่างๆ เข้าใจได้ง่ายขึ้น
  • ผู้จัดการและสมาชิกในทีมใช้เวลาน้อยลงในการอธิบายวิธีการต่างๆ และมีเวลามากขึ้นในการดำเนินการ
  • โครงการได้รับการประมาณค่าที่ดีขึ้น มีการวางแผนที่ดีขึ้น และมีความยืดหยุ่นมากขึ้น
  • คุณภาพถูกบูรณาการเข้ากับโครงการ
  • ต้นทุนอาจสูงในช่วงแรกแต่จะลดลงตามค่าล่วงเวลา
  • สอบถามเอกสารและเอกสารเพิ่มเติม
กำหนดระดับ-3
  • ชี้แจงความต้องการของลูกค้า
  • แก้ปัญหาข้อกำหนดด้านการออกแบบ พัฒนากระบวนการนำไปใช้งาน
  • ตรวจสอบให้แน่ใจว่าผลิตภัณฑ์ตรงตามข้อกำหนดและการใช้งานตามวัตถุประสงค์
  • วิเคราะห์การตัดสินใจอย่างเป็นระบบ
  • แก้ไขและควบคุมปัญหาที่อาจเกิดขึ้น
  • การปรับปรุงกระบวนการกลายเป็นมาตรฐาน
  • โซลูชันก้าวหน้าจากการ "เข้ารหัส" ไปสู่ ​​"วิศวกรรม"
  • ประตูคุณภาพจะปรากฏขึ้นตลอดความพยายามของโครงการโดยทั้งทีมมีส่วนร่วมในกระบวนการนี้
  • ความเสี่ยงจะลดลงและอย่าทำให้ทีมประหลาดใจ
ระดับ 4 จัดการเชิงปริมาณ
  • จัดการกระบวนการของโครงการและกระบวนการย่อยทางสถิติ
  • ทำความเข้าใจประสิทธิภาพของกระบวนการ จัดการโครงการขององค์กรในเชิงปริมาณ
  • ปรับประสิทธิภาพของกระบวนการให้เหมาะสมทั่วทั้งองค์กร
  • ส่งเสริมการจัดการโครงการเชิงปริมาณในองค์กร
การเพิ่มประสิทธิภาพระดับ 5
  • ตรวจจับและกำจัดสาเหตุของข้อบกพร่องตั้งแต่เนิ่นๆ
  • ระบุและปรับใช้เครื่องมือใหม่และการปรับปรุงกระบวนการเพื่อตอบสนองความต้องการและวัตถุประสงค์ทางธุรกิจ
  • ส่งเสริมนวัตกรรมและการปรับใช้ขององค์กร
  • ให้แรงผลักดันในการวิเคราะห์เชิงสาเหตุและการแก้ไข

แผนภาพต่อไปนี้แสดงภาพตัวแทนของสิ่งที่เกิดขึ้นในระดับ CMM ที่แตกต่างกัน

ระดับต่างๆของ CMM

การติดตั้ง CMM ใช้เวลานานเท่าใด?

CMM เป็นกระบวนการที่เป็นที่ต้องการมากที่สุดในการรักษาคุณภาพของผลิตภัณฑ์สำหรับบริษัทพัฒนาซอฟต์แวร์ใดๆ แต่การใช้งานจะใช้เวลานานกว่าที่คาดไว้เล็กน้อย

  • การใช้งาน CMM ไม่ได้เกิดขึ้นข้ามคืน
  • มันไม่ใช่แค่ “เอกสาร” เท่านั้น
  • เวลาปกติในการดำเนินการคือ
  • เดือน 3 6- -> เพื่อการเตรียมการ
  • เดือน 6 12- -> เพื่อนำไปปฏิบัติ
  • 3 เดือน -> เพื่อเตรียมการประเมิน
  • 12 เดือน ->สำหรับแต่ละระดับใหม่

โครงสร้างภายในของ CMM

แต่ละระดับใน CMM ถูกกำหนดไว้เป็น พื้นที่กระบวนการสำคัญหรือ KPAยกเว้นระดับ 1 KPA แต่ละชุดจะกำหนดกลุ่มกิจกรรมที่เกี่ยวข้อง ซึ่งเมื่อดำเนินการร่วมกันจะบรรลุเป้าหมายชุดหนึ่งที่ถือว่ามีความสำคัญต่อการปรับปรุงความสามารถของซอฟต์แวร์

สำหรับระดับ CMM ที่แตกต่างกัน จะมีชุดของ KPA เช่น สำหรับ CMM รุ่น 2, KPA คือ

  • REQM- การจัดการความต้องการ
  • PP- การวางแผนโครงการ
  • PMC- การติดตามและควบคุมโครงการ
  • SAM- การจัดการข้อตกลงซัพพลายเออร์
  • PPQA-กระบวนการและการประกันคุณภาพ
  • การจัดการการกำหนดค่า CM

ในทำนองเดียวกัน สำหรับโมเดล CMM อื่นๆ คุณมี KPA ที่เฉพาะเจาะจง หากต้องการทราบว่าการนำ KPA ไปปฏิบัตินั้นมีประสิทธิผล ยั่งยืน และทำซ้ำได้หรือไม่ ให้ทำการระบุ KPA ตามพื้นฐานต่อไปนี้

  1. ความมุ่งมั่นในการดำเนินการ
  2. ความสามารถในการดำเนินการ
  3. กิจกรรมดำเนินการ
  4. การวัดและการวิเคราะห์
  5. การตรวจสอบการใช้งาน

ข้อจำกัดของรุ่น CMM

  • CMM เป็นตัวกำหนดว่ากระบวนการควรจัดการอย่างไร แทนที่จะพิจารณาว่าควรนำไปปฏิบัติอย่างไร
  • ไม่ได้อธิบายทุกความเป็นไปได้ของการปรับปรุงกระบวนการซอฟต์แวร์
  • โดยมุ่งเน้นที่ปัญหาด้านซอฟต์แวร์แต่ไม่ได้พิจารณาถึงการวางแผนธุรกิจเชิงกลยุทธ์ การใช้เทคโนโลยี การสร้างสายผลิตภัณฑ์ และการจัดการทรัพยากรมนุษย์
  • ไม่ได้บอกว่าองค์กรควรอยู่ในธุรกิจประเภทใด
  • CMM จะไม่มีประโยชน์ในโครงการที่กำลังเกิดวิกฤติในขณะนี้

ทำไมต้องใช้ CMM?

ปัจจุบัน CMM ทำหน้าที่เป็น "ตรารับรอง" ในอุตสาหกรรมซอฟต์แวร์ ช่วยปรับปรุงคุณภาพซอฟต์แวร์ได้หลายวิธี

  • โดยจะชี้แนะกระบวนการมาตรฐานที่สามารถทำซ้ำได้ และด้วยเหตุนี้ จึงช่วยลดเวลาการเรียนรู้เกี่ยวกับวิธีการทำงานต่างๆ ให้สำเร็จ
  • การฝึกปฏิบัติ CMM หมายถึงการฝึกปฏิบัติโปรโตคอลมาตรฐานสำหรับการพัฒนา ซึ่งไม่เพียงแต่ช่วยให้ทีมประหยัดเวลา แต่ยังให้มุมมองที่ชัดเจนว่าต้องทำอะไรและคาดหวังอะไร
  • กิจกรรมที่มีคุณภาพเข้ากับโครงการได้ดีแทนที่จะมองว่าเป็นกิจกรรมแยกต่างหาก
  • ทำหน้าที่เป็นตัวสัญจรระหว่างโครงการและทีมงาน
  • ความพยายามของ CMM มุ่งสู่การปรับปรุงกระบวนการอยู่เสมอ

สรุป

CMM เปิดตัวครั้งแรกในช่วงปลายยุค 80 ในกองทัพอากาศสหรัฐฯ เพื่อประเมินการทำงานของผู้รับเหมาช่วง Later ได้มีการนำเวอร์ชันที่ได้รับการปรับปรุงมาใช้เพื่อติดตามคุณภาพของระบบการพัฒนาซอฟต์แวร์

ระดับ CMM ทั้งหมดแบ่งออกเป็นห้าระดับ

  • ระดับ 1 (เริ่มต้น): เมื่อข้อกำหนดสำหรับระบบมักจะไม่แน่นอน เข้าใจผิด และไม่มีการควบคุม กระบวนการนี้มักจะวุ่นวายและเป็นเฉพาะกิจ
  • ระดับ 2 (จัดการ): ประมาณการต้นทุนโครงการ กำหนดการ และฟังก์ชันการทำงาน มีการกำหนดมาตรฐานซอฟต์แวร์
  • ระดับ 3 (กำหนด): ตรวจสอบให้แน่ใจว่าผลิตภัณฑ์ตรงตามข้อกำหนดและการใช้งานตามวัตถุประสงค์
  • ระดับ 4 (จัดการเชิงปริมาณ): จัดการกระบวนการของโครงการและกระบวนการย่อยทางสถิติ
  • ระดับ 5 (ครบกำหนด): ระบุและปรับใช้เครื่องมือใหม่และการปรับปรุงกระบวนการเพื่อตอบสนองความต้องการและวัตถุประสงค์ทางธุรกิจ