Ви цього не робите.
Якість програмного забезпечення об'єктивно виміряти важко. Досить важко, що немає рішення. Я утримуюсь у цій відповіді, щоб посперечатися на питання, чи взагалі може бути рішення, але просто зазначу, чому визначити його було б дуже важко.
Обґрунтування статусом
Як зазначав Кіліан Фот, якби була проста міра для "хорошого" програмного забезпечення, ми б всі використовували його, і кожен би вимагав цього.
Є проекти, в яких менеджери вирішили застосувати певні показники. Іноді це працювало, інколи - ні. Я не знаю жодних суттєвих кореляцій. Особливо критичні системні програми (думаю, літаки, машини та ін.) Мають багато вимог до метрики, щоб "забезпечити" якість ПЗ - я не знаю жодного дослідження, яке б показало, що ці вимоги насправді призводять до підвищення якості, і я маю особистий досвід роботи навпаки.
Міркування контррозвідкою
Також натякає Кіліан, і в більш загальному вигляді він виражається як "кожен показник може і буде відтворений".
Що означає грати метрику? Це весела гра для розробників: ви гарантуєте, що метричні показники виглядають дуже добре, роблячи справді неприємні речі.
Скажімо, ви вимірюєте дефекти на LOC. Як я буду це грати? Легко - просто додайте більше коду! Зробіть дурний код, що призводить до неробочої роботи понад 100 рядків і раптом у вас менше дефектів на LOC. Найкраще: ви фактично таким чином знизили якість програмного забезпечення.
Недоліки інструментів зловживаються, визначення розтягується на максимум, винайдені абсолютно нові способи .. в основному, розробники справді розумні люди, і якщо у вас є лише один розробник у вашій команді, який весело грає в метрики, тоді ваші показники будуть сумнівними.
Це не означає, що показники завжди погані - але ставлення команди до цих показників є вирішальним. Зокрема, це означає, що це не буде добре для жодних відносин субпідрядників та постачальників.
Обґрунтування неправильним націленням
Ви хочете виміряти якість програмного забезпечення. Що ви вимірюєте, це одна чи кілька показників.
Існує розрив між тим, що ви вимірюєте, і тим, що ви вірите, що це скаже вам. Цей розрив є наче величезним рівним.
Це відбувається постійно у всіляких бізнесах навколо нас. Чи бачили ви коли-небудь рішення на основі KPI (ключових показників ефективності)? Це просто та сама проблема - ти хочеш, щоб компанія робила добре, але ти міряєш щось інше.
Обґрунтування кількісно вимірюваним
Показники можна виміряти. Це єдина причина, коли ми взагалі з ними маємо справу. Якість програмного забезпечення, однак, виходить за межі цих вимірюваних об'єктів, і його багато що важко оцінити: наскільки читабельним є вихідний код? Наскільки розширюється ваш дизайн? Наскільки важко новим членам команди стати на борт? тощо.
Судити про якість програмного забезпечення лише за показниками та закривати очі на ті якості, які неможливо оцінити, це, звичайно, не вийде добре.
редагувати:
Підсумок
Дозвольте зазначити, що вище сказане стосується об'єктивного судження про те, добре чи погано програмне забезпечення на основі показників. Це означає, що це нічого не говорить про те, чи слід застосовувати показники і коли.
Насправді це односпрямоване значення: погані метрики означають поганий код. Односпрямований означає, що поганий код не гарантує поганих показників, а також хороший показник не гарантує хорошого коду. З іншого боку, це саме по собі означає, що ви можете застосовувати метрики, щоб оцінити частину програмного забезпечення - коли ви пам’ятаєте про це.
Ви вимірюєте програмне забезпечення A, і показники виходять дуже поганими. Тоді ви можете бути впевнені, що якість коду погана. Ви вимірюєте програмне забезпечення B, а показники в порядку, тоді ви не маєте поняття про якість коду. Не обманюйте себе думкою "метрика хороша = код хороша", коли це дійсно просто "код хороший => метрика хороший".
По суті, ви можете використовувати метрики для пошуку проблем із якістю, але не самої якості.