Не впевнений, чи вважаєте ви це елегантним, але Уоттс Хамфрі написав цілу книгу під назвою «Програмне забезпечення персонального програмного забезпечення», яка стосувалася вимірювання вашої власної продуктивності. Він окреслив показники для введення даних, таких як час у вашому столі та перебої, час, витрачений на роботу над різними видами життєвого циклу програмного забезпечення, дефекти на кількість коду. Існує технічний звіт, який дає коротку версію за адресою:
http://www.sei.cmu.edu/library/abstracts/reports/00tr022.cfm
Якщо ви хочете подивитися на щось на зразок якості коду розробника, Chidamber & Kemerer запропонували кілька показників для об'єктно-орієнтованого коду.
Метрики для об'єктно-орієнтованого коду
- глибина дерева спадкування,
- зважена кількість методів,
- кількість функцій члена,
- кількість дітей та
- з’єднання між предметами.
Використовуючи базу коду, вони намагалися співвіднести ці показники з щільністю дефектів та зусиллями з обслуговування, використовуючи коваріантний аналіз. Пізніші дослідження провели аналогічний аналіз для сотень проектів Source Forge Java, щоб визначити їх характеристики щодо метрик CK та деяких додаткових показників, запропонованих пізніше.
Метрики, що виникають у контексті оглядів коду
Дефекти можна класифікувати за багатьма критеріями:
- тяжкість: (основна, незначна, косметична, розслідувати / невідома),
- тип (логіка, помилка друку, написання, порушення кодування стандартів тощо),
- походження / фазове стримування (вимоги, дизайн, код тощо).
Також передбачені показники підготовки та перевірки (час на рецензента, час на рядок коду) та щільність дефектів (за KLOC (тис. Рядків коду), за хвилину часу інспектора / рецензента).
Позначення цих значень на контрольних діаграмах може показати нам, чи знаходимося ми в межах процесу (наприклад, команда, яка перевіряє 200 рядків коду, яка не виявляє дефектів у групі, яка в середньому становить двадцять п’ять дефектів на KLOC, може бути несправною).
Інші показники
Інші показники, які можуть допомогти, включають ці для
Обмеження аналізу
Існують величезні обмеження щодо значення показників. Помилки, виправлені на розробника, можуть означати майже все, і коли ви почнете карати або винагороджувати за це вимірювання, я думаю, що помилки стануть більш численні та деталізовані, а суміш виправлених помилок із складними та легкими помилками також зміниться, коли команда вишні вибиратиме в змагатись, щоб мати найбільше.
Також існує певна відволікання і, можливо, втрата уваги та насолоди, що може спричинити нав'язливе вимірювання. Ви не можете отримати набагато елегантнішого (і емоційно обтяженого), ніж озерний поет, як Вордсворт, який сказав:
Sweet is the lore which Nature brings;
Our meddling intellect
Mis-shapes the beauteous forms of things:--
We murder to dissect.
Хоча програмне забезпечення не є саме природою, дайте мені широту, тому що я думав, що ніколи не змушуся використовувати щось із класу англійської літератури середньої школи.
Спритний може вважатися реакцією на великий централізований процес. Іноді такий режим роботи може вимагати стільки аналітичних зусиль, щоб можливість досягти потоку під час створення програмного забезпечення майже не зникала.