Đo lường phần mềm
Khung đo lường phần mềm dựa trên ba nguyên tắc:
- Phân loại các thực thể cần kiểm tra
- Xác định các mục tiêu đo lường có liên quan
- Xác định mức độ trưởng thành mà tổ chức đã đạt được
Phân loại các đối tượng được kiểm tra
Trong kỹ thuật phần mềm, chủ yếu tồn tại ba lớp thực thể. Họ là -
- Processes
- Products
- Resources
Tất cả các thực thể này có thực thể bên trong cũng như bên ngoài.
Internal attributeslà những thứ có thể được đo lường thuần túy về bản thân quá trình, sản phẩm hoặc tài nguyên. Ví dụ: Kích thước, độ phức tạp, sự phụ thuộc giữa các mô-đun.
External attributeslà những giá trị chỉ có thể đo được liên quan đến mối quan hệ của nó với môi trường. Ví dụ: Tổng số lỗi mà người dùng đã trải qua, khoảng thời gian cần thiết để tìm kiếm cơ sở dữ liệu và truy xuất thông tin.
Các thuộc tính khác nhau có thể được đo lường cho mỗi thực thể như sau:
Quy trình
Quy trình là tập hợp các hoạt động liên quan đến phần mềm. Sau đây là một số thuộc tính bên trong có thể được đo lường trực tiếp cho một quá trình:
Thời gian của quá trình hoặc một trong các hoạt động của nó
Nỗ lực liên quan đến quá trình hoặc một trong các hoạt động của nó
Số lượng sự cố của một loại cụ thể phát sinh trong quá trình hoặc một trong các hoạt động của nó
Các thuộc tính bên ngoài khác nhau của một quá trình là chi phí, khả năng kiểm soát, hiệu quả, chất lượng và tính ổn định.
Các sản phẩm
Sản phẩm không chỉ là mặt hàng mà ban quản lý cam kết cung cấp mà còn là bất kỳ hiện vật hoặc tài liệu nào được tạo ra trong vòng đời phần mềm.
Các thuộc tính sản phẩm nội bộ khác nhau là kích thước, nỗ lực, chi phí, đặc điểm kỹ thuật, chiều dài, chức năng, mô đun, tái sử dụng, dự phòng và tính đúng cú pháp. Trong số những kích thước này, công sức và chi phí tương đối dễ đo lường hơn những kích thước khác.
Các thuộc tính sản phẩm bên ngoài khác nhau là khả năng sử dụng, tính toàn vẹn, hiệu quả, khả năng kiểm tra, khả năng tái sử dụng, tính di động và khả năng tương tác. Các thuộc tính này không chỉ mô tả mã mà còn mô tả các tài liệu khác hỗ trợ nỗ lực phát triển.
Tài nguyên
Đây là những thực thể được yêu cầu bởi một hoạt động quy trình. Nó có thể là bất kỳ đầu vào nào cho quá trình sản xuất phần mềm. Nó bao gồm nhân sự, vật liệu, công cụ và phương pháp.
Các thuộc tính bên trong khác nhau của tài nguyên là tuổi, giá, kích thước, tốc độ, dung lượng bộ nhớ, nhiệt độ, v.v. Các thuộc tính bên ngoài khác nhau là năng suất, kinh nghiệm, chất lượng, khả năng sử dụng, độ tin cậy, sự thoải mái, v.v.
Xác định mục tiêu đo lường có liên quan
Một phép đo cụ thể sẽ chỉ hữu ích nếu nó giúp hiểu quá trình hoặc một trong những sản phẩm kết quả của nó. Việc cải tiến quy trình hoặc sản phẩm chỉ có thể được thực hiện khi dự án đã xác định rõ ràng các mục tiêu cho quy trình và sản phẩm. Sự hiểu biết rõ ràng về các mục tiêu có thể được sử dụng để tạo ra các số liệu được đề xuất cho một dự án nhất định trong bối cảnh của khuôn khổ quá trình hoàn thiện.
Mô hình Mục tiêu – Câu hỏi – Chỉ số (GQM)
Phương pháp GQM cung cấp một khuôn khổ bao gồm ba bước sau:
Liệt kê các mục tiêu chính của dự án phát triển hoặc bảo trì
Xuất phát các câu hỏi từ mỗi mục tiêu phải được trả lời để xác định xem các mục tiêu có được đáp ứng hay không
Quyết định những gì phải được đo lường để có thể trả lời các câu hỏi một cách thỏa đáng
Để sử dụng mô hình GQM, trước tiên chúng ta thể hiện các mục tiêu tổng thể của tổ chức. Sau đó, chúng tôi tạo ra các câu hỏi sao cho biết câu trả lời để chúng tôi có thể xác định liệu các mục tiêu có được đáp ứng hay không. Sau đó, hãy phân tích từng câu hỏi dưới dạng phép đo nào chúng ta cần để trả lời từng câu hỏi.
Các mục tiêu điển hình được thể hiện bằng năng suất, chất lượng, rủi ro, sự hài lòng của khách hàng, v.v. Các mục tiêu và câu hỏi phải được xây dựng dựa trên đối tượng của họ.
Để giúp tạo ra các mục tiêu, câu hỏi và chỉ số, Basili & Rombach đã cung cấp một loạt các mẫu.
Purpose - Để (mô tả đặc điểm, đánh giá, dự đoán, thúc đẩy, v.v.) (quy trình, sản phẩm, mô hình, số liệu, v.v.) để hiểu, đánh giá, quản lý, kỹ sư, học hỏi, cải tiến, v.v. Example: Để mô tả đặc điểm của sản phẩm để tìm hiểu nó.
Perspective - Kiểm tra (chi phí, hiệu quả, tính đúng đắn, khiếm khuyết, thay đổi, các biện pháp sản phẩm, v.v.) từ quan điểm của nhà phát triển, người quản lý, khách hàng, v.v. Example: Kiểm tra các khiếm khuyết từ quan điểm của khách hàng.
Environment - Môi trường bao gồm các yếu tố sau: yếu tố quá trình, yếu tố con người, yếu tố vấn đề, phương pháp, công cụ, ràng buộc, v.v. Example: Khách hàng của phần mềm này là những người không có kiến thức về các công cụ.
Đo lường và cải tiến quy trình
Thông thường, phép đo hữu ích cho -
- Hiểu biết về quy trình và sản phẩm
- Thiết lập đường cơ sở
- Truy cập và dự đoán kết quả
Theo mức độ thuần thục của quy trình do SEI đưa ra, loại phép đo và chương trình đo sẽ khác nhau. Sau đây là các chương trình đo lường khác nhau có thể được áp dụng ở mỗi cấp độ trưởng thành.
Level 1: Ad hoc
Ở cấp độ này, các yếu tố đầu vào không được xác định rõ ràng, trong khi đầu ra được mong đợi. Quá trình chuyển đổi từ đầu vào sang đầu ra là không xác định và không được kiểm soát. Đối với mức độ thành thục của quy trình này, cần có các phép đo cơ bản để cung cấp điểm khởi đầu cho việc đo lường.
Level 2: Repeatable
Ở cấp độ này, các đầu vào và đầu ra của quá trình, các ràng buộc và tài nguyên có thể xác định được. Một quá trình lặp lại có thể được mô tả bằng sơ đồ sau.
Các thước đo đầu vào có thể là quy mô và sự biến động của các yêu cầu. Đầu ra có thể được đo lường về quy mô hệ thống, các nguồn lực về nỗ lực của nhân viên, và các ràng buộc về chi phí và lịch trình.
Level 3: Defined
Ở cấp độ này, các hoạt động trung gian được xác định, đầu vào và đầu ra của chúng được biết và hiểu rõ. Một ví dụ đơn giản về quy trình đã xác định được mô tả trong hình sau.
Đầu vào và đầu ra từ các hoạt động trung gian có thể được kiểm tra, đo lường và đánh giá.
Level 4: Managed
Ở cấp độ này, phản hồi từ các hoạt động ban đầu của dự án có thể được sử dụng để thiết lập các ưu tiên cho các hoạt động hiện tại và sau đó cho các hoạt động dự án. Chúng tôi có thể đo lường hiệu quả của các hoạt động trong quy trình. Phép đo phản ánh các đặc điểm của quá trình tổng thể và sự tương tác giữa các hoạt động chính.
Level 5: Optimizing
Ở cấp độ này, các biện pháp từ các hoạt động được sử dụng để cải thiện quy trình bằng cách loại bỏ và thêm các hoạt động của quy trình và thay đổi cấu trúc quy trình một cách linh động để đáp ứng với phản hồi đo lường. Do đó, sự thay đổi quy trình có thể ảnh hưởng đến tổ chức và dự án cũng như quy trình. Quá trình sẽ hoạt động như cảm biến và màn hình, và chúng tôi có thể thay đổi đáng kể quy trình để phản ứng với các dấu hiệu cảnh báo.
Ở một cấp độ trưởng thành nhất định, chúng tôi có thể thu thập các phép đo cho cấp độ đó và tất cả các cấp độ bên dưới nó.
Xác định mức độ trưởng thành
Quá trình trưởng thành gợi ý chỉ đo lường những gì có thể nhìn thấy được. Do đó, sự kết hợp của quá trình trưởng thành với GQM sẽ cung cấp hầu hết các biện pháp hữu ích.
Tại level 1, dự án có thể có các yêu cầu không xác định rõ. Ở cấp độ này, việc đo lường các đặc tính yêu cầu là khó khăn.
Tại level 2, các yêu cầu được xác định rõ ràng và có thể thu thập thông tin bổ sung như loại của từng yêu cầu và số lượng thay đổi đối với mỗi loại.
Tại level 3, các hoạt động trung gian được xác định với các tiêu chí vào và ra cho mỗi hoạt động
Phân tích mục tiêu và câu hỏi sẽ giống nhau, nhưng số liệu sẽ thay đổi theo thời gian trưởng thành. Quá trình càng trưởng thành, các phép đo sẽ càng phong phú hơn. Mô hình GQM, phù hợp với quá trình hoàn thiện, đã được sử dụng làm cơ sở cho một số công cụ hỗ trợ các nhà quản lý trong việc thiết kế các chương trình đo lường.
GQM giúp hiểu nhu cầu đo lường thuộc tính và mức độ trưởng thành của quá trình cho thấy liệu chúng ta có khả năng đo lường thuộc tính đó theo cách có ý nghĩa hay không. Chúng cùng nhau cung cấp bối cảnh để đo lường.