Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 29.08.19 02:15
Оценка:
Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?

Если взять n чел. таких спецов — насколько будут разниться оценки? И сколько стоит такая оценка?

Известен ли вам хотя бы один человек, кто бы смог провести данную работу?
Отредактировано 29.08.2019 17:38 Shmj . Предыдущая версия . Еще …
Отредактировано 29.08.2019 2:40 Shmj . Предыдущая версия .
Re: Кто может определить время, взглянув на код?
От: BOBKA_XPEH Новая Зеландия  
Дата: 29.08.19 02:51
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Известен ли вам хотя бы один человек, кто бы смог провести данную работу?


Shmj, он побитно из будущего получает.
Гей хлопци — шлях в Европу!
Re: Кто может определить затраченное время, проанализировав код?
От: Gradiens  
Дата: 02.09.19 13:34
Оценка: +4
Здравствуйте, Shmj, Вы писали:

S>Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?


S>Если взять n чел. таких спецов — насколько будут разниться оценки? И сколько стоит такая оценка?


Ты лучше требования к готовому продукту дай, тогда можно получить более-менее правдоподобную оценку трудозатрат. И у разных профи оценка будет всего лишь раза в 2 отличаться.

А по коду определить сколько его писали — бред несусветный. Ты же не знаешь, сколько раз его читали, сколько раз меняли, прежде чем была сделана окончательная версия. И чем больше следили за качеством кода — тем код легче читается, тем он проще, и тебе покажется, что его легко писать. В результате оценка трудозатрат гов..да будет больше, чем оценка почти идеального кода, на который в реальности потратили в 5 раз больше времени.
Re[2]: Кто может определить затраченное время, проанализиров
От: Shmj Ниоткуда  
Дата: 02.09.19 15:58
Оценка: -2
Здравствуйте, Gradiens, Вы писали:

G>Ты лучше требования к готовому продукту дай, тогда можно получить более-менее правдоподобную оценку трудозатрат. И у разных профи оценка будет всего лишь раза в 2 отличаться.


Бред полнейший. Во-первых, никто не знает точных требований на этапе планирования — как правило есть лишь некое понимание цели и направление куда развивать. Уже в процессе появляются разные варианты, из которых нужно выбирать.

Во-вторых, на одно и то же Т.З. у разных спецов реальная оценка отличалась на 2 порядка и это не выдумка. То что один оценил в $150 и 3 дня, другой оценил в $15 тыс. и пару месяцев. Это реальность.

И главное — нет методики оценки. Ни одной! Тот же метод функциональных точек — довольно приблизительную оценку дает.

G>А по коду определить сколько его писали — бред несусветный. Ты же не знаешь, сколько раз его читали, сколько раз меняли, прежде чем была сделана окончательная версия.


Посмотри репозиторий — в чем проблема? Там есть все изменения с комментами.

G>И чем больше следили за качеством кода — тем код легче читается, тем он проще, и тебе покажется, что его легко писать.


Мне так не покажется — я знаю цену простому коду и знаю что упрощать — сложно, а усложнять — просто. Может быть ты этого не знаешь и тебе так покажется.

G>В результате оценка трудозатрат гов..да будет больше, чем оценка почти идеального кода, на который в реальности потратили в 5 раз больше времени.


Это если оценивать будет человек несведущий.
Отредактировано 02.09.2019 16:04 Shmj . Предыдущая версия .
Re: Кто может определить затраченное время, проанализировав код?
От: okon  
Дата: 02.09.19 16:22
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?


S>Если взять n чел. таких спецов — насколько будут разниться оценки? И сколько стоит такая оценка?


S>Известен ли вам хотя бы один человек, кто бы смог провести данную работу?



Если код написан относительно сносно, не в одну строку, то по количеству строк можно дать оценки за какое минимальное время его можно переписать, не разбираясь в деталях кода, т.к. с большой вероятностью потребуется меньшее количество кода из-за наличия как правило не используемого legacy и ты знаешь что быстрее 190 строчек в час тебе не настрочат нормальные разработчики, но это и компенсируется временем чтения и разбора старого кода.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[2]: Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 02.09.19 17:11
Оценка:
Здравствуйте, okon, Вы писали:

