Оценка стоимости своей работы

Gromaton

Новичок
Оценка стоимости своей работы

Приветствую уважаемые!
Знаю что тема обсуждалась не однократно, но все же выслушайте.

Вопрос появился вот откуда. Все(многие) утверждают, что нужно оценить время которое затратит разработчик на проект и далее умножить полученное кол-во часов на таксу($10-$15 в час) + %% в зависимости от опыта, скромности и т.п.

Собственно вопрос: Почему именно оплата в час, а не по объему?

Некоторые рассуждения по этому поводу (все ИМХО):
Все же программирование я считаю процессом творческим и все зависит от того как в данный момент мозг настроен на работу, т.е. я к тому, что одну конкретную задачу можно решать неделю и ничего не добиться, а на следующий день прийти, словить озарение и смеясь над собой написать все до обеда (или после обеда, если ленивый :eek: ).

Далее, представте себе проект, который предполагает решение проблем с котрыми вы не сталкивались ранее и соответственно сложно оценить время. Что тогда?

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

Ладно не буду Вас больше утомлять, Вы люди занятые, каждый час на счету. ;)
 

nw

Новичок
проститутке в час, репетитору
Вы полагаете что у них не творческая работа? :)

а не по объему?
Это и есть измерение объема работ. Или объем работы программиста измерить в сантиметрах кубических?
Кроме того, обычно, нормальные проекты не делаются "после обеда" и подразумевают под собой часы сухого кодинга с примесью творчества (или наоборот, если так больше нравится).

-~{}~ 27.01.06 13:18:

Хотя я конечно согласен, что программинг относится не только к науке, но и к виду искусства. Но эта тема думаю не для данного топика.
 

Gromaton

Новичок
Автор оригинала: nw
Вы полагаете что у них не творческая работа? :)
Отчасти согласен. Проститутка должна быть еще и актрисой :)

Или объем работы программиста измерить в сантиметрах кубических?
Можно и в затраченных каллориях

Кроме того, обычно, нормальные проекты не делаются "после обеда" и подразумевают под собой часы сухого кодинга с примесью творчества (или наоборот, если так больше нравится).
Не нужно так категорично. Иногда в голову ничего абсолютно не лезит, в таком случае даже полезно погулять и развеяться, результативность может повыситься в разы.
С кодингом да, можно и в часах, но вы никогда не определите сколько вам нужно времени на проектирование, если конечно постоянно не делать одно и тоже, а все время решать не стандартные задачи.

А кодера можно сравнить с машинисткой, которая печатает N символов в минуту, и то, чтобы ей оценить сколько времени планируется затратить, сначала нужно определить объем (кол-во символов) затем уже разделив на скорость получить время.
 

nw

Новичок
В большинстве промышленных случаев, вы можете примерно рассчитать время, которое вам понадобится чтобы решить ту или иную задачу. Если представлять не абстрактный PHP-программинг, а реальные задачи, то после некоторого анализа всегда можно сказать примерно, сколько потребуется времени на решение каждой из них. Если задача новая, то тут придется оценивать время интуитивно.
Конечно, не всегда удается рассчитать с математической точностью, но тут нужно нарабатывать опыт. Я к примеру хочу дойти даже до того, чтобы записывать макрозадачи и засекать точное время их решения (что-то вроде тех шахматистов, которые решают задачу и по ее завершению останавливают специальные часы, таким образом отмеряя время всей партии).

Если смотреть вглубь вопроса, то оценивать свою работу в наше время нужно еще по двум факторам (как миниммум): финансовым возможностям клиентов и спросу на вас.
Т.е. если клиент готов заплатить $1000 за несложную для вас работу, то вы можете подогнать стоимость часа под эту сумму. И с другой стороны, если к вам никто не идет, кроме одной фирмы с $300, то тут тоже выбирать не приходится.
Рассчитывать проект по времени нужно прежде всего для себя, чтобы знать - выгоден проект тебе или нет.

Еще один аргумент в пользу часов - желания клиента. Он мыслит примерно как, вот мне нужен вот такой софт, я готов потратить 100 долларов и ждать месяц. От этого клиент и отталкивается и он не будет ждать, пока программист нагуляет мысли и его просветит озарение.
Еще раз повторюсь, что я говорю не об абстрактном кодинге, а о реальных проектах за которые мы получаем деньги.

-~{}~ 27.01.06 14:37:

Зацепили за тему, над которой я и сам размышляю, поэтому еще немного мыслей :)
Фактически, разработчик продает свое время. Если у него в сутках 24 часа, то вне зависимости от размеров проекта и гонораров, он за этот предел не вылезет. Поэтому и нужно отталкиваться от времени.
Если ваши расходы составляют 100$ в неделю, то вы в любом случае должны рассчитывать, что меньше 100$ в неделю вам зарабатывать вредно (либо снижать расходы).
 

Alexandre

