@Alexey_Kutepov
Разработчик программного обеспечения

Бесплатный проект для портфолио превратился в бесконечный. Как быть?

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

Как грамотно завершить проект, чтоб и клиент остался доволен и заключил договор о поддержке, при этом остановить рост количества правок (а они растут вместе с функционалом)?
  • Вопрос задан
  • 5219 просмотров
Пригласить эксперта
Ответы на вопрос 19
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Вариант 1 - послать и забыть.
Вариант 2 - переводить из бесплатного в платный.

Базовый функционал есть? Есть
Клиент уже доволен? Доволен
Пора платить деньгу, а так он почувствовал халяву и не слезет с вас.
Ответ написан
saboteur_kiev
@saboteur_kiev
software engineer
Жестко прекратить принимать запросы на новый функционал.
Сказать, что в процессе поддержки можно будет добавлять функционал, но уже за отдельную плату.
Собственно грамотно завершить нужно именно так, чтобы клиент не сидел на шее, а понял, что изначально разговор шел о конкретном объеме работ, который уже давно превышен, а за работу надо платить.

Тем более, что изначальное ТЗ, еще и разбитое по этапам, у вас есть - от него и отталкивайтесь.
Ответ написан
Комментировать
LeEnot
@LeEnot
Енот-андроид
Вас используют. Если Вам нужно - реализуйте функционал ТЗ без правок. После этого (или вместо) скажите, что бесплатно не работаете и завершите работу над проектом. Никаких санкций Вам не грозит - Вы и так работали бесплатно.
Ответ написан
Комментировать
Спланируйте релизы. Сейчас вы работаете только над v.1.0 для которого у вас есть ТЗ и все те доработки, на которые вы по доброте душевной согласились.

Принимать новые feature request'ы от клиента можно, но даже не думайте их реализовывать, пусть, для этого всего одну строку поправить – все они пойдут уже в будущие, платные релизы. Принимайте хотелки клиента, аккуратно записывайте, и забывайте про них до поры до времени.

Держите клиента в курсе, у вас всё прозрачно: покажите клиенту ТЗ и планируемые к последующим релизам правки. Можете сразу раскидать планы на несколько будущих релизов – это пойдёт в v.1.1 через месяц после приёмки 1.0 и начала платного сотрудничества. А это – в v.2 – где-то летом.
Ответ написан
Комментировать
@evgeniy_lm
1. ТЗ должен составлять заказчик.
2. ТЗ это документ, план работ. Делается именно для того чтобы работа не была бесконечной. Все что не входит в ТЗ игнорируется исполнителем.
3. Когда все пункты ТЗ реализованы работа считается выполненной.
4. После выполнения работы заключается договор на поддержку (если это не было сделано изначально). Договор заключается либо временный на внесение конкретных изменений в проект, либо постоянный на внесение изменений и доработку в процессе эксплуатации

ЗЫ Бесплатный проект можно прекратить в любой момент. Вы ни кому ни чего не обязаны.
У моего знакомого была аналогичная ситуация когда его взяли на фирму стажером на летние каникулы бесплатно, а когда в сентябре он сказал "Досвидания. Я пошел" его быстро взяли в штат с зарплатой
Ответ написан
max_bozhenov
@max_bozhenov
Top-notch frontend developer & ui designer
У меня было типа такого, взялся за проект для портфолио и для практики на angular.js + laravel framework (restful api server), договорился за смешную цену, так как это был первый проект на angular.js думал что управлюсь быстро, но он растянулся на ооочень долго. В итоге, что бы отвязаться от клиента, говорил ему что данное приложение стоит в 5 раз дороже (минимум) - так оно и есть, и если вы хотите доп. функционал - платите, а иначе на что мне жить и что мне кушать, пока я трачу все свое время на ваш проект? В итоге я предоставил проект с базовым функционалом, о котором и договаривались. Дополнив, что если им нужен доп. функционал, ищите другого разработчика, я все - закончил, мне более не интересно работать за бесплатно. А доработка выльется им в копеечку, ибо это не wordpress.