O>Если код написан относительно сносно, не в одну строку, то по количеству строк можно дать оценки за какое минимальное время его можно переписать, не разбираясь в деталях кода,


Если уж переписать — то легче в килобайтах мерять, чем в строках Сколько килобайт в день?

Но тут вопрос не о переписать/отрефакторить а дать оценку труду. Имеем репозиторий, видим все коммиты. Имеем оконченный продукт. Можно ли оценить, сколько заняло времени его написание?
Re[3]: Кто может определить затраченное время, проанализиров
От: Vlad_SP  
Дата: 03.09.19 07:48
Оценка:
Здравствуйте, Shmj,

S> Во-вторых, на одно и то же Т.З. у разных спецов реальная оценка отличалась на 2 порядка и это не выдумка. То что один оценил в $150 и 3 дня, другой оценил в $15 тыс. и пару месяцев. Это реальность.


Это ясно говорит о качестве этого "Т.З."
Re: Кто может определить затраченное время, проанализировав код?
От: scf  
Дата: 03.09.19 08:18
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?


Почему нет? Извлекаем из кода функциональные и нефункциональные требования к системе, требования к ЯП, библиотекам, качеству кода, тестированию. И сводим задачу к уже известной — определение затрат на написание кода по требованиям.
Re[4]: Кто может определить затраченное время, проанализиров
От: Shmj Ниоткуда  
Дата: 03.09.19 16:11
Оценка:
Здравствуйте, Vlad_SP, Вы писали:

V_S>Это ясно говорит о качестве этого "Т.З."


Написать качественное Т.З. можно уже ПОСЛЕ того, как создан проект. Т.е. сначала создаете проект, понимаете все проблемы. Потом просто описываете что вы сделали — вот вам и качественное Т.З., в котором не будет косяков.

Но стоимость создания такого Т.З. — выше стоимости разработки.

Лично я встречал такие Т.З. несколько раз — это были проверочные проекты, которые давали нескольким разработчикам с целью посмотреть кто лучше/быстрее выполнит. Т.З. было полным именно по той причине, что было написано ПОСТФАКТУМ.

Ну, еще можно вспомнить историю создания рамблера — как Т.З. писали крутые оксфордские (или какие там) дядьки за сотни тысяч долларов, но все делалось чисто для понта.

Реальные проекты делаются без Т.З. — есть лишь примерный очерк, который корректируется по ходу работ.

З.Ы.
А, еще вспомнил пример почти полного Т.З. Когда сделали аппликуху для Android и потом нужно было сделать полный аналог для Win Mobile 10 (когда он еще был жив). Ну да, когда сделано все на родственной технологии — то имели достаточно полное Т.З.

С другой стороны в Т.З. достаточно сложно описать какое качество кода нужно — а когда есть живой код — ты это просто видешь и понимаешь.
Отредактировано 03.09.2019 16:18 Shmj . Предыдущая версия .
Re[2]: Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 03.09.19 16:12
Оценка:
Здравствуйте, scf, Вы писали:

scf>Почему нет? Извлекаем из кода функциональные и нефункциональные требования к системе, требования к ЯП, библиотекам, качеству кода, тестированию. И сводим задачу к уже известной — определение затрат на написание кода по требованиям.


А какую методику вы примените, получив "функциональные и нефункциональные требования к системе"?

Если метод функциональных точек — так там все гораздо проще — есть таблица, где для каждого языка программирования указано сколько строк кода приходится на 1 FP
Re: Кто может определить затраченное время, проанализировав код?
От: vsb Казахстан  
Дата: 03.09.19 16:48
Оценка:
1 час = 5 строк.
Re[2]: Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 04.09.19 02:13
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>1 час = 5 строк.


Без учета качества и сложности кода — строки считать бесполезно.

