Я переконаний, що обсяг рутинної роботи з розробки програмного забезпечення є - і повинен бути - порівняно невеликим, якщо не мізерним, і що це є основоположною проблемою оцінки програмного забезпечення.
Дозвольте мені описати, як я прийшов до цього висновку, і скажіть мені, чи аргументація має якісь серйозні недоліки:
Все, що можна оцінити з високою точністю, - це рутинна робота, тобто речі, які були зроблені раніше. Всі інші види роботи, що стосуються досліджень та творчості, насправді не можна оцінити, принаймні, не з точністю, скажімо, +/- 20 відсотків.
Розробка програмного забезпечення полягає в тому, щоб уникнути повторюваних завдань. Одним із основних його принципів є ДУХА (не повторюйте себе). Кожен раз, коли програміст виявить, що він робить повторювані речі, саме час знайти абстракцію, яка уникає цього повторення. Ці абстракції можуть бути простими речами, такими як вилучення повторного коду у функцію або введення його в цикл. Вони також можуть бути складнішими, як створення мови, що залежить від домену. У будь-якому випадку їх реалізація передбачає дослідження (чи хтось робив це раніше?) Або творчість.
З цих двох пунктів роблю вищенаведений висновок.
Насправді я досить довго цікавився, чому ці відносини не згадуються в будь-якій іншій дискусії, публікації в блозі чи статті про оцінку програмного забезпечення. Це занадто теоретично? Чи мої припущення неправильні? Або це занадто банально - але тоді, чому більшість відомих мені розробників вважають, що вони можуть робити оцінки з точністю +/- 20 відсотків або вище?