So, here is my true story) И самое главное, это жизненный опыт, который так или иначе - необходим. Просто кто то обходится без него, а для кого то нет иного пути.
Ответ написан
@mantyr
Пишу много Golang кода с удовольствием:)
Достаточно просто сказать "Окей, я потратил 100500 часов, а сейчас я иду на пляж, можете забрать то что есть за 100500 денег и в понедельник обсудить список правок за отдельные деньги либо не получить ничего."
Улыбнуться и пойти на пляж. Так вы узнаете нужен ли человеку проект который вы делаете или он просто развлекается. Если развлекается - это уже не интересный проект.

Кстати не стоит вам работать бесплатно, вы продаёте прежде всего своё время. А время дорого. Цена вашего времени зависит от того что вы можете сделать, но опять таки - вряд ли ваше время ничего не стоит. Оценить просто:
1. что я могу сделать за час:
- первое
- второе
- третье
2. сколько стоит то что я только что перечислил?
3. сколько я готов был бы заплатить за то что я перечислил? А если буду делать это в два раза круче и с дополнительными плюшками?
4. а много ли народу это умеет?
5. сколько готовы заплатить другие люди которые в этом разбираются?
6. сколько готовы заплатить другие люди которые в этом не разбираются?
7. сколько нервных клеток мне стоит сделать то-то и то-то.

И как только вы понимаете что вы делаете что-то не то - значит вы делаете что-то не то и вам нужно принимать решение. Либо спускать свою капитализацию на проект и заказчика который вас не ценит либо бросить это всё (с вариантами отдать бесплатно, продать или ещё как-то) и переосмыслить собственный путь.
Ответ написан
Комментировать
customtema
@customtema
arint.ru
Взялся я однажды бесплатно сделать корпоративное приложение, дабы начать формировать портфолио.


Привет! Я занимаюсь корпоративными приложениями. "Бесплатно" - это хорошо, конечно. Но поверьте, проблема не в заказчике. Разработка так называемых "корпоративных приложений" действительно стоит тех сотен и тысяч нормочасов, которые прописываются в сметах. То, что вы со своим заказчиком изначально не учли этого и других тонкостей, на законы мироздания не повлияло. И ничего удивительного в последствиях ваших взаимоотношений нет. Напротив, все очень даже закономерно.

Бесплатный сыр бывает... где?

Заказчику вы тоже "подмаслили" хорошо. Он-то вложил, если не деньги, то время и надежды. И сейчас вы его и его планы в любом случае обламываете. Вопрос - в каких масштабах обламываете.

В подобных случаях я или сразу отказываю, или, как минимум, стараюсь сделать главное - не обещать многого. Работа стоит денег. Квалифицированная работа стоит еще больших денег. Известный приличный объем квалифицированной работы "бесплатным" быть не может. Только если вы инвестируете его бизнес за свой счет. Речь идет о сотнях тысяч и миллионах рублей - в перерасчете на нормочасы, вы можете себе позволить потратить такое количество личного времени? Не дороговато получается, за портфолио?

Чтобы закончить проект, сделайте не-знаю-что с заказчиком, и изучите DDD и бизнес-аналитику. Это позволит вам адекватно оценивать объемы задач, при работе в этой отрасли.

Как палочка-выручалочка, вот список методик из разных областей, которые могут вам помочь. Изучение этих методик, естественно, займет некоторые силы и время, но вероятно они спасут вас и дадут определенное понимание перспективы. Все гуглится:
  • Getting Real
  • DDD
  • Бизнес-анализ
  • Книги Мартина Фаулера
Ответ написан
Комментировать
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Вам так какой интерес? Точнее. какой вам интерес в постоянных правках? Вооот. Но я чувствую, вам совесть не позволяет, поэтому я вам разрешаю согрешить и послать халявщиков нахер.
Ответ написан
@Hydro
C#/.NET Developer
Как я понимаю, между Вами и заказчиком есть джентельменское соглашение, которое Вы не хотите нарушать, ибо чревато для отношений или Вашей репутации (или Вашей совести).
Будь я на Вашем месте, я бы обсудил этот момент с заказчиком, объяснив, что бесконечные хотелки, не указанные в ТЗ сильно отвлекают от основной цели - сделать продукт, т.к. дорабабывать его натфилем можно бесконечно.
А дальше смотреть как разворачивается ситуация: если заказчик наглеет и продавливает свои интересы, то закончит проект, выполнив обязательства по ТЗ, особо не заморачиваясь на юзабилити. Но если человек адекватен, то должен понять Вашу ситуацию.
Ответ написан
vitalaw
@vitalaw
PHP-разработчик
ИМХО надо поговорить с заказчиком прямо, без каких либо намеков. Если он адекватный человек, то поймёт вас и с ним стоит сотрудничать дальше.