Если ввести некие коэффициенты (причем, не всегда их будет легко формализовать) — тогда да.
Re[5]: Кто может определить затраченное время, проанализиров
От: Vlad_SP  
Дата: 04.09.19 06:23
Оценка:
Здравствуйте, Shmj,

S>Написать качественное Т.З. можно уже ПОСЛЕ того, как создан проект. Т.е. сначала создаете проект, понимаете все проблемы. Потом просто описываете что вы сделали — вот вам и качественное Т.З., в котором не будет косяков.

S>Лично я встречал такие Т.З. несколько раз — это были проверочные проекты, которые давали нескольким разработчикам с целью посмотреть кто лучше/быстрее выполнит. Т.З. было полным именно по той причине, что было написано ПОСТФАКТУМ.

Я бы рекомендовал ознакомиться с советскими ГОСТ-ами тысяча-девятьсот-замшелого года. Они как раз описывают несколько стадий разработки. Там все это есть.
(Ах да, современным мальчикам — руками водителям с MBA западло читать советские ГОСТы и осознавать, что все уже украдено придумано задолго до них...)

По моему мнению, хорошее ТЗ — это примерно 60% работы, и оно не появляется на пустом месте.
Re[2]: Кто может определить затраченное время, проанализировав код?
От: Vlad_SP  
Дата: 04.09.19 06:24
Оценка:
Здравствуйте, vsb,

vsb>1 час = 5 строк.


Это еще фигня. Доводилось где-то читать, что скорость написания кода в NASA — две строки кода в месяц
Re[3]: Кто может определить затраченное время, проанализировав код?
От: fmiracle  
Дата: 04.09.19 06:35
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Имеем репозиторий, видим все коммиты. Имеем оконченный продукт. Можно ли оценить, сколько заняло времени его написание?


Да. Дата последнего коммита минус дата первого коммита.
Re[3]: Кто может определить затраченное время, проанализировав код?
От: vsb Казахстан  
Дата: 04.09.19 08:18
Оценка:
Здравствуйте, Vlad_SP, Вы писали:

vsb>>1 час = 5 строк.


V_S>Это еще фигня. Доводилось где-то читать, что скорость написания кода в NASA — две строки кода в месяц


