Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?
Если взять n чел. таких спецов — насколько будут разниться оценки? И сколько стоит такая оценка?
Известен ли вам хотя бы один человек, кто бы смог провести данную работу?
Здравствуйте, Shmj, Вы писали:
S>Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?
S>Если взять n чел. таких спецов — насколько будут разниться оценки? И сколько стоит такая оценка?
Ты лучше требования к готовому продукту дай, тогда можно получить более-менее правдоподобную оценку трудозатрат. И у разных профи оценка будет всего лишь раза в 2 отличаться.
А по коду определить сколько его писали — бред несусветный. Ты же не знаешь, сколько раз его читали, сколько раз меняли, прежде чем была сделана окончательная версия. И чем больше следили за качеством кода — тем код легче читается, тем он проще, и тебе покажется, что его легко писать. В результате оценка трудозатрат гов..да будет больше, чем оценка почти идеального кода, на который в реальности потратили в 5 раз больше времени.
Re[2]: Кто может определить затраченное время, проанализиров
Здравствуйте, Gradiens, Вы писали:
G>Ты лучше требования к готовому продукту дай, тогда можно получить более-менее правдоподобную оценку трудозатрат. И у разных профи оценка будет всего лишь раза в 2 отличаться.
Бред полнейший. Во-первых, никто не знает точных требований на этапе планирования — как правило есть лишь некое понимание цели и направление куда развивать. Уже в процессе появляются разные варианты, из которых нужно выбирать.
Во-вторых, на одно и то же Т.З. у разных спецов реальная оценка отличалась на 2 порядка и это не выдумка. То что один оценил в $150 и 3 дня, другой оценил в $15 тыс. и пару месяцев. Это реальность.
И главное — нет методики оценки. Ни одной! Тот же метод функциональных точек — довольно приблизительную оценку дает.
G>А по коду определить сколько его писали — бред несусветный. Ты же не знаешь, сколько раз его читали, сколько раз меняли, прежде чем была сделана окончательная версия.
Посмотри репозиторий — в чем проблема? Там есть все изменения с комментами.
G>И чем больше следили за качеством кода — тем код легче читается, тем он проще, и тебе покажется, что его легко писать.
Мне так не покажется — я знаю цену простому коду и знаю что упрощать — сложно, а усложнять — просто. Может быть ты этого не знаешь и тебе так покажется.
G>В результате оценка трудозатрат гов..да будет больше, чем оценка почти идеального кода, на который в реальности потратили в 5 раз больше времени.
Здравствуйте, Shmj, Вы писали:
S>Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?
S>Если взять n чел. таких спецов — насколько будут разниться оценки? И сколько стоит такая оценка?
S>Известен ли вам хотя бы один человек, кто бы смог провести данную работу?
Если код написан относительно сносно, не в одну строку, то по количеству строк можно дать оценки за какое минимальное время его можно переписать, не разбираясь в деталях кода, т.к. с большой вероятностью потребуется меньшее количество кода из-за наличия как правило не используемого legacy и ты знаешь что быстрее 190 строчек в час тебе не настрочат нормальные разработчики, но это и компенсируется временем чтения и разбора старого кода.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[2]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, okon, Вы писали:
O>Если код написан относительно сносно, не в одну строку, то по количеству строк можно дать оценки за какое минимальное время его можно переписать, не разбираясь в деталях кода,
Если уж переписать — то легче в килобайтах мерять, чем в строках Сколько килобайт в день?
Но тут вопрос не о переписать/отрефакторить а дать оценку труду. Имеем репозиторий, видим все коммиты. Имеем оконченный продукт. Можно ли оценить, сколько заняло времени его написание?
Re[3]: Кто может определить затраченное время, проанализиров
Здравствуйте, Shmj,
S> Во-вторых, на одно и то же Т.З. у разных спецов реальная оценка отличалась на 2 порядка и это не выдумка. То что один оценил в $150 и 3 дня, другой оценил в $15 тыс. и пару месяцев. Это реальность.
Это ясно говорит о качестве этого "Т.З."
Re: Кто может определить затраченное время, проанализировав код?
Здравствуйте, Shmj, Вы писали:
S>Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?
Почему нет? Извлекаем из кода функциональные и нефункциональные требования к системе, требования к ЯП, библиотекам, качеству кода, тестированию. И сводим задачу к уже известной — определение затрат на написание кода по требованиям.
Re[4]: Кто может определить затраченное время, проанализиров
Здравствуйте, Vlad_SP, Вы писали:
V_S>Это ясно говорит о качестве этого "Т.З."
Написать качественное Т.З. можно уже ПОСЛЕ того, как создан проект. Т.е. сначала создаете проект, понимаете все проблемы. Потом просто описываете что вы сделали — вот вам и качественное Т.З., в котором не будет косяков.
Но стоимость создания такого Т.З. — выше стоимости разработки.
Лично я встречал такие Т.З. несколько раз — это были проверочные проекты, которые давали нескольким разработчикам с целью посмотреть кто лучше/быстрее выполнит. Т.З. было полным именно по той причине, что было написано ПОСТФАКТУМ.
Ну, еще можно вспомнить историю создания рамблера — как Т.З. писали крутые оксфордские (или какие там) дядьки за сотни тысяч долларов, но все делалось чисто для понта.
Реальные проекты делаются без Т.З. — есть лишь примерный очерк, который корректируется по ходу работ.
З.Ы.
А, еще вспомнил пример почти полного Т.З. Когда сделали аппликуху для Android и потом нужно было сделать полный аналог для Win Mobile 10 (когда он еще был жив). Ну да, когда сделано все на родственной технологии — то имели достаточно полное Т.З.
С другой стороны в Т.З. достаточно сложно описать какое качество кода нужно — а когда есть живой код — ты это просто видешь и понимаешь.
Здравствуйте, scf, Вы писали:
scf>Почему нет? Извлекаем из кода функциональные и нефункциональные требования к системе, требования к ЯП, библиотекам, качеству кода, тестированию. И сводим задачу к уже известной — определение затрат на написание кода по требованиям.
А какую методику вы примените, получив "функциональные и нефункциональные требования к системе"?
Если метод функциональных точек — так там все гораздо проще — есть таблица, где для каждого языка программирования указано сколько строк кода приходится на 1 FP
Re: Кто может определить затраченное время, проанализировав код?
Здравствуйте, Shmj,
S>Написать качественное Т.З. можно уже ПОСЛЕ того, как создан проект. Т.е. сначала создаете проект, понимаете все проблемы. Потом просто описываете что вы сделали — вот вам и качественное Т.З., в котором не будет косяков. S>Лично я встречал такие Т.З. несколько раз — это были проверочные проекты, которые давали нескольким разработчикам с целью посмотреть кто лучше/быстрее выполнит. Т.З. было полным именно по той причине, что было написано ПОСТФАКТУМ.
Я бы рекомендовал ознакомиться с советскими ГОСТ-ами тысяча-девятьсот-замшелого года. Они как раз описывают несколько стадий разработки. Там все это есть.
(Ах да, современным мальчикам — руками водителям с MBA западло читать советские ГОСТы и осознавать, что все уже украдено придумано задолго до них...)
По моему мнению, хорошее ТЗ — это примерно 60% работы, и оно не появляется на пустом месте.
Re[2]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, Shmj, Вы писали:
S>Имеем репозиторий, видим все коммиты. Имеем оконченный продукт. Можно ли оценить, сколько заняло времени его написание?
Да. Дата последнего коммита минус дата первого коммита.
Re[3]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, Vlad_SP, Вы писали:
vsb>>1 час = 5 строк.
V_S>Это еще фигня. Доводилось где-то читать, что скорость написания кода в NASA — две строки кода в месяц
Ну это для специалистов экстра-класса. Для просто средних так. Если больше 10 строк в час, значит жуниёр {%
Re[4]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, fmiracle, Вы писали:
F>1. А кто сказал что надо оценить трудозатраты а не время?
А что значит "оценить трудозатраты"? В каких единицах измерения вы их будете исчислять?
Если выразить в часах среднего спеца, то не сложно сказать сколько это стоит — рыночная зарплата в России — около 800 руб. в час. ну и около 1000 руб. в час для Москвы.
А если не в часах — то в чем?
Re[3]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, Gradiens, Вы писали:
G>А по коду определить сколько его писали — бред несусветный. Ты же не знаешь, сколько раз его читали, сколько раз меняли, прежде чем была сделана окончательная версия.
И сколько раз заказчик задачу менял
Re: Кто может определить затраченное время, проанализировав код?
Здравствуйте, Shmj, Вы писали:
S>Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?
S>Если взять n чел. таких спецов — насколько будут разниться оценки? И сколько стоит такая оценка?
S>Известен ли вам хотя бы один человек, кто бы смог провести данную работу?
Нет, потому что за строками кода не видно истории.
100 строк кода в начале проекта и 100 строк в конце проекта могут на порядки отличаться по затратам.
Re: Кто может определить затраченное время, проанализировав код?
Здравствуйте, gandjustas, Вы писали:
G>Нет, потому что за строками кода не видно истории. G>100 строк кода в начале проекта и 100 строк в конце проекта могут на порядки отличаться по затратам.
Можно ведь не просто считать строки а еще и смотреть что именно там написано
Re[2]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, TimurSPB, Вы писали:
S>>Известен ли вам хотя бы один человек, кто бы смог провести данную работу? TSP>Нужно посмотреть время от создания ветки до мёрджа в мастер.
Кто сказал что чел. работал постоянно?
Re[3]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, gandjustas, Вы писали:
G>>Нет, потому что за строками кода не видно истории. G>>100 строк кода в начале проекта и 100 строк в конце проекта могут на порядки отличаться по затратам.
S>Можно ведь не просто считать строки а еще и смотреть что именно там написано
Там что-то разное будет написано в начале и в конце проекта?
Re[3]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, Sharov, Вы писали:
S>Здравствуйте, Vlad_SP, Вы писали:
V_S>>Это еще фигня. Доводилось где-то читать, что скорость написания кода в NASA — две строки кода в месяц
S>Пока оне там протестируют, проверят что ничего не сломалось и т.д. К тому же, язык может быть какой-нибудь изотерический.
В NASA вроде бы используют язык Ада. А затраты на тестирование и исследования там наверняка затраты на разработку превышают. Что легко объяснимо — если ошибка обнаружится в процессе эксплуатации, то исправить будет трудно. Но такую возможность, видимо, предусматривают. Кажется на Хабре читал, что Вояджерам обновляли софт во время полёта.
Re[4]: Кто может определить затраченное время, проанализировав код?
Здравствуйте, gandjustas, Вы писали:
S>>Можно ведь не просто считать строки а еще и смотреть что именно там написано G>Там что-то разное будет написано в начале и в конце проекта?
Код, который нужно проанализировать и понять насколько сложно было и сколько примерно заняло времени.
Re[3]: Кто может определить затраченное время, проанализиров
Здравствуйте, Hobbes, Вы писали:
H>И сколько раз заказчик задачу менял
По коммитам будет видно.
Ну и можно посчитать хотя бы минимум — считаем что задача не менялась а просто уточнялась и в конечном итоге пришли к такому выражению решения в виде кода.