Giới thiệu về quản lý chất lượng phần mềm
Quản lý chất lượng phần mềm 22/06/2006 Quản lý chất lượng phần mềm là vấn đề không mới nhưng theo một số đánh giá là còn yếu của các công ty phần mềm Việt Nam. Một số công ty trong nước hiện đã đạt các chuẩn quốc tế CMM/CMMI trong nâng cao năng lực và quản lý chất lượng phần mềm, song chỉ đếm được trên đầu ngón tay, và hiện cũng chỉ gói gọn trong vài công ty gia công cho thị trường nước ngoài. Làm thế nào để một công ty này đạt được chuẩn quốc tế về chất lượng phần mềm? Mỗi công ty đều có đặc thù riêng, tuy nhiên điều chung nhất là họ đều phải phát triển và duy trì một Hệ thống quản lý chất lượng phần mềm. QUẢN LÝ CHẤT LƯỢNG PHẦN MỀM LÀ GÌ ? Lâu nay, nói đến chất lượng phần mềm (PM), không ít người nghĩ ngay đến vấn đề là xác định xem PM đó có phát sinh lỗi hay không, có "chạy" đúng như yêu cầu hay không và cuối cùng thường quy về vai trò của hoạt động kiểm tra phần mềm (testing) như là hoạt động chịu trách nhiệm chính. Với quan điểm của khách hàng, điều này có thể đúng, họ không cần quan tâm nội tình của hoạt động phát triển PM, điều họ cần quan tâm là liệu sản phẩm cuối cùng giao cho họ có đúng hạn hay không và làm việc đúng như họ muốn hay không. Tuy nhiên theo quan điểm của người phát triển PM, thực tế cho thấy hoạt động kiểm tra PM là quan trọng, nhưng không đủ để đảm bảo sản phẩm sẽ được hoàn thành đúng hạn và đúng yêu cầu. Kiểm tra sau cùng để phát hiện lỗi là điều tất nhiên phải làm, nhưng trong rất nhiều trường hợp, điều đó thường quá trễ và sẽ phải mất rất nhiều thời gian để sửa chữa. Thực tế cho thấy, để đảm bảo được hai tiêu chí "đơn giản" trên của khách hàng, đòi hỏi tổ chức không chỉ vận hành tốt khâu kiểm tra PM, mà phải tổ chức và duy trì sự hoạt động nhịp nhàng của cả một hệ thống các công việc liên quan đến một dự án PM, từ đây xuất hiện một khái niệm có tên là "hệ thống quản lý chất lượng phần mềm" (HTQLCLPM), bao gồm các quy trình được thực thi xuyên suốt chu kỳ phát triển của dự án PM. Hiện có nhiều mô hình cung cấp các tiêu chuẩn cũng như hướng dẫn để triển khai HTQLCLPM. Hai trong số những mô hình được áp dụng rộng rãi hiện nay là ISO 9001-2000 và CMM/CMMi. Trong khi ISO 9001- 2000 là tiêu chuẩn quản lý chất lượng dành cho tất cả các ngành nghề với những điều khoản ngắn gọn và mang tính tổng quát, thì CMM/CMMi là một bộ tập hợp khá đồ sộ các kinh nghiệm thực hành (gần 450 trang với CMM, và gần 700 trang với CMMi) có thể làm người đọc chưa có kinh nghiệm khó biết được các hoạt động và yếu tố đặc trưng cơ bản của HTQLCLPM là gì. Qua một số tài liệu tham khảo, cũng như bằng kinh nghiệm bản thân khi nghiên cứu và ứng dụng ISO 9001-2000 và CMM/CMMi, chúng tôi sẽ trình bày các khái niệm, hoạt động cũng như yếu tố cơ bản cấu thành HTQLCLPM. CĂN BẢN VỀ HTQLCLPM Một HTQLCLPM thường có 2 mục tiêu (hình 1): • Mục tiêu thứ nhất: xây dựng chất lượng cho PM ngay từ giai đoạn bắt đầu. Điều này đồng nghĩa với việc bảo đảm các yêu cầu cho PM từ mọi nguồn khác nhau phải được định nghĩa, diễn đạt và hiểu một cách đúng đắn, giữa người đưa ra Hình 1: Các mối quan hệ. Bảng: Một số tài liệu cơ bản thông dụng. Kích thước dự án Tài liệu thường có Nhỏ Đặc tả yêu cầu Tài liệu thiết kế Kết quả kiểm tra phần mềm Các kế hoạch của dự án Ttrung bình Tài liệu như dự án nhỏ, cộng thêm Thiết kế cấp cao Thiết kế chi tiết Các trường hợp kiểm tra (test cases) Lớn Tài liệu như dự án trung bình, cộng thêm Kế hoạch kiểm tra Các yêu cầu và thiết kế giao tiếp Các tài liệu khác (không phụ thuộc kích thước dự án) Yêu cầu và thiết kế cơ sở dữ liệu Hướng dẫn thao tác và sử dụng phần mềm Kế hoạch bảo trì Kế hoạch huấn luyện Kế hoạch kiểm soát rủi ro Kế hoạch an toàn