Ну это для специалистов экстра-класса. Для просто средних так. Если больше 10 строк в час, значит жуниёр {%
Re[4]: Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 04.09.19 08:43
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>Да. Дата последнего коммита минус дата первого коммита.


А кто сказал, что чел. работал фуллтайм?
Re[5]: Кто может определить затраченное время, проанализировав код?
От: fmiracle  
Дата: 04.09.19 08:46
Оценка:
Здравствуйте, Shmj, Вы писали:

F>>Да. Дата последнего коммита минус дата первого коммита.


S>А кто сказал, что чел. работал фуллтайм?


1. А кто сказал что надо оценить трудозатраты а не время?
2. Это будет оценка сверху, но тоже оценка.
Re[6]: Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 04.09.19 08:51
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>1. А кто сказал что надо оценить трудозатраты а не время?


А что значит "оценить трудозатраты"? В каких единицах измерения вы их будете исчислять?

Если выразить в часах среднего спеца, то не сложно сказать сколько это стоит — рыночная зарплата в России — около 800 руб. в час. ну и около 1000 руб. в час для Москвы.

А если не в часах — то в чем?
Re[3]: Кто может определить затраченное время, проанализировав код?
От: Sharov Россия  
Дата: 04.09.19 09:22
Оценка:
Здравствуйте, Vlad_SP, Вы писали:


V_S>Это еще фигня. Доводилось где-то читать, что скорость написания кода в NASA — две строки кода в месяц


Пока оне там протестируют, проверят что ничего не сломалось и т.д. К тому же, язык может быть какой-нибудь изотерический.
Кодом людям нужно помогать!
Re[2]: Кто может определить затраченное время, проанализировав код?
От: Hobbes Россия  
Дата: 05.09.19 19:34
Оценка: +2
Здравствуйте, Gradiens, Вы писали:

G>А по коду определить сколько его писали — бред несусветный. Ты же не знаешь, сколько раз его читали, сколько раз меняли, прежде чем была сделана окончательная версия.


И сколько раз заказчик задачу менял
Re: Кто может определить затраченное время, проанализировав код?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 07.09.19 10:52
Оценка: 5 (1) +1
Здравствуйте, Shmj, Вы писали:

S>Бывает ли такое. Даю вам код готового проекта а вы, проанализировав код, говорите сколько в среднем спец. (со средней зарплатой) затратит на его написание?


S>Если взять n чел. таких спецов — насколько будут разниться оценки? И сколько стоит такая оценка?


S>Известен ли вам хотя бы один человек, кто бы смог провести данную работу?


Нет, потому что за строками кода не видно истории.
100 строк кода в начале проекта и 100 строк в конце проекта могут на порядки отличаться по затратам.
Re: Кто может определить затраченное время, проанализировав код?
От: TimurSPB Интернет  
Дата: 07.09.19 11:25
Оценка:
S>Известен ли вам хотя бы один человек, кто бы смог провести данную работу?
Нужно посмотреть время от создания ветки до мёрджа в мастер.
Make flame.politics Great Again!
Re[2]: Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 07.09.19 11:32
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Нет, потому что за строками кода не видно истории.

G>100 строк кода в начале проекта и 100 строк в конце проекта могут на порядки отличаться по затратам.

Можно ведь не просто считать строки а еще и смотреть что именно там написано
Re[2]: Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 07.09.19 11:32
Оценка:
Здравствуйте, TimurSPB, Вы писали:

S>>Известен ли вам хотя бы один человек, кто бы смог провести данную работу?

TSP>Нужно посмотреть время от создания ветки до мёрджа в мастер.

Кто сказал что чел. работал постоянно?
Re[3]: Кто может определить затраченное время, проанализировав код?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 07.09.19 11:33
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


G>>Нет, потому что за строками кода не видно истории.

G>>100 строк кода в начале проекта и 100 строк в конце проекта могут на порядки отличаться по затратам.

S>Можно ведь не просто считать строки а еще и смотреть что именно там написано


Там что-то разное будет написано в начале и в конце проекта?
Re[3]: Кто может определить затраченное время, проанализировав код?
От: TimurSPB Интернет  
Дата: 07.09.19 12:19
Оценка:
S>Кто сказал что чел. работал постоянно?
Никто.
Make flame.politics Great Again!
Re[4]: Кто может определить затраченное время, проанализировав код?
От: AleksandrN Россия  
Дата: 07.09.19 20:54
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, Vlad_SP, Вы писали:



V_S>>Это еще фигня. Доводилось где-то читать, что скорость написания кода в NASA — две строки кода в месяц


S>Пока оне там протестируют, проверят что ничего не сломалось и т.д. К тому же, язык может быть какой-нибудь изотерический.


В NASA вроде бы используют язык Ада. А затраты на тестирование и исследования там наверняка затраты на разработку превышают. Что легко объяснимо — если ошибка обнаружится в процессе эксплуатации, то исправить будет трудно. Но такую возможность, видимо, предусматривают. Кажется на Хабре читал, что Вояджерам обновляли софт во время полёта.
Re[4]: Кто может определить затраченное время, проанализировав код?
От: Shmj Ниоткуда  
Дата: 07.09.19 21:36
Оценка:
Здравствуйте, gandjustas, Вы писали:

S>>Можно ведь не просто считать строки а еще и смотреть что именно там написано

G>Там что-то разное будет написано в начале и в конце проекта?

Код, который нужно проанализировать и понять насколько сложно было и сколько примерно заняло времени.
Re[3]: Кто может определить затраченное время, проанализиров
От: Shmj Ниоткуда  
Дата: 08.09.19 00:00
Оценка:
Здравствуйте, Hobbes, Вы писали:

H>И сколько раз заказчик задачу менял


По коммитам будет видно.

Ну и можно посчитать хотя бы минимум — считаем что задача не менялась а просто уточнялась и в конечном итоге пришли к такому выражению решения в виде кода.
Отредактировано 08.09.2019 0:01 Shmj . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.