Mô hình trưởng thành năng lực (CMM) và các cấp độ trong Kỹ thuật phần mềm

CMM là gì?

Mô hình trưởng thành năng lực được sử dụng làm chuẩn mực để đo lường mức độ trưởng thành của quy trình phần mềm của tổ chức.

CMM được phát triển tại Viện Kỹ thuật phần mềm vào cuối những năm 80. Nó được phát triển là kết quả của một nghiên cứu do Không quân Hoa Kỳ tài trợ nhằm đánh giá công việc của các nhà thầu phụ. Later dựa trên mô hình CMM-SW được tạo ra năm 1991 để đánh giá mức độ trưởng thành của phát triển phần mềm, nhiều mô hình khác được tích hợp với CMM-I.

Mô hình trưởng thành năng lực

Các cấp độ của Mô hình trưởng thành năng lực (CMM) là gì?

  1. Ban đầu
  2. Có thể lặp lại/được quản lý
  3. Xác định
  4. Được quản lý định lượng
  5. Tối ưu hóa

Các cấp độ của Mô hình trưởng thành năng lực (CMM)

Điều gì xảy ra ở các cấp độ khác nhau của CMM?

Levels Hoạt động Các lợi ích
Cấp độ 1 Ban đầu
  • Ở cấp độ 1, quá trình này thường hỗn loạn và đặc biệt.
  • Một năng lực được đặc trưng trên cơ sở các cá nhân chứ không phải của tổ chức
  • Tiến độ không được đo lường
  • Các sản phẩm được phát triển thường đúng tiến độ và vượt quá ngân sách
  • Sự khác biệt lớn trong các mục tiêu về lịch trình, chi phí, chức năng và chất lượng
Không có. Một dự án là sự hỗn loạn hoàn toàn
Cấp 2 được quản lý
  • Quản lý yêu cầu
  • Ước tính các thông số dự án như chi phí, tiến độ và chức năng
  • Đo lường tiến độ thực tế
  • Xây dựng kế hoạch và quy trình
  • Các tiêu chuẩn dự án phần mềm được xác định
  • Xác định và kiểm soát sản phẩm, báo cáo vấn đề thay đổi, v.v.
  • Quy trình có thể khác nhau giữa các dự án
  • Các quy trình trở nên dễ hiểu hơn
  • Người quản lý và các thành viên trong nhóm dành ít thời gian hơn để giải thích cách thực hiện mọi việc và có nhiều thời gian hơn để thực hiện nó
  • Các dự án được ước tính tốt hơn, được lên kế hoạch tốt hơn và linh hoạt hơn
  • Chất lượng được tích hợp vào các dự án
  • Chi phí ban đầu có thể cao nhưng sẽ giảm dần theo thời gian
  • Hỏi thêm giấy tờ và tài liệu
Đã xác định cấp độ 3
  • Làm rõ yêu cầu của khách hàng
  • Giải quyết yêu cầu thiết kế, xây dựng quy trình thực hiện
  • Đảm bảo sản phẩm đáp ứng yêu cầu và mục đích sử dụng
  • Phân tích các quyết định một cách có hệ thống
  • Khắc phục và kiểm soát các vấn đề tiềm ẩn
  • Cải tiến quy trình trở thành tiêu chuẩn
  • Giải pháp tiến triển từ “mã hóa” sang “được thiết kế”
  • Cổng chất lượng xuất hiện xuyên suốt nỗ lực của dự án với toàn bộ đội ngũ tham gia vào quá trình
  • Rủi ro được giảm thiểu và không khiến nhóm bị bất ngờ
Cấp 4 được quản lý định lượng
  • Quản lý các quy trình và quy trình phụ của dự án một cách thống kê
  • Hiểu hiệu suất quy trình, quản lý định lượng dự án của tổ chức
  • Tối ưu hóa hiệu suất quy trình trong toàn tổ chức
  • Thúc đẩy quản lý dự án định lượng trong một tổ chức.
Tối ưu hóa cấp 5
  • Phát hiện và loại bỏ sớm nguyên nhân gây hư hỏng
  • Xác định và triển khai các công cụ mới cũng như cải tiến quy trình để đáp ứng nhu cầu và mục tiêu kinh doanh
  • Thúc đẩy sự đổi mới và triển khai của tổ chức
  • Tạo động lực cho việc phân tích và giải quyết nguyên nhân

Sơ đồ sau đây cung cấp hình ảnh minh họa về những gì xảy ra ở các cấp độ CMM khác nhau

Các cấp độ khác nhau của CMM

Mất bao lâu để triển khai CMM?

