ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
685761 Топик полностью
fk0, легенда (10.07.2016 13:42 - 13:55, просмотров: 165) ответил fk0 на "Любая программа пишется студентом за 2 месяца"... Проблема непрофессионалов в разработке ПО -- в неверной оценки сложности ПО. Точка.
Кстати есть такая штука -- sloccount. Я вначале очень смеялся над её результатом, но прошли годы, кругозор стал несколько шире. И я понял, что она даёт результат очень приближенный к действительности. Тот результат, на основе которого можно осуществлять планирование. И по срокам, и по числу разработчиков, и по деньгам. Конечно, программист будет бить себя пяткой в грудь и говорить, мол выдаст такой результат не за два месяца, как студент, но положим за полгода. Но в реальности это окажется 1/6 часть времени, потому, что потом начнётся сплошной багфикс, в ходе которого всё будет переписано по два раза, потом тестирование, потом доработки по результатам опытной эксплуатации. И реальность оказывается совсем не такая как казалось студенту. И вот что она выдаёт для одного прибора (посчитана реализация меню, дисплея, и собственно код организующий конкретное меню, ничего лишнего):
Total Physical Source Lines of Code (SLOC)                = 2,537
Development Effort Estimate, Person-Years (Person-Months) = 0.53 (6.38)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 0.42 (5.06)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 1.26
Total Estimated Cost to Develop                           = $ 71,809
Реально на тот прибор было потрачено полтора года (на программирование). Правда много общего с параллельным очень похожим прибором. Итог:
Total Physical Source Lines of Code (SLOC)                = 15,577
Development Effort Estimate, Person-Years (Person-Months) = 3.57 (42.89)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 0.87 (10.43)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 4.11
Total Estimated Cost to Develop                           = $ 482,780
 (average salary = $56,286/year, overhead = 2.40).
Или вот работа занявшая примерно 5 лет (там нет стороннего кода, написанного кем-то заранее):
Total Physical Source Lines of Code (SLOC)                = 62,839
Development Effort Estimate, Person-Years (Person-Months) = 15.46 (185.50)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 1.52 (18.19)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 10.20
Total Estimated Cost to Develop                           = $ 2,088,249
 (average salary = $56,286/year, overhead = 2.40).
Очень удобно, что в конце написаны суммы. Они очень не совпадают с тем, что я фактически получил на руки (с учётом весьма средней зряплаты по меркам США, поделив на overhead в 2.40 и даже ещё откинув половину т.к. не США всё-таки). Т.е. пять лет моей жизни было потраченно абсолютно напрасно.
[ZX]