Chương 1 : Tổng quan 1. Tổng quan về CMM Viện công nghệ phần mềm (SEI) đã đưa ra một số thước đo mà một tổ chức cụ thể tập trung trong việc cải tiến hoạt động sản xuất kinh doanh của họ. Hình 1 minh họa mối quan hệ 3 chiều giữa : con người, các thủ tục và các phương pháp, các công cụ và thiết bị. Các phương pháp và thủ Người có kỹ tục xác định mối quan hệ năng, được giữa các nhiệm vụ đào tạo và Công cụ và thiết bị Hình 1 : Mối quan hệ 3 chiều giữa con người, các thủ tục và các phương pháp, các công cụ và thiết bị.
Tuy nhiên cái gì duy trì các mối quan hệ này? Đó chính là các quy trình làm việc trong tổ chức. Các quy trình này cho phép theo dõi các hoạt động sản xuất kinh doanh của tổ chức, địa chỉ hóa và cung cấp cách thức hợp nhất các kiến thức để làm cho mọi thứ trở nên tốt hơn. Các quy trình cũng cho phép tổ chức kiểm soát được nguồn lực và rà soát được các hoạt động sản xuất kinh doanh. Điều này không có nghĩa công nghệ không giữ vai trò quan trọng, đặc biệt là trong thời điểm hiện nay khi chúng ta đang sống trong một thế giới mà công nghệ thay đổi từng ngày.
Chúng ta sống trong một thế giới năng động nên khi tập trung vào cung cấp quy trình cho cơ sở hạ tầng rất cần thiết cho việc thích ứng với thế giới đang thay đổi từng ngày với việc cạnh tranh về con người và công nghệ ngày càng trở nên quyết liệt hơn. Trong quá trình sản xuất các tổ chức đã mất khá nhiều thời gian để nhận ra rằng hiệu quả mà quy trình đem lại đóng vai trò rất quan trọng. Tuy nhiên ngày nay đã có rất nhiều tổ chức, doanh nghiệp nhận ra vai trò quan trọng của quy trình chất lượng. Các quy trình giúp cho các hoạt động sản xuất kinh doanh theo luồng công việc cụ thể, trơn tru hơn không bị cứng nhắc và dễ dàng cải tiến đồng bộ.
Hiệu quả của quy trình cũng khiến cho việc áp dụng công nghệ mới trở nên dễ thích ứng hơn với các đối tượng sản xuất kinh doanh của tổ chức. 7 TIEU LUAN MOI download : skknchat@gmail.com Vào những năm 30 thế kỷ này, Walter Shewhart bắt đầu làm việc trong việc cải tiến quy trình với các khái niệm hệ thống hóa kiểm soát chất lượng. Các khái niệm này được làm rõ bởi W.Ewards Deming và Joseph Juran, Watts Humphrey, Ron Radice và các người khác đã mở rộng các khái niệm xa hơn và bắt đầu áp dụng chúng vào phần mềm trong công việc của họ tại IBM và SEI. Các mô hình độ thành thục khả năng tập trung vào việc cải tiến các quy trình trong một tổ chức.
Chúng bao gồm các yếu tố thiết yếu của các hiệu quả của quy trình cho một hoặc nhiều khái niệm và mô tả đối với chu trình cải tiến quy trình. Nhiệm vụ của CMM được chia thành 3 nhóm mô hình : Mô hình độ thành thục khả năng cho phần mềm (SW-CMM) Mô hình độ thành thục khả năng cho công nghệ hệ thống Mô hình độ thành thục khả năng trong việc phát triển sản phẩm thống nhất lại (IPD-CMM) 2. Tình hình áp dụng CMM ở Việt nam : Hầu như các công ty phần mềm tại Việt nam, trừ những tên tuổi lớn như FSOFT, Paragon Solution, đều bắt đầu ở mức 2. Có ý kiến cho rằng 1 công ty khoảng chừng 30-50 người trở lên thì mới làm CMM được hiệu quả nhất (con số 30 là vì công ty phần mềm cỡ trung bình thường chỉ có mức qui mô như vậy).
Đối với quy mô như vậy thì CMM mức 2 cũng không đòi hỏi quá nhiều tiêu chí để đạt được. Việc đầu tiên muốn áp dụng CMM nghiêm chỉnh là cần có "kinh phí" và quá trình áp dụng theo kinh nghiệm của FSOFT nên bao gồm các bước sau : Mời 1 chuyên gia về CMM sang đánh giá tổ chức xem có thể làm CMM được không, ở mức nào thì làm được, chuyên gia từ Ấn độ thì rẻ và hiệu quả đối với Việt nam. Cử nhân viên đi học hoặc mời chuyên gia về dạy các khóa học về CMM. Khi đạt được một chứng chỉ về CMM, một thời gian sau SEI sẽ "kiểm tra" xem công ty bạn vẫn giữ được mức đó hay không, có bị hạ xuống hoặc có thể tiến lên mức cao hơn.
Việc đạt được chứng chỉ có giá trị nếu trong hoạt động hiện tại, công ty vẫn duy trì ở mức đó chứ không phải đạt được chứng chỉ rồi sau đó cất đi. 8 TIEU LUAN MOI download : skknchat@gmail. Các khái niệm sơ lược về CMM : 3.1 Định nghĩa & đặc điểm CMM CMM cho phần mềm được đưa ra bởi Viện Kỹ nghệ Phần mềm (Software Engineering Institute - SEI) của Đại học tổng hợp Carnegie Mellon, đã được phổ biến rộng rãi trên thế giới và là một chương trình tài trợ không hoàn lại, công khai cho bất kỳ công ty nào muốn tiếp nhận nó. CMM mô tả các nguyên tắc và các thực tiễn nằm bên trong “mức độ thành thục về khả năng” của quy trình phần mềm và mục đí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ần mềm thành thục, 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 xác thực, giảm được rủi ro trong phát triển phần mềm và tăng được tính khả khi - 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 đòi hỏi 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 các mức biểu thị độ 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à các công ty cũng đang bắt đầu triển khai việc sử dụng mô hình này. [3] 5/ Đang được tối ưu (Optimizing) 4/ Được quản lý (Managed) 3/ Được xác lập (Defined) 2/ Có thể lặp lại (Repeatable) 1/ Khởi đầu (Initial) Hình 2: Mô hình CMM - Các mức đối với phát triển phần mềm. Giải thích thêm về CMM : [3] Ngoại trừ mức 1, mỗi mức độ thành thục được phân tích thành các vùng tiến trình chủ chốt, biểu thị những khu vực mà một tổ chức nên tập trung vào để cải thiện tiến trình phần mềm của nó.
9 TIEU LUAN MOI download : skknchat@gmail.com Những vùng tiến trình chủ chốt ở mức 2 tập trung vào những vấn đề của dự án phần mềm liên quan tới thiết lập kiểm soát cơ bản cho quản lý dự án. Đó là Quản lý yêu cầu (Requirements Management), Hoạch định dự án phần mềm (Software Project Planning), Giám sát và theo dõi dự án phần mềm (Software Project Tracking and Oversight), Quản lý hợp đồng phụ phần mềm (Software Sub-Contract Management), Bảo đảm chất lượng phần mềm (Software Quality Assurance), và Quản lý cấu hình phần mềm (Software Configuration Management). 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ó Tiêu điểm 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 lý phần mềm đã được thống nhất lại (Integrated Software Management), Công nghệ 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).
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ý một cách định lượng các quá trình (Quantitative Process Management) và Quản lý chất lượng phần mềm (Software Quality Management). 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 để 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 lý thay đổi công nghệ (Technology Change Management), và Quản lý thay đổi quá trình (Process Change Management).
Mỗi vùng tiến trình chủ yếu được mô tả như các thực hành cốt yếu thỏa mãn các mục tiêu của nó. Các thực hành cốt yếu đó mô tả hạ tầng và các hoạt động có đóng góp chính cho việc thực hiện và thể chế hoá vùng tiến trình chủ yếu một cách hiệu quả. Các đặc điểm của 5 mức thành thục CMM: [3] 10 TIEU LUAN MOI download : skknchat@gmail.com o 1/ Khởi đầu (Initial). Quá trình sản xuất phần mềm được đặc trưng tự phát, và có lúc thậm chí là hỗn độn.
Một số quá trình đã được xác lập, và sự thành công phụ thuộc vào nỗ lực và anh hùng cá nhân. o 2/ Có thể lặp lại (Repeatable). Các quá trình quản lý dự án cơ bản được thiết lập để theo dõi chi phí, thời gian biểu và chức năng. Đã có quy tắc tiến trình cần thiết để lặp lại các thành công trước đây của các dự án có ứng dụng tương tự.
Quá trình sản xuất phần mềm cho cả hoạt động quản lý và kỹ thuật được văn bản hóa, được chuẩn hóa và được hòa nhập vào quá trình sản xuất phần mềm chuẩn đối với tổ chức. Tất cả các dự án sử dụng một phiên bản “may đo” được phê chuẩn của tiêu chuẩn xí nghiệp cho quá trình sản xuất phần mềm để phát triển và bảo trì phần mềm. Các biện pháp chi tiết của của quá trình sản xuất phần mềm và chất lượng sản phẩm được thu thập lại. Cả quá trình sản xuất phần mềm và các sản phẩm đều được hiểu và được kiểm tra một cách định lượng.
o 5/ Đang được tối ưu (Optimizing). Cải tiến không ngừng quá trình sản xuất qua phản hồi có định lượng từ quá trình sản xuất và từ thử nghiệm các ý tưởng và công nghệ mới. CMM mô tả các khái niệm và các thực hành được đặt dưới độ thành thục của quy trình phần mềm. Nó cũng được mở rộng để trợ giúp phần mềm của tổ chức cải tiến độ thành thục quy trình phần mềm của họ trong các lĩnh vực quy trình hỗn tạp & đặc biệt để làm hoàn thiện các khái niệm quy trình sẵn có.