CMM là quy trình được mong muốn nhất để duy trì chất lượng sản phẩm đối với bất kỳ công ty phát triển phần mềm nào, nhưng việc triển khai nó mất nhiều thời gian hơn dự kiến.

  • Việc triển khai CMM không diễn ra trong một sớm một chiều
  • Nó không chỉ đơn thuần là một “giấy tờ”.
  • Thời gian điển hình để thực hiện là
  • 3-6 tháng -> để chuẩn bị
  • 6-12 tháng -> để thực hiện
  • 3 tháng -> chuẩn bị đánh giá
  • 12 tháng ->cho mỗi cấp độ mới

Cấu trúc bên trong của CMM

Mỗi cấp độ trong CMM được xác định thành khu vực xử lý chính hoặc KPA, ngoại trừ cấp 1. Mỗi KPA xác định một nhóm các hoạt động liên quan, khi được thực hiện chung sẽ đạt được một tập hợp các mục tiêu được coi là quan trọng để cải thiện khả năng phần mềm.

Đối với các cấp độ CMM khác nhau, có tập hợp KPA, ví dụ đối với CMM model-2, KPA là

  • REQM- Quản lý yêu cầu
  • PP- Lập kế hoạch dự án
  • PMC- Giám sát và kiểm soát dự án
  • SAM- Quản lý thỏa thuận nhà cung cấp
  • PPQA-Đảm bảo chất lượng và quy trình
  • Quản lý cấu hình CM

Tương tự như vậy, đối với các mô hình CMM khác, bạn có các KPA cụ thể. Để biết liệu việc triển khai KPA có hiệu quả, lâu dài và có thể lặp lại hay không, nó được lập bản đồ trên cơ sở sau

  1. Cam kết thực hiện
  2. Khả năng biểu diễn
  3. Hoạt động thực hiện
  4. Đo lường và phân tích
  5. Xác minh việc thực hiện

Hạn chế của mô hình CMM

  • CMM xác định quy trình nào cần giải quyết thay vì quy trình đó nên được triển khai như thế nào
  • Nó không giải thích mọi khả năng cải tiến quy trình phần mềm
  • Nó tập trung vào các vấn đề phần mềm nhưng không xem xét việc lập kế hoạch kinh doanh chiến lược, áp dụng công nghệ, thiết lập dòng sản phẩm và quản lý nguồn nhân lực.
  • Nó không nói lên loại hình kinh doanh nào mà một tổ chức nên tham gia
  • CMM sẽ không hữu ích trong dự án đang gặp khủng hoảng hiện nay

Tại sao nên sử dụng CMM?

Ngày nay CMM hoạt động như “con dấu phê duyệt” trong ngành công nghiệp phần mềm. Nó giúp cải thiện chất lượng phần mềm theo nhiều cách khác nhau.

  • Nó hướng dẫn quy trình tiêu chuẩn có thể lặp lại và do đó giảm thời gian học tập về cách hoàn thành công việc
  • Thực hành CMM có nghĩa là thực hành giao thức tiêu chuẩn để phát triển, nghĩa là nó không chỉ giúp nhóm tiết kiệm thời gian mà còn đưa ra cái nhìn rõ ràng về những gì cần làm và những gì mong đợi
  • Các hoạt động chất lượng gắn chặt với dự án hơn là được coi là một sự kiện riêng biệt
  • Nó hoạt động như một người đi lại giữa dự án và nhóm
  • Những nỗ lực của CMM luôn hướng tới sự cải tiến của quy trình

Tổng kết

CMM lần đầu tiên được giới thiệu vào cuối những năm 80 tại Không quân Hoa Kỳ để đánh giá công việc của các nhà thầu phụ. Later Trên phiên bản cải tiến, nó được triển khai để theo dõi chất lượng của hệ thống phát triển phần mềm.

Toàn bộ cấp độ CMM được chia thành năm cấp độ.

  • Cấp 1 (Ký tắt): Trường hợp các yêu cầu đối với hệ thống thường không chắc chắn, bị hiểu sai và không được kiểm soát. Quá trình này thường hỗn loạn và đặc biệt.
  • Cấp 2 (Được quản lý): Ước tính chi phí, tiến độ và chức năng của dự án. Tiêu chuẩn phần mềm được xác định
  • Cấp 3 (Được xác định): Đảm bảo rằng sản phẩm đáp ứng yêu cầu và mục đích sử dụng
  • Cấp 4 (Được quản lý định lượng): Quản lý các quy trình và quy trình phụ của dự án theo thống kê
  • Cấp 5 (Trưởng thành): Xác định và triển khai các công cụ mới cũng như cải tiến quy trình để đáp ứng nhu cầu và mục tiêu kinh doanh