Можно сказать что-то типа такого: "С сегодняшнего дня я перестаю принимать правки на изменение и улучшение функционала, так как хочу довести проект до логического релиза и отдать вам в использование. Поймите меня правильно, с вами приятно работать и этот проект очень мне интересен, но мне так же надо зарабатывать деньги чтобы кормить себя (семью)." Главное сказать все прямо, без грубостей и намеков. Если заказчику все нравиться и он реально доволен работой, то он сам предложит вам какие-то условия работы-оплаты, которые тоже можно будет обсудить. Либо согласиться с вами что нужно довести до какого-то логического завершения, а дальше разойдётесь полюбовно. Если же после разговора не случился ни первый и ни второй вариант, то надо стоять на своём что больше никаких правок, доводить проект до логической точки, отдавать заказчику и прощаться, толку от него все равно никакого не будет.

Повторюсь ещё раз: в таких разговорах главное никаких намёков, так как большинство даже нормальных и адекватных заказчиков сделают вид что они поняли совершенно другое и выкрутят это в последствии с максимальной выгодой для себя. Это нормально, это бизнес :)
Ответ написан
Комментировать
@mamkaololosha
Завершить текущие задачи и ничего не делать, что не входит в договор. Завершите, получите оплату, выложите в портфолио. Дальше уже по обстоятельствам.
Ответ написан
Комментировать
Aniriksiy
@Aniriksiy
Интересуюсь биржей и акциями
Иван Петровичь, вкрутите пожалуйста лампочку, а у меня еще кран течет, а тут вот гвоздик забить надо. Как отказать на такие пустяки? Скажите, что вы уже сделали достаточно и сейчас вам нужно занятся своими проектами. Но вы готовы, продолжить, за плату, которой вы оцениваете свое время и усилия.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Все изменения ТЗ стоят денег это раз, сколько он будет готов платить за поддержку после и что мешает заключить договор сейчас для пущей уверенности если он доволен и собирается платить
Ответ написан
@abcd0x00
Допиши его, преодолев бесконечность, но денег не получишь за него.
Я так делал. Поэтому у меня никогда нет затычек в коде и хаков всяких (наскоряк обычно такие делают).
Это не для портфолио хорошо, а для твоего мастерства.
А когда программу пишешь, ей похеру на твоё портфолио, не умеешь - нет программы.
Ответ написан
@asdz
Скажи что у тебя появился более выгодный проект и ты не в состоянии выполнять работы по текущему. Скажи что готов доделать функциональность которую в данный момент выполняешь, но реализовывать дальнейший - не можешь. Возможно, что сам заказчик предложит перевести отношения в финансовые, а если он этого не сделает, то и в принципе ему это не нужно. Таким образом, ты сам подтолкнешь заказчика сделать тебе оффер и не будешь выглядеть кидалой.
Ответ написан
Комментировать
fakey0u
@fakey0u
(javascript) => ['Node.js', 'React']
У меня похожая история, ответы благоразумны.

Необходимо ТЗ:

Из пунктов составления ТЗ:

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

- Оговаривает количество-правок, на составленное ТЗ.

Я обычно принимаю 2-3 правки на ТЗ
Ответ написан
Комментировать
@coodan
Значится, так.

Имеем из коллективной мудрости - нужно ТЗ, все работы выполняем по этому ТЗ.

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

Что делать - привести ТЗ в соответствие текущему проекту. И жестко апеллировать к нему, как к ТЗ для v.1. Клиент ведь грозится платить после v.1? Выпустить v.1 и посмотреть, а нужна ли она или это просто вынос мозга? Если нужна, заключать договор и писать уже следующие версии. Не нужна - перестать терять время и убивать свою самооценку работой с людьми, которым Ваша работа не нужна.
Ответ написан
Комментировать
Прекратить работу и требовать выкуп за проделанное.

Интересная тактика, кстати выходит)
Садишь клиента на крючок и подсекаешь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы