Метрика програмного забезпечення

Метрика програмного забезпечення(англ. software metric ) - Захід, що дозволяє отримати чисельне значення деякої властивості програмного забезпечення або його специфікацій.

Оскільки кількісні методи добре зарекомендували себе в інших галузях, багато теоретиків і практик інформатики намагалися перенести даний підхід і в розробку програмного забезпечення. Як сказав Том ДеМарко, "ви не можете контролювати те, що не можете виміряти".

Набір використовуваних метрик включає:

Потенційні недоліки підходу, на які націлена критика:

  • Неетичність: Стверджується, що неетично судити про продуктивність програміста за метриками, введеними для оцінки ефективності програмного коду. Такі відомі метрики, як кількість рядків коду та цикломатична складність, часто дають поверхове уявлення про "вдалість" вибору того чи іншого підходу при вирішенні поставлених завдань, однак, нерідко вони розглядаються як інструмент оцінки якості роботи розробника. Такий підхід досить часто призводить до зворотного ефекту, що призводить до появи в коді більш довгих конструкцій та надлишкових необов'язкових методів.
  • Заміщення «управління людьми» на «управління цифрами», яке не враховує досвід співробітників та їх інших якостей
  • Спотворення: Процес вимірювання може бути спотворений за рахунок того, що співробітники знають про показники, що вимірюються, і прагнуть оптимізувати ці показники, а не свою роботу. Наприклад, якщо кількість рядків вихідного коду є важливим показником, то програмісти будуть прагнути писати якнайбільше рядків і не будуть використовувати способи спрощення коду, що скорочують кількість рядків.
  • Неточність: Немає метрик, які були б одночасно значущі і досить точні.Кількість рядків коду - це просто кількість рядків, цей показник не дає уявлення про складність проблеми, що вирішується. Аналіз функціональних точок був розроблений з метою кращого виміру складності коду та специфікації, але він використовує особисті оцінки вимірювального, тому різні люди отримають різні результати.