Каковы ваши обязательства при оплате по часам по сравнению с зарядкой по проекту?
По сути то же самое. Будь профессионалом.
Если вы согласны взяться за проект, дайте приблизительную оценку, что вам может потребоваться 10 дней для работы и взимать плату в размере X фунтов стерлингов в час - вы обязаны работать бесплатно после истечения этих 10 дней, и вы все еще не справились завершить свой проект из-за непредвиденных проблем?
Нет - пока это примерно 10 дней, тогда ты в порядке. Я бы определил примерно 10 дней как 50-120 часов на крайних границах. Что-нибудь более 120 часов (переполнение на 50%) в значительной степени выходит за рамки.
Хотя «непредвиденные проблемы» оставляют много неопределенности. Опытные специалисты ожидают гораздо больше проблем, чем новые разработчики. Однако, если клиент знает, что вы новый разработчик (и знаете, что он получает значительную скидку из-за этого), то здесь есть место для маневра.
Что, если вы выполнили проект, но ошибки были обнаружены - следует ли исправлять эти ошибки бесплатно, если истекли 10 дней, или вы должны взимать плату с клиента?
Ошибки? Да, вы должны исправить это бесплатно. Вам не платят за 10 дней, чтобы создать неработающий код.
Теперь, опять же, «ошибка» немного расплывчата. Существуют ошибки показа-пробки (например, программа не запускается - очевидно, ваша ошибка) и ошибки в крайнем случае (программа обрезает текст в локализованной на турецком языке Windows с включенным китайским IME - не очень разумно). Большинство падает где-то посередине, но бремя доказательства лежит на вас.
Также есть ошибки спецификации - это самые сложные. Вы должны будете использовать свое суждение относительно того, должны ли вы разумно предвидеть, поставить под сомнение или подразумевать изменение спецификации. Опять же, я бы возложил на вас бремя доказывания.
Для 10-дневного (80-часового) проекта с «зеленым» разработчиком исправление ошибок в течение 10–15 часов не будет слишком большим вопросом. В любом случае, я бы попытался отработать оплату - хотя, вероятно, я бы сделал еще 5-10 часов бесплатно, прежде чем уволить клиента.
Кроме того, для вышеуказанного проекта, каким должен быть результат, когда вы начнете работать над проектом, но через 10 дней по какой-либо причине вам придется отказаться и сказать своему клиенту, что вы больше не можете это делать? Я понимаю, что это никак не влияет на вашу репутацию и отношения с клиентом, но обязаны ли вы возвращать выплаченные вам деньги или вы просто предоставляете наполовину / почти завершенный исходный код и помогаете им найти кого-то еще, чтобы завершить его?
Вы отдаете деньги обратно. Если вы не можете закончить проект, скорее всего, вы не сможете судить о неполном завершении. Если клиент нанял вас, еще более вероятно, что он не сможет судить неполный. Если вы можете найти кого-то еще, чтобы закончить это, вы можете заключить с ним субподряд - разница в том, что они взимают с вас и что вы уже сделали, это ваша прибыль (или убыток).
В конце концов, часто лучше наклониться к клиенту и записать его на урок. Через некоторое время вы сможете обнаружить «проблемных клиентов» и избежать их (или перезарядить) в самом начале. Вы также научитесь немного лучше оценивать, учитывать затраты на исправление ошибок и т. Д.
Как студент-разработчик, у вас есть некоторая свобода действий. Никто не может подать в суд на вас за гроши, которые вы взяли за 10-дневный проект. Вы никогда больше не получите никакого дохода от этого клиента (или его друзей) - но, поскольку они наняли студенческого разработчика, скорее всего, они хотят только дешевой рабочей силы и не понимают, сколько на самом деле стоит нанять хорошего разработчика. Вы не потеряете много в будущем, кроме головных болей - хотя за счет чистой совести.
Мой совет? Просто закончите - вы будете чувствовать себя лучше, клиент будет чувствовать себя лучше, и вы будете лучшим разработчиком и бизнесменом для этого. Это не то, что стоит многолетней работы - и у вас есть все друзья в Stackoverflow и Stackexchange, чтобы помочь. ;)