• Thứ Tư, 14/01/2004 09:23 (GMT+7)

    Vận dụng CMM hiệu quả

    Làm sao để vận dụng CMM hiệu quả nhằm nâng cao chất lượng phần mềm sản xuất? Bài viết này là ý kiến trao đổi kinh nghiệm của một người đã từng vận dụng CMM trong doanh nghiệp của mình.

    Cách Áp Dụng Cmm Phổ Biến Hiện Nay: Thụ Động
    Tại nhiều công ty phần mềm, thiết lập quy trình CMM được làm như sau:
    •  Đặt đích đến là CMM mức (Level) 2 hay mức 3 vào một thời điểm nào đó (ví dụ: đạt mức 2 vào cuối năm nay)
    •  Thành lập các nhóm tương ứng với các Key Process Area (KPA - Nhóm quy trình chủ yếu) của từng mức.
    •  Mỗi nhóm biên soạn toàn bộ thủ tục/tài liệu được yêu cầu.
    •  Xem xét, phê duyệt và ban hành các thủ tục/tài liệu
    •  Cuối cùng là áp dụng và cải tiến thủ tục/tài liệu.
    Cách làm này chi phối nhiều thời gian của  nhân viên. Lúc hoàn thành xong bộ thủ tục CMM, họ lại thấy thêm một áp lực mới: phải tìm hiểu và áp dụng cơ man nào là thủ tục.

    Cách áp dụng cmm chủ động: “hãy để cmm phục vụ bạn!”
    Xuất phát từ thực tế bất cập đó, bài báo của Neil Potter and Mary Sakry (1) đã đặt ra một hướng giải quyết khác, theo tiêu chí: “Hãy để CMM phục vụ tổ chức chứ không phải tổ chức phục vụ cho CMM”. Theo đó, DN cần lên kế hoạch dựa trên mục tiêu và các vấn đề bức xúc cần giải quyết, chứ không dựa hoàn toàn trên một phân hệ đánh giá nào của CMM. Quan điểm này xem CMM như một phương tiện hỗ trợ để đề ra hành động nhằm đạt mục tiêu đã nêu và giải quyết các vấn đề đang gặp phải.
    Để áp dụng cách này, cần bắt đầu bằng việc xác định mục tiêu và vấn đề cần giải quyết của tổ chức. Tuy nhiên, trong hoàn cảnh công ty đang triển khai CMM thì hầu hết nhân viên đều học thuộc làu mục tiêu CMM và dường như sao nhãng cái gọi là “mục tiêu chính” trong công việc từng người. Vậy làm thế nào để kéo mọi người trở lại với các vấn đề bức xúc của DN? Theo tôi, nên bắt đầu bằng câu hỏi “Mục tiêu của công ty trong vòng từ 6 đến 18 tháng tới là gì?”, “Vấn đề nào cần phải giải quyết để đạt đến những mục tiêu đó?” Nếu tạm quên đi CMM, sau vài giờ thảo luận với nhân viên các bộ phận, DN sẽ có một danh sách các mục tiêu cần giải quyết và các việc bức xúc phải làm.

    Ví dụ trong trường hợp của công ty tôi, có một số mục tiêu sau:
    •  Xây dựng chính xác kế hoạch cho dự án.
    •  Giảm thiểu tối đa những việc đã làm nay phải làm lại.
    •  Thỏa mãn khách hàng.
    •  Có lợi nhuận....

    Tuy nhiên, để đạt những mục tiêu này, từng nhân viên vẫn bức xúc với các vấn đề nan giải như:
    a.  Thời gian cần thiết cho từng công việc trong dự án không được xác định chính xác, một số thời gian thường bị dùng cho các việc không nằm trong kế hoạch.
    b.  Không thể xác định công việc cần làm một cách đầy đủ.
    c.  Khó khăn khi tu chỉnh kế hoạch; không biết thêm, bớt công việc để sát với thực tế.
    d.  Khách hàng không hài lòng trong giai đoạn dùng thử vì còn nhiều lỗi chưa được giải quyết.
    e.  Yêu cầu của dự án cần định nghĩa rõ ràng hơn. Những yêu cầu nào sẽ được đưa vào sản phẩm, những yêu cầu nào bị loại ra.
    f.   Nhóm test chưa biết nhiều về sản phẩm và cũng chưa có các kỹ năng về test.
    g.  Khi có thay đổi thì ít người biết, dẫn đến mọi người làm việc trên những chỉ định cũ hay đã bị loại bỏ.
      ...
    Cần nhấn mạnh đây là các mục tiêu và vấn đề cần giải quyết xuất phát từ thực tế (chứ không phải từ CMM). Bước kế tiếp là xác định các việc cần làm để giải quyết vấn đề trên. Lúc này, mới nên đem CMM ra áp dụng. Bảng trên đây sẽ nêu sự tương ứng giữa mục tiêu, vấn đề cần giải quyết của công ty với các nhóm hành động của CMM.

    Làm sao để đạt hết các nội dung (key practices) của cmm?
    Tất nhiên, các mục tiêu đề ra không thể ngay lập tức đáp ứng đầy đủ các nội dung của CMM.
    Anh/chị sẽ hỏi nếu theo cách này, làm sao tổ chức lấy được CMM khi không “qua” hết các “bài bản” của một mức?
    Thực ra, khi hoàn tất chương trình cải tiến đợt một, công ty của bạn có thể làm tiếp đợt hai. Kỳ này, công ty lại có những mục tiêu và vấn đề khác cần giải quyết. Và để đạt mục tiêu và giải quyết các vấn đề được phát hiện, công ty lại cần đến các practice khác... Như vậy qua thời gian, các practice được chọn áp dụng sẽ tăng dần lên.
    Dĩ nhiên, cuối cùng, có những practice còn sót lại không phục vụ cho mục tiêu nào của tổ chức. Khi đó, tổ chức có hai chọn lựa: Một là, xem nó như “Not Applicable” (không ứng dụng được) (thí dụ như các nội dung của quản lý thầu phụ - Subcontract Management). Hai là, áp dụng nó trên tinh thần tôn trọng thành quả của SEI (Software Engineering Institute) do yêu cầu của việc đánh giá sẽ được tiến hành sau đó.

    Cảm Nhận

    Cải tiến quy trình là một việc cần thiết nhưng khó làm. Mặc dù, ngày nay, hầu như tổ chức PM nào cũng có được nội dung của CMM nhưng áp dụng nó hiệu quả thì vẫn cần suy nghĩ. Cách áp dụng CMM do Neil Potter và Mary Sakry đề nghị hay ở chỗ hết sức thực dụng: chọn cái nào mình cần để làm trước; cái nào mình chưa cần thì làm sau. Theo cách này, chương trình cải tiến sẽ có nhiều đợt. Mỗi đợt nhằm đáp ứng mục tiêu và các vấn đề khác nhau. Sau khi áp dụng cách làm này tôi thấy: Công việc được tiến hành dễ hơn rất nhiều so với việc phải làm “mọi thứ” theo yêu cầu của một mức của CMM; Các tài liệu về quy trình cũng dễ viết hơn và mức độ áp dụng sau này cũng nhiều hơn vì có đề bài rõ ràng; Động cơ làm việc và thành quả của nhóm cải tiến được tăng lên rõ rệt vì kết quả của chương trình cải tiến phục vụ cho chính yêu cầu đang bức xúc của họ.

    Đối với tôi, đây quả thật là một bàn thắng phút 89. Tôi đã từng dự định thôi không làm SPI (Software Process Improvement - Cải tiến quy trình PM) nữa nhưng với cách làm mới này, tôi lại xắn tay áo lên làm... CMM. Hy vọng anh/chị nào đang gặp khó khăn trong việc áp dụng CMM cũng thấy được giúp đỡ như tôi.

    Vỡ Lòng Về CMM

    CMM là hệ thống đánh giá qui trình làm PM của một đơn vị, tổ chức do Viện Công Nghệ Phần Mềm Hoa Kỳ - SEI (Software Engineering Institute) đề xuất. Chuẩn CMM được xây dựng với mục tiêu ban đầu là cảnh báo tình trạng bội chi ngân sách tràn lan và hiện tượng thất bại của nhiều dự án PM thời đó. Tương tự như ISO 9001, CMM sẽ chỉ ra những qui trình mà công ty đó phải nỗ lực nhằm nâng cao hơn nữa năng lực quản lý chất lượng sản xuất PM.

    Có 5 mức độ đánh giá:

    CMM mức (level) 1 (Khởi đầu- Initial): Qui trình sản xuất PM còn lộn xộn, không khoa học, khả năng rủi ro cao. Một số công đoạn bị phụ thuộc vào một, hai cá nhân nào đó

    CMM mức 2 (Có thể lặp lại- Repeatable): Quy trình đã có sự kiểm soát bằng việc lên kế hoạch, rút kinh nghiệm từ thành công của những dự án trước. Mức này đã thiết lập một số qui trình quản lý dự án cơ bản như theo dõi chi phí, thời hạn và chức năng.

    CMM mức 3 (Đã định hình- Defined): quy trình đã được chi tiết và chuẩn hoá hơn ở khâu tổ chức. Mức này, chất lượng sản phẩm cuối cùng đã được chú trọng do công ty biết xác định qui trình tổ chức, chương trình đào tạo, quản lý PM tích hợp, hợp tác liên nhóm...

    CMM mức 4 (Được kiểm soát- Managed): Quy trình đã được công ty lượng hóa và có thể chủ động đưa ra những giải pháp chi tiết nhằm nâng cao chất lượng sản phẩm. Công ty cần tập trung hoàn thiện việc quản lý qui trình lượng hoá và quản lý chất lượng PM.

    CMM mức 5 (Tối ưu hoá-Optimizing): Quy trình đã nhuần nhuyễn bởi các khả năng: lên kế hoạch, tổ chức, đưa ra giải pháp... Ở̉ mức này, công ty có thể kiểm soát tất thảy các diễn biến có thể xảy ra trong quá trình sản xuất. Ý tưởng đổi mới công nghệ và cải thiện quy trình được nêu ra liên tục. Khả năng dự đoán, tính hiệu quả và việc quản lý qui trình PM của công ty nâng cao một cách rõ rệt.

    H.N.

    Tài liệu tham khảo

    (1) Practical CMM – Neil Potter and Mary Sakry – Software Development Magazine – Mar 2001

    (2) www.sei.cmu/pub/documents/93.reports/pdf/tr24.93.pdf  (tài liệu CMM v1.1)

     

     

    ID: B0312_30