[Chất lượng phần mềm] Các phép đo trong dự án phần mềm (Software Metrics)
Các phép đo trong dự án phần mềm là công cụ dể biểu diễn khối lượng, số lượng, hoặc thuộc tính chất lượng của một sản phẩm, hoặc một quy trình tạo ra sản phẩm phần mềm. Thông thường, các phép đo này có thể được xây dựng lên bởi các công ty phần mềm, tùy theo nhu cầu quản trị của công ty, hoặc tham khảo những tiêu chuẩn như ISO, hoặc theo những bài học kinh nghiệm thuộc mô hình CMMI.
Nguyên lý của các phép đo trong dự án phần mềm
Các phép đo trong dự án phần mềm được tạo lên bởi 5 thành phần chính
Thành phần | Giải thích chi tiết | Ví dụ |
---|---|---|
1. Tên gọi | Cách đặt tên cho từng phép đo, từ đó người dùng có thể mường tượng được phép đo đó dùng để làm gì | Tỉ lệ lỗi lọt của sản phẩm bàn giao (Leakage Ratio) |
2. Công thức | Công thức tính toán của phép đo | Tổng số lỗi lọt / Tổng số lỗi của dự án |
3. Cách thức thu thập | Xác định nguồn dữ liệu lấy từ đâu, thu thập thủ công hay tự động | Lỗi lọt của dự án đếm trên báo cáo UAT, Lỗi của dự án đếm trên JIRA của dự án, type = Bug |
4. Cách thức phân tích | Quan điểm phân tích cho các trường hợp thường gặp | Tỉ lệ lỗi lọt của sản phẩm bàn giao cao: Chất lượng của sản phẩm trong khâu kiểm soát nội bộ chưa tốt |
5. Chỉ số dự kiến | Nếu phép đo này là tốt, thì kết quả thường nằm trong khoảng từ A - B. Nằm ngoài khoảng này là kết quả không tốt | Tỉ lệ lỗi lọt của sản phẩm bàn giao nằm trong ngưỡng từ 0 - 8% |
Các phép đo được xây dựng lên nhằm phục vụ cho 4 chức năng chính:
- Lập kế hoạch: Dựa trên kết quả từ các dự án trước để thiết lập mục tiêu đo cho dự án hiện tại.
- Tổ chức: Với mục tiêu đo như vậy, cần xây dựng cơ cấu dự án ra sao, tổ chức các hoạt động đảm bảo chất lượng (review, test,...) như thế nào
- Kiểm soát: Định kỳ thu thập kết quả đo để đánh giá với mục tiêu đề ra ban đầu
- Cải tiến: Theo dõi xu hướng tốt/xấu của từng phép đo để xác định các hành động cải tiến
Đặc điểm của các phép đo trong dự án phần mềm
- Định lượng: Theo tính chất tự nhiên, phép đo cần là một công thức, cần là một kết quả định lượng. Nó cần được biểu diễn bằng một con số nào đó
- Dễ hiểu: Công thức tính, cách thức thu thập phải dễ hiểu để có thể làm đúng, triển khai được.
- Có khả năng triển khai được: Tùy theo công cụ, con người sẵn có, đơn vị cần xác định ra các phép đo phù hợp để có thể triển khai được. Nếu phép đo quá khó, hoặc tốn công sức trong quá trình triển khai, thì khả năng phép đo đó sẽ không được thực hiện trong thực tế.
- Lặp lại được: Để đánh giá xu hướng, phép đo cần lặp lại được ở các chu kỳ/giai đoạn khác nhau
- Độc lập với ngôn ngữ: Các phép đo không bị phụ thuộc bởi loại hình ngôn ngữ lập trình của dự án.
Phân loại các phép đo
- Phép đo về sản phẩm: Nhằm đánh giá được một khía cạnh, một góc nhìn nào đó về dự án. Ví dụ: Độ lớn của sản phẩm (đo theo Line of code), độ phức tạp, độ bao phủ, mật độ lỗi trên sản phẩm,...
- Phép đo về quy trình: Đánh giá tính hiệu quả của quy trình, ví dụ như: Tỉ lệ gây lỗi theo công đoạn (Defect Rejection Rate), Thời gian chờ (Lead time)
- Phép đo về dự án: Đánh giá các khía cạnh của dự án như: Độ lệch lịch trình thực hiện dự án (schedule variance), độ lệch về công số (effort variance), năng suất trung bình
Lợi ích của việc triển khai các phép đo
- Giảm thiểu chi phí và ngân sách
- Nhận diện được những điểm cần cải tiến
- Kiểm soát được trong quá trình
- Hỗ trợ việc lập kế hoạch, giám sát và kiểm soát hiệu quả xuyên suốt vòng đời của dự án
All Rights Reserved