Sự khác biệt giữa CMM và CMMI là CMMI tích hợp các mô hình riêng biệt được sử dụng trong CMM, tài liệu CMMI thực hành tốt nhất theo các lĩnh vực quan tâm khi CMM xem xét các chức năng. CMM sử dụng cách tiếp cận 5 cấp, trong đó CMMI sử dụng 22 mô hình để xem xét một mục tiêu cụ thể.
CMM là viết tắt của mô hình trưởng thành khả năng mà các công ty phần mềm sử dụng để tăng tính nhất quán, độ tin cậy và khả năng dự đoán dựa trên 5 cấp độ. 5 cấp độ dựa trên các phương pháp quản lý và kỹ thuật tốt nhất. CMMI là viết tắt của tích hợp mô hình phát triển năng lực, giúp CMM tiến thêm một bước nữa bằng cách tích hợp chức năng và xem xét các sở thích hoặc mục tiêu kinh doanh cụ thể của phần mềm.
CMM và CMMi là gì?
CMM và CMMi là chuẩn quản lý quy trình chất lượng của các sản phẩm phần mềm được áp dụng cho từng loại hình công ty khác nhau. Hay nói cách khác đây là các phương pháp phát triển hay sản xuất ra các sản phẩm phần mềm. Tháng 8/ 2006, SEI (Software Engineering Institute – Viện Công Nghệ Phần Mềm Mỹ) - tổ chức phát triển mô hình CMM/CMMI đã chính thức thông báo về phiên bản mới CMMI 1.2. Như vậy là sau gần 6 năm ban hành và sử dụng thay thế cho CMM (từ tháng 12/2001), CMMI phiên bản 1.1 (CMMI 1.1) đã được chính thức thông báo với lộ trình thời gian chuyển tiếp lên phiên bản mới CMMI 1.2.
Mặc dù số lượng các công ty phần mềm tại Việt Nam đạt được CMM/CMMI đến nay vẫn chưa nhiều, nhưng với sự khởi sắc trong lĩnh vực gia công và sản xuất phần mềm vài năm trở lại đây, sự cạnh tranh cũng như yêu cầu ngày càng cao của khách hàng, đã thúc đẩy các công ty xây dựng hệ thống quản lý chất lượng theo các mô hình quốc tế.
Có những khác biệt đáng kể giữa CMMI 1.1 và CMMI 1.2, trong khuôn khổ một bài viết chúng tôi cố gắng nêu những nét cơ bản nhất, nhằm giúp bạn đọc có cái nhìn tổng quát, từ đó dễ dàng định hướng cho việc nghiên cứu chi tiết hơn về CMMI 1.2. CMM và CMMi là một bộ khung (framework) những chuẩn đề ra cho một tiến trình sản xuất phần mềm hiệu quả, mà nếu như các tổ chức áp dụng nó sẽ mang lại sự khả dụng về mặt chi phí, thời gian biểu, chức năng và chất lượng sản phẩm phần mềm.
Mô hình CMM và mô tả các nguyên tắc và các thực tiễn nằm bên trong tính “thành thục” quá trình phần mềm và chủ ý giúp đỡ các công ty phần mềm hoàn thiện khả năng thuần thục quá trình sản xuất phần mềm, đi từ tự phát, hỗn độn tới các quá trình phát triển phần mềm theo các quy trình tối tân, có kỷ luật. Bằng việc thưc hiện CMM các công ty thu được những lợi ích thực sự, giảm được rủi ro trong phát triển phần mềm và tăng được mức độ dự báo kết quả thực hiện - do đó trở thành đối tác hay một nhà cung ứng hấp dẫn hơn đối với các khách hàng trên toàn thế giới.
Tuy nhiên, CMM không phải không tốn kém chi phí. Những nguồn lực đáng kể của công ty phải được dành cho việc hướng tới các vùng tiến trình then chốt, cần thiết để lên từng bậc thang của chứng nhận CMM. CMM đưa ra một loạt các mức độ để biểu thị mức độ thành thục đã đạt được. Mức 1 ứng với mức độ thành thục thấp nhất và mức 5 ứng với mức độ thành thục cao nhất. Gần đây, SEI đã xúc tiến CMMi, một mô hình kế thừa CMM và CMMi hiện nay các công ty cũng đang bắt đầu triển khai việc sử dụng mô hình này
Cấu trúc của CMM
- Các level của CMM CMM bao gồm 5 levels và 18 KPAs(Key Process Area) 5 levels của CMM như sau: 1: Initial, 2: Repeatable,3: Defined,4: Managed, 5: Optimising
Nói cách khác mỗi một level đều tuân theo một chuẩn ở mức độ cao hơn. Muốn đạt được chuẩn cao hơn thì các chuẩn của các level trước phải thoả mãn. Mỗi level đều có đặc điểm chú ý quan trọng của nó cần các doanh nghiệp phải đáp ứng được.
- Level 1 thì không có KPAs nào cả
- Level 2 : có 6 KPAs
- Level 3: có 7 KPAs
- Level 4: có 2 KPAs
- Level 5: có 3 KPAs
18 KPAs của CMM được đều có 5 thuộc tính(chức năng) chung trong đó có các qui định về key pratice là những hướng dẫn về các thủ tục(procedure), qui tắc(polities), và hoạt động (activites)của từng KPA. Đầu tiên ta có cấu trúc của một KPA với 5 điểm đặc chưng(common feature). Trong đó để thực hiện KPA này ta cần phải thực hiện theo những qui tắc sau để bảo đảm đạt được KPA đó:
- Commitment to Perform ( Tạm dịch là cam kết thực hiện)
- Ability to Perform (Khả năng thực hiện)
- Activities Peformed (Các hoạt động triển khai)
- Measurement and Analysis (Đo lường và phân tích)
- Verifying and Implementation
- Các level của CMM
-
Level 1: Cấp độ này là bước khởi đầu của CMM, mọi doanh nghiệp, công ty phần mềm, cá nhóm, cá nhân đều có thể đạt được. Ở lever này CMM chưa yêu cầu bất kỳ tính năng nào. Ví dụ: không yêu cầu quy trình, không yêu cầu con người, miễn là cá nhân, nhóm, doanh nghiệp… đều làm về phầm mềm đều có thể đạt tới CMM này.
-
Level 2: Có 6 KPA nó bao gồm như sau:
- Requirement Management (Lấy yêu cầu khách hàng, quản lý các yêu cầu đó)
- Software Project Planning (Lập các kế hoạch cho dự án)
- Software Project Tracking (Theo dõi kiểm tra tiến độ dự án)
- Software Quality Assurance (Đảm bảo chất lượng sản phẩm)
- Software Configuration Management (Quản trị cấu hình sản phẩm=> đúng yêu cầu của khách hàng không)
- Software SubContract Management (Quản trị hợp đồng phụ phần mềm)
-
Level 3: Các vùng tiến trình chủ chốt ở mức 3 nhằm vào cả hai vấn đề về dự án và tổ chức, vì một tổ chức (công ty) tạo nên cấu trúc hạ tầng thể chế các quá trình quản lý và sản xuất phần mềm hiệu quả qua tất cả các dự án. Chúng gồm có Tập trung Tiến trình Tổ chức (Organization Process Focus), Phân định Tiến trình Tổ chức (Organization Process Definition), Chương trình Đào tạo (Training Program), Quản trị Phần mềm Tích hợp (Integrated Software Management), Sản xuất Sản phẩm Phần mềm (Software Product Engineering), Phối hợp nhóm (Intergroup Coordination), và Xét duyệt ngang hàng (Peer Reviews). Để đạt được level 3 thì người quản lý phải biến đổi cải tiến các hoạt động đang diễn ra, cải tiến môi trường làm việc. Lực lượng lao động sở hữu những kiến thức, kỹ năng cốt lõi KPA chú trọng tới các yếu tố sau : + Văn hóa cá thể + Công việc dựa vào kỹ năng + Phát triển sự nghiệp + Hoạch định nhân sự + Phân tích kiến thức và kỹ năng
-
Level 4: Các vùng tiến trình chủ yếu ở mức 4 tập trung vào thiết lập hiểu biết định lượng của cả quá trình sản xuất phần mềm và các sản phẩm phần mềm đang được xây dựng. Đó là Quản lý quá trình định lượng (Quantitative Process Management) và Quản lý chất lượng phần mềm (Software Quality Management) Lực lượng lao động làm việc theo đội, nhóm và được quản lý một cách định lượng. Các KPA của level 4 chú trọng tới: + Chuẩn hóa thành tích trong tổ chức + Quản lý năng lực tổ chức + Công việc dựa vào cách làm việc theo nhóm + Xây dựng đội ngũ chuyên nghiệp + Cố vấn Để đạt được level 4 thì phải đo lường và chuẩn hóa. Đo lường hiệu quả đáp ứng công việc, chuẩn hóac phát triển các kỹ năng, năng lực cốt lõi. Level 4 này sẽ chú trọng vào những người đứng đầu của một công ty, họ có khả năng quản lý các công việc như thế nào
-
Level 5: Các vùng tiến trình chủ yếu ở mức 5 bao trùm các vấn mà cả tổ chức và dự án phải nhắm tới để thực hiện hoàn thiện quá trình sản xuất phần mềm liên tục, đo đếm được. Đó là Phòng ngừa lỗi (Defect Prevention), Quản trị thay đổi công nghệ (Technology Change Management), và Quản trị thay đổi quá trình (Process Change Management) Để đạt được level 4 thì phải đo lường và chuẩn hóa. Đo lường hiệu quả đáp ứng công việc, chuẩn hóac phát triển các kỹ năng, năng lực cốt lõi. Để đạt được Level 5 thì doanh nghiệp đó phải liên tục cải tiến hoạt động tổ chức, tìm kiếm các phương pháp đổi mới để nâng cao năng lực làm việc của lực lượng lao động trong tổ chức, hỗ trợ các nhân phát triển sở trường chuyên môn. Chú trọng vào việc quản lý, phát triển năng lực của nhân viên. Huấn luyện nhân viên trở thành các chuyên gia.
So sánh giữa CMM và CMMi
Hẵn những ai quan tâm tới CMM, cũng đã từng nghe hoặc biết qua CMMI. Và khi đã nghe qua, không ít người thầm thắc mắc, hoặc tự hỏi rằng không biết CMM với CMMI nó khác nhau ra sao. Nếu đặc tả một các trực quan thì ta thấy CMM và CMMI chỉ khác nhau có một chữ “I” (Integration). Nhưng một chữ “I” đó thôi cũng tạo ra sự khác biệt đáng kể giữa CMM và CMMI rồi.
Trước tiên hãy xem qua nguồn gốc của hai thứ này một chút. Nếu nói rằng CMM ra đời trước CMMI thì cũng đúng nhưng mà nói CMMI có trước từ khi CMM ra đời cũng chẳng sai. Thật ra khi CMM được chính thức công bố vào cuối năm 1990 thì CMMI đã manh mún được nhắc đến từ nhiều năm trước đó (chính xác hơn là từ 1979- Crosby’s maturity grid (Quality is Free)) thông qua cấu trúc Continuous & Staged. Có thể nói CMMI là một phiên bản cải thiện tất yếu của CMM.
Trong khi CMM được hoàn thiện và phát triển bởi viện SEI của Mỹ, thì CMMI là sản phẩm của sự cộng tác giữa viện này và chính phủ Mỹ. Từ khi CMM được công nhận và áp dụng trên thế giới thì tầm quan trọng của nó đã vượt qua giới hạn của một viện khoa học. Với tốc độ phát triển không ngừng và đòi hỏi sự cải thiện liên tục trong ngành công nghệ thông tin, việc chính phủ Mỹ cùng với viện SEI kết hợp để hoàn thiện CMM và cho ra đời phiên bản CMMI là một hệ quả tất yếu. Mô hình CMM trước đây gồm có 5 mức: khởi đầu, lặp lại được, được định nghĩa, được quản lý và tối ưu. Một điểm đặc biệt là mỗi doanh nghiệp có thể áp dụng mô hình CMM ở bất kỳ mức nào mà không cần tuân theo bất kỳ một qui định nào, không cần phải đạt mức thấp trước rồi mới có thể đạt mức cao (có thể đi thẳng lên mức cao, hoặc cũng có thể tự hạ xuống mức thấp hơn). Về nguyên tắc, SEI không chính thức đứng ra công nhận CMM mà thông qua các tổ chức tư vấn, các đánh giá trưởng được SEI ủy quyền và thừa nhận.
Từ cuối 2005, SEI không tổ chức huấn luyện SW-CMM và chỉ thừa nhận các đánh giá theo mô hình CMMi mới từ tháng 12/2005. CMMi được tích hợp từ nhiều mô hình khác nhau, phù hợp cho cả những doanh nghiệp phần cứng và tích hợp hệ thống, chứ không chỉ đơn thuần áp dụng cho doanh nghiệp sản xuất phần mềm như CMM trước đây.
Có 4 mô hình áp dụng CMMi là CMMi-SW (dành cho công nghệ phần mềm), CMMi-SE/SW (dành cho công nghệ hệ thống và phần mềm), CMMiSE/SW/IPPD (dành cho công nghệ hệ thống + công nghệ phần mềm với việc phát triển sản phẩm và quy trình tích hợp), CMMi-SE/SW/IPPD/SS (dành cho công nghệhệ thống + công nghệ phần mềm với việc phát triển sản phẩm và quy trình tích hợp có sử dụng thầu phụ). Có 2 cách diễn đạt và sử dụng CMMi: Staged (phù hợp cho tổ chức có trên 100 người) và Continuous (phù hợp cho tổ chức dưới 40 người). CMMi cũng bao gồm 5 mức như CMM: khởi đầu, lặp lại được, được định nghĩa, được quản lý và tối ưu.
Lợi ích của CMM đem lại cho doanh nghiệp
- Viễn cảnh mà CMM mang lại
- Ý nghĩa của việc áp dụng những nguyên tắc:
- Quản lý chất lượng tổng thể
- Quản lý nguồn nhân lực
- Phát triển tổ chức
- Tính cộng đồng
- Phạm vi ảnh hưởng rộng: từ các nghành công nghiệp đến chính phủ
- Hoàn toàn có thể xem xét và mở rộng tầm ảnh hưởng với bên ngoài
- Chương trình làm việc nhằm cải tiến, nâng cao hoạt động của đội ngũ lao động
- Đánh giá nội bộ
- Các hoạt động của đội ngũ lao động được cải tiến
- Các chương trình nhằm nâng cao năng lực, hiệu quả công việc luôn được tổ chức
- Mục tiêu chiến lược
- Cải tiến năng lực của các tổ chức phần mềm bằng cách nâng cao kiến thức và kỹ năng của lực lượng lao động
- Đảm bảo rằng năng lực phát triển phần mềm là thuộc tính của tổ chức không phải của một vài cá thể
- Hướng các động lực của cá nhân với mục tiêu tổ chức
- Duy trì tài sản con người, duy trì nguồn nhân lực chủ chốt trong tổ chức
- Lợi ích CMM mang lại cho Doanh nghiệp gói gọn trong 4 từ:
- Attract
- Develop
- Motivate
- Organize
- Lợi ích CMM mang lại cho người lao động:
- Môi trường làm việc, văn hóa làm việc tốt hơn
- Vạch rõ vai trò và trách nhiệm của từng vị trí công việc
- Đánh giá đúng năng lực, công nhận thành tích
- Chiến lược, chính sách đãi ngộ luôn được quan tâm
- Có cơ hội thăng tiến
- Liên tục phát triển các kỹ năng cốt yếu.