PHPПенсионер
на стоимость проекта очень влияет
рынок, т.е. стоимость продаваемых или разрабатываемых аналогов
а также спрос на аналоги
трудозатраты, т.е. сколько времени уйдет у тебя на эту работу
уникальность разработки, т.е если надо натягивать проект на готовую ЦМС (CMF ) - одна цена, писать движок с ноля - другая.
способность клиента заплатить.

так что алгоритм вычисления стоимости сводится к функции с четырмя параметрами.
расчет влияющих коэффициентов на тот или иной параметр - индивидуален
 

Rammstein

PHPClub::News
Вычисляем так - сколько можем, стока и дерём. Вот вам вся математика.
 

Gromaton

Новичок
Автор оригинала: nw
Рассчитывать проект по времени нужно прежде всего для себя, чтобы знать - выгоден проект тебе или нет.
Здесь похоже есть здравый смысл, согласен, но это если клиент указывает бюджет.

Опишу свою ситуацию.
Есть заказ на музыкальный каталог, платный (вроде mp3search и т.п.), заказчик спрашивает за сколько $ я его возьмусь делать, почти нет ограничений во времени. Я не могу ответить по двум причинам:
1. Не знаю сколько времени в сутки я смогу им заниматься, т.к. есть еще основная работа.
2. В вебе я недавно и то как любитель :p , да и фрилансом никогда не занимался, поэтому не могу даже примерно оценить время которое я на него затрачу.

Собственно изначально именно по этим двум причинам и возник вопрос зачем измерять часы работы. Не лучше было бы ввести стоимость разработки каждого составляющего компонента + стоимость сборки + % за опыт = цена? Это так, к примеру, не воспринимайте близко к сердцу. В такой схеме несколько положительных моментов: любой новичок может подсчитать стоимость заказа, аргументированная цена проекта, заказчик не подумает, что вы взяли такую сумму с потолка, более простое разрешение конфликтов при заказе/приеме и еще что-нибудь можно придумать.

Хорошая идея с макрозадачами. Можно будет проводить конкурсы прямо на сайте, кто быстрее решит ту или иную, а по общему зачету вести рейтинг программера, а другие будут на них ровняться, может тогда у некоторых товарищей исчезнет завышенная самооценка. Ввести для каждого коэффициент доверия. Ой, ладно что-то меня уже не туда понесло :)

трудозатраты, т.е. сколько времени уйдет у тебя на эту работу
сигарет, пива и нервов :)
 

nw

Новичок
Не лучше было бы ввести стоимость разработки каждого составляющего компонента + стоимость сборки + % за опыт = цена?
Где при такой формуле взять точные цифры:
1. стоимость разработки каждого составляющего компонента
2. стоимость сборки
3. % за опыт

Все равно числовые значения всего этого (да и любого похожего параметра) нужно сначала откуда-то взять. Не с потолка же.
Тем более если есть формула, то в чем трудности?

В данном случае (когда нет опыта, нет понятия о свободном времени) я помочь определить стоимость проекта (и вобще, кто кому еще должен платить :) ) не могу. Ни в коем случае не примите за обиду, просто если у вас есть серьезные планы этот проект сделать (а не промучать заказчика и освоить бюджет, не выдав нужного результата), то вам нужно будет ОЧЕНЬ постараться и ОЧЕНЬ много работать.

-~{}~ 27.01.06 18:12:

Если желание есть, то можете попробовать узнать сколько стоили подобные проекты и сколько по времени он разрабатывались. Добавьте времени еще столько же, вот и получите цену и сроки. Тоже метод.
 

Кром

Новичок
>Вычисляем так - сколько можем, стока и дерём. Вот вам вся математика.

Самая верная мысль.

>Можно будет проводить конкурсы прямо на сайте, кто быстрее решит ту или иную, а по общему зачету вести рейтинг программера

Такие сайты есть. Там любую задачу готовы решить начиная от 100 долларов.

Тут надо понять, что главное - это умение продать себя подороже. А все остальное (человеко-часы, трудозатраты, количество строк, объемы и т.д.) - обертка.

Поясняю на примере. У любого уважающего себя web-программиста с опытом работы более пяти лет есть библиотеки, которые он подлинковывает к каждому новому проекту. Часто они весят больше чем код самого проекта. Не считая шаблонов. Оценить их стоимость объективно, просто невозможно.
Написаны они (библиотеки) были давно - значит денег за них не брать?
Все таки они включены в проект, значит деньги за них брать?
Они затачивались постоянно и на данные момент почти совершенны, значит брать за них большие деньги?
Часть функционала этих библиотек не понадобиться, значит нужно это учитывать?
Часть библиотеки заимствованна из pear и т.д., значит это тоже учитывать и за это денег не брать?
Часть заимстованных библиотек улучшена и заточена, значит деньги за это все таки брать?
А вы помните тут ошибку в функции, которую вы искали два дня и наконец исправили? Сайт нового заказчика использует эту функцию, но с той ошибкой он больше не столкнется, потому что вы ее уж исправили, а вот другие - столкнутся. За это тоже брать деньги?

Так что не нужно этим слишком себя утруждать. :)
 

nw

Новичок
Во, вспомнился хороший метод, правда знаком он мне не по софту, но все же.
Клиенту называется достаточная на ваш взгляд сумма, скажем 1000$. Если он согласен, то проблем нет. Если не согласен, то ему говориться фраза: "Хорошо, тогда какой же бюджет вы предполагали? Мы подумаем где тут можно сэкономить и скажем, влезаем мы в этот бюджет или нет". Ну дальше уже смотрите, устраивает вас сумма сказанная клиентом или нет.

-~{}~ 27.01.06 18:29:

А все остальное (человеко-часы, трудозатраты, количество строк, объемы и т.д.) - обертка
Но для себя-то нужно оценить все равно как-то. Ну будет клиент давать мне 50 долларов и ни в какую больше. Принцип "Содрать как можно больше" будет в действии, но я то за такую работу не возьмусь. И не потому что цифра 50 не нравится, а потому что мне их на жизнь не хватит, да и другие больше предложат. Поэтому я не стал бы списывать со счетов трудозатраты и человекочасы.
Тем более, все усложняется для компаний-разработчиков. Хотя верность ориентации на рыночный принцип "содрать побольше" никто не отменял, но далеко не он влияет на цену.

-~{}~ 27.01.06 18:49:

У любого уважающего себя web-программиста...
Все что перечисленно в этом абзаце, на языке "НЕпрограммистов" называется "Конкурентные преимущества" за которые как раз можно брать больше денег, нежели берут люди без таких наработок и опыта. Я не призываю считать все в формате "библиотека PEAR, 1 штука, 5 долларов", но все это стоит так или иначе учитывать.
 

atv

Новичок
А все остальное (человеко-часы, трудозатраты, количество строк, объемы и т.д.) - обертка.
Когда реч идёт о небольших суммах, заказчики могут закрывать на это глаза, кто по незнанию, кто по незначительности суммы. Однако, если придёт заказчик с заказом на сумму 100000$, то, если он не дурак, он попросит составить смету. Так как с такими суммами дураков мало, то в смете они разбираются и сразу отличат проффесионала от любителя. Поэтому, умение оценивать кол-во трудозатрат является следующим шагом к проффесионализму.

Здесь тоже обсуждалась похожая тема - http://php.com.ua/forum/viewtopic.php?t=4338
 

confguru

ExAdmin
Команда форума
Собственно вопрос: Почему именно оплата в час, а не по объему?
Обьем работ - это конкретные человеко-часы. Привожу простой пример. Нужно написать тестовое задание (к примеру систему многоязычных новостей, бюджет 100-150).

1)Ведущий специалист - адаптирует уже свое готовое решение за час-два(т.е. по сути использовоние своего кода и получение сверхприбыли) или просто сядет и напишет за 2-3 с нуля

2)Средний специалист - потратит 8 часов на тоже самое (Как правило с мелкими багами)

3)Начинающий специалист - потратит от 2-х дней до недели
(как праило с крупными просчетами в архитектуре, и скучей удивительных приемов надерганных из разных движков)

Из расчета 6часов в день - получаем

1) 50$ в час (быстро и качествено)
2) 15-18$ в час (золотая середина)
3) 5-12$ в час (медленно и глючно)

А самый оптимальный вариант задание дается 1, который оценивает и передает 2(который уже знаком с кодом 1).
 

algo

To the stars!
15$/час это 15*8*22 = 2600 в месяц.

Золотая середина получает неплохо ;))

Может, кто-то чего-то путает..
 

confguru

ExAdmin
Команда форума
algo

Я считал сам эффективный кодинг :)

В принципе получалабы, если бы были такие заказчики.

Дело в том что нет у программера загрузки 8 часов в день.
1 час на почту и мелочи, 1-2часа ни развитие, 1час на балду пинал - итого остается 4 часа

-~{}~ 29.01.06 18:42:

Дело в стом что 1, сделает зе 2-3 часа а отдаст через 3 дня :)
Если не оплачена срочность :)
 

algo

To the stars!
Золотая середина получает 1300 при общем развитии, пинании балды и чтении обширной почты.. Все равно неплохо.
 

Raziel[SD]

untitled00
algo
Я получаю немного меньше, но работаю еще меньше в день :) задолбало, вот думаю поменять работу из-за этого, если бы не возможность покопаться в оракле - уже ушел бы.
 

Gromaton

Новичок
В общем для себя я сделал следующий вывод или, можно сказать, подход:

1. Установить точные требования - составляющие (функциональность) проекта, т.е. составить подробное описание, либо ТЗ.
2. В случае неопределенного бюджета оценить среднюю рыночную стоимость аналогичного проекта (можно конкретно этого, если он не уникален), предлагая сделать эту работу другим лицам.
3. Оценить свои предполагаемые временные и финансовые затраты, настоящее финансовое положение, и решить стоит ли браться за данную работу.

Новичкам не стоит браться за крупные проекты, т.к. погрешность определения времени исполнения прямо пропорциональна масштабу проекта и обратно пропорциональна опыту.
 
Сверху