Capability Maturity Model (CMM) และระดับในวิศวกรรมซอฟต์แวร์
CMM คืออะไร?
Capability Maturity Model ใช้เป็นเกณฑ์มาตรฐานในการวัดความสมบูรณ์ของกระบวนการซอฟต์แวร์ขององค์กร
CMM ได้รับการพัฒนาที่สถาบันวิศวกรรมซอฟต์แวร์ในช่วงปลายทศวรรษที่ 80 ได้รับการพัฒนาจากการศึกษาที่ได้รับทุนสนับสนุนจากกองทัพอากาศสหรัฐเพื่อใช้ในการประเมินการทำงานของผู้รับเหมาช่วง Later ตามโมเดล CMM-SW ที่สร้างขึ้นในปี 1991 เพื่อประเมินความสมบูรณ์ของการพัฒนาซอฟต์แวร์ รุ่นอื่น ๆ หลายรุ่นถูกรวมเข้ากับ CMM-I
ระดับของ Capability Maturity Model (CMM) คืออะไร
- แรกเริ่ม
- ทำซ้ำ/จัดการได้
- ที่กำหนดไว้
- บริหารจัดการเชิงปริมาณ
- การเพิ่มประสิทธิภาพ
จะเกิดอะไรขึ้นในระดับต่างๆ ของ CMM?
Levels | กิจกรรม | ประโยชน์ |
---|---|---|
ระดับ 1 เริ่มต้น |
|
ไม่มี. โครงการคือ Total Chaos |
ระดับ 2 จัดการแล้ว |
|
|
กำหนดระดับ-3 |
|
|
ระดับ 4 จัดการเชิงปริมาณ |
|
|
การเพิ่มประสิทธิภาพระดับ 5 |
|
|
แผนภาพต่อไปนี้แสดงภาพตัวแทนของสิ่งที่เกิดขึ้นในระดับ 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 ตามพื้นฐานต่อไปนี้
- ความมุ่งมั่นในการดำเนินการ
- ความสามารถในการดำเนินการ
- กิจกรรมดำเนินการ
- การวัดและการวิเคราะห์
- การตรวจสอบการใช้งาน
ข้อจำกัดของรุ่น CMM
- CMM เป็นตัวกำหนดว่ากระบวนการควรจัดการอย่างไร แทนที่จะพิจารณาว่าควรนำไปปฏิบัติอย่างไร
- ไม่ได้อธิบายทุกความเป็นไปได้ของการปรับปรุงกระบวนการซอฟต์แวร์
- โดยมุ่งเน้นที่ปัญหาด้านซอฟต์แวร์แต่ไม่ได้พิจารณาถึงการวางแผนธุรกิจเชิงกลยุทธ์ การใช้เทคโนโลยี การสร้างสายผลิตภัณฑ์ และการจัดการทรัพยากรมนุษย์
- ไม่ได้บอกว่าองค์กรควรอยู่ในธุรกิจประเภทใด
- CMM จะไม่มีประโยชน์ในโครงการที่กำลังเกิดวิกฤติในขณะนี้
ทำไมต้องใช้ CMM?
ปัจจุบัน CMM ทำหน้าที่เป็น "ตรารับรอง" ในอุตสาหกรรมซอฟต์แวร์ ช่วยปรับปรุงคุณภาพซอฟต์แวร์ได้หลายวิธี
- โดยจะชี้แนะกระบวนการมาตรฐานที่สามารถทำซ้ำได้ และด้วยเหตุนี้ จึงช่วยลดเวลาการเรียนรู้เกี่ยวกับวิธีการทำงานต่างๆ ให้สำเร็จ
- การฝึกปฏิบัติ CMM หมายถึงการฝึกปฏิบัติโปรโตคอลมาตรฐานสำหรับการพัฒนา ซึ่งไม่เพียงแต่ช่วยให้ทีมประหยัดเวลา แต่ยังให้มุมมองที่ชัดเจนว่าต้องทำอะไรและคาดหวังอะไร
- กิจกรรมที่มีคุณภาพเข้ากับโครงการได้ดีแทนที่จะมองว่าเป็นกิจกรรมแยกต่างหาก
- ทำหน้าที่เป็นตัวสัญจรระหว่างโครงการและทีมงาน
- ความพยายามของ CMM มุ่งสู่การปรับปรุงกระบวนการอยู่เสมอ
สรุป
CMM เปิดตัวครั้งแรกในช่วงปลายยุค 80 ในกองทัพอากาศสหรัฐฯ เพื่อประเมินการทำงานของผู้รับเหมาช่วง Later ได้มีการนำเวอร์ชันที่ได้รับการปรับปรุงมาใช้เพื่อติดตามคุณภาพของระบบการพัฒนาซอฟต์แวร์
ระดับ CMM ทั้งหมดแบ่งออกเป็นห้าระดับ
- ระดับ 1 (เริ่มต้น): เมื่อข้อกำหนดสำหรับระบบมักจะไม่แน่นอน เข้าใจผิด และไม่มีการควบคุม กระบวนการนี้มักจะวุ่นวายและเป็นเฉพาะกิจ
- ระดับ 2 (จัดการ): ประมาณการต้นทุนโครงการ กำหนดการ และฟังก์ชันการทำงาน มีการกำหนดมาตรฐานซอฟต์แวร์
- ระดับ 3 (กำหนด): ตรวจสอบให้แน่ใจว่าผลิตภัณฑ์ตรงตามข้อกำหนดและการใช้งานตามวัตถุประสงค์
- ระดับ 4 (จัดการเชิงปริมาณ): จัดการกระบวนการของโครงการและกระบวนการย่อยทางสถิติ
- ระดับ 5 (ครบกำหนด): ระบุและปรับใช้เครื่องมือใหม่และการปรับปรุงกระบวนการเพื่อตอบสนองความต้องการและวัตถุประสงค์ทางธุรกิจ