Bạn không.
Chất lượng phần mềm thực sự khó đo lường khách quan. Đủ cứng để không có giải pháp. Tôi đang kiềm chế câu trả lời này để tìm hiểu câu hỏi liệu có thể có một giải pháp nào không, nhưng chỉ cần chỉ ra lý do tại sao việc xác định một câu hỏi sẽ thực sự khó khăn.
Lý do theo nguyên trạng
Như Kilian Foth đã chỉ ra, nếu có một biện pháp đơn giản cho phần mềm "tốt", tất cả chúng ta sẽ sử dụng nó và mọi người sẽ yêu cầu nó.
Có những dự án trong đó các nhà quản lý quyết định thực thi các số liệu nhất định. Đôi khi nó làm việc, đôi khi nó không. Tôi không nhận thức được bất kỳ mối tương quan đáng kể. Đặc biệt là phần mềm hệ thống quan trọng (nghĩ máy bay, ô tô, v.v.) có rất nhiều yêu cầu về số liệu để "đảm bảo" chất lượng SW - Tôi không biết về bất kỳ nghiên cứu nào cho thấy những yêu cầu này thực sự dẫn đến chất lượng cao hơn và tôi có kinh nghiệm cá nhân đối với trái ngược
Lý luận bằng phản gián
Cũng được gợi ý bởi Kilian và nói chung là "mọi số liệu có thể và sẽ được phát".
Chơi một số liệu có nghĩa là gì? Đây là một trò chơi thú vị dành cho các nhà phát triển: bạn đảm bảo các giá trị số liệu trông thực sự tốt, trong khi thực hiện các công cụ thực sự tồi tệ.
Giả sử bạn đo khuyết điểm trên mỗi LỘC. Làm thế nào tôi sẽ chơi nó? Dễ dàng - chỉ cần thêm mã! Tạo mã ngu ngốc dẫn đến không hoạt động trên 100 dòng và đột nhiên bạn có ít lỗi hơn trên mỗi LỘC. Tốt nhất của tất cả: bạn thực sự giảm chất lượng phần mềm theo cách đó.
Thiếu sót về công cụ bị lạm dụng, các định nghĩa được kéo dài đến mức tối đa, những cách hoàn toàn mới được phát minh .. về cơ bản, các nhà phát triển là những người thực sự thông minh và nếu bạn chỉ có một nhà phát triển trong nhóm của mình có các số liệu chơi vui vẻ, thì số liệu của bạn sẽ bị nghi ngờ.
Điều này không có nghĩa là các số liệu luôn xấu - nhưng thái độ của nhóm đối với các số liệu này là rất quan trọng. Đặc biệt, điều này ngụ ý rằng nó sẽ không hoạt động tốt cho bất kỳ mối quan hệ nhà thầu phụ / nhà cung cấp bên thứ 3 nào.
Suy luận sai mục tiêu
Những gì bạn muốn đo là chất lượng phần mềm. Những gì bạn làm đo lường là một hoặc nhiều số liệu.
Có một khoảng cách giữa những gì bạn đo lường và những gì bạn tin rằng nó sẽ cho bạn biết. Khoảng cách này là rất lớn thậm chí.
Nó xảy ra mọi lúc trong tất cả các loại hình kinh doanh xung quanh chúng ta. Bạn đã bao giờ thấy các quyết định dựa trên KPI (chỉ số hiệu suất chính) chưa? Đó chỉ là cùng một vấn đề - bạn muốn một công ty làm tốt, nhưng bạn đo lường một cái gì đó khác.
Lý luận bằng định lượng
Số liệu có thể được đo. Đó là lý do duy nhất chúng tôi đối phó với họ cả. Tuy nhiên, chất lượng phần mềm mở rộng vượt ra ngoài các thực thể có thể đo lường này và có rất nhiều thứ rất khó để định lượng: Mã nguồn có thể đọc được như thế nào? Làm thế nào mở rộng là thiết kế của bạn? Làm thế nào là khó khăn cho các thành viên nhóm mới để được lên tàu? Vân vân.
Đánh giá chất lượng phần mềm chỉ bằng các số liệu và nhắm mắt làm ngơ với các phần chất lượng mà bạn không thể định lượng chắc chắn sẽ không hoạt động tốt.
biên tập:
Tóm lược
Hãy để tôi chỉ ra rằng trên đây là tất cả về đánh giá khách quan xem phần mềm là tốt hay xấu dựa trên số liệu. Điều này có nghĩa, nó không nói bất cứ điều gì về việc và khi nào bạn nên áp dụng số liệu.
Trong thực tế, đây là một hàm ý đơn hướng: số liệu xấu ngụ ý mã xấu. Đơn hướng có nghĩa là mã xấu không đảm bảo số liệu xấu, cũng như số liệu tốt đảm bảo mã tốt. Mặt khác, điều này tự nó có nghĩa là bạn có thể áp dụng các số liệu để đánh giá một phần mềm - khi bạn giữ ý nghĩa này trong tâm trí.
Bạn đo phần mềm A, và các số liệu hóa ra thực sự tồi tệ. Sau đó, bạn có thể chắc chắn rằng chất lượng của mã là xấu. Bạn đo phần mềm B và các số liệu đều ổn, sau đó bạn không biết gì về chất lượng mã. Đừng dại dột nghĩ "metrics good = code good" khi nó thực sự chỉ là "code good => metrics good".
Về bản chất, bạn có thể sử dụng các số liệu để tìm các vấn đề về chất lượng, nhưng bản thân nó không phải là chất lượng.