Страницы

Поиск по вопросам

понедельник, 25 февраля 2019 г.

Определение стоимости рефакторинга [закрыт]

Есть проект, написанный на borland builder c++ 6. Требуется переделать код под msvc 2015, т.е. по сути сделать рефакторинг. Объем кода известен. Скажем, суммарно 3 Мб (это без ресурсов: иконок, картинок и т.п. - чисто код).
Подскажите, какие есть best practices для определения нижней границы стоимости рефакторинга (в любых единицах: человеко-часы, денежные единицы - что угодно).


Ответ

Эвристический алгоритм для одного разработчика
Пометка: допустим, что 3Mb это примерно 80т строк кода.
Начинаем делать рефакторинг и делаем его в течение, скажем, 4х часов. Подсчитываем количество строк кода, которые удалось обработать за это время. Делим это число на 4ч, получаем грубую оценку X строк за час. Вычисляем общее количество часов, выполняя деление 80000/X, получив Y часов. Полученное значение необходимо умножить на "коэффициент разработчика" примерно от 0.5 до 4, для того чтобы зарезервировать время на непредвиденные сложности. Т.е. допустим разработчик-оптимист оценил задачу на 10ч, а по факту вышло 25ч из которых 15ч ушло на непредвиденные сложности в процессе работы, то коэффициент был бы равен 2.5 для данной задачи. Ну и к полученным в ходе данных вычислений часам, необходимо добавить ещё какой-то процент "на всякий пожарный", скажем 15% от полученного числа.
На примере
За 4ч скажем получилось обработать 250 строк. 250/4 ~~ 62стр/ч. 80000/62 ~~ 1290ч. Пусть коэффициент будет 3. 1290ч * 3 = 3870ч. И с 15% будет 4450.5ч. 4450.5ч - это примерно 111 человеко/недель, т.е. около 2-х человеко/лет.
Ну, а зная человеко-часы, вычислить денежные единицы - задача тривиальная.

Комментариев нет:

Отправить комментарий