@rsi
software engineer

Существует ли практика передачи выполненного на половину проекта?

Собственно нужен совет сообщества как лучше поступить в сложившейся ситуации.

8 месяцев назад предложили мне взять один заказ на разработку сервиса (торговой площадки). У заказчика был кривой проект, который ему сделали в студии, он хотел сделать редизайн и добавить фишек, но структура проекта обслюнено не подходила для изменений, своя цмс, логика перемешанная с отображением, вызовы каких то классов, в общем один кошмар.

В то время у меня было свободное время, мало опыта, хотелось подработать, я предложил другу разделить проект и мы согласились его делать, взяли срок 4 месяца и приступили к созданию с нуля используя в качестве платформы разработки zend.

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

По итогу мы затянули сроки, за 8 месяцев и у меня стало меньше свободного времени, в довесок к основной работе появилась прибыльная подработка. Заказчик постоянно требует то, чего мы изначально не планировали, а отказывать ему как то неловко из-за срыва сроков из за чего сроки еще больше затягиваются. Товарищ мне не помогает, а у меня уже нет сил смотреть на этот проект.

По итогу работа готова на половину, мы забрали половину оплаты, а я не могу с ним работать. Мне неприятно на него смотреть, мне невыгодно финансово им заниматься, но что делать дальше я не знаю, может свести заказчика с новым исполнителем и отдать проект? Или рассказать заказчику о saas магазинах и открыть глаза, на то, что его проект даже полностью готовый не сможет составить им конкуренцию? Или просто отказаться от дальнейшей разработки, сославшись на какие либо причины, ведь деньги мы получили только за выполненную работу.
  • Вопрос задан
  • 3877 просмотров
Решения вопроса 1
@Masterme
У вас частный случай известной проблемы, которая называется «не могу оценить требуемые сроки».
Чтобы вы могли планировать сроки и укладываться в них, нужно несколько условий:
— задачу целиком нужно разбить на подзадачи, которые вы уже делали и знаете, какая сколько времени займёт,
— в процессе выполнения итерации требования не должны меняться, в том числе по инициативе заказчика.

Это всё приходит с опытом. Я могу сказать, что ваша ситуация с затягиванием сроков вовсе не является уникальной. Многие разработчики и команды ошибаются с планированием сроков. Это не есть хорошо и правильно, но таковы факты. Не падайте духом. Поймите, что это не ваша вина, и не давайте заказчику «давить на гниль» и подкидывать вам дополнительную работу бесплатно. Он не телефон в магазине покупал, он заказывал разработку, а в разработке всегда есть вилка трудозатрат. Если он этого не понимал — значит он не профессионал. Если при этом он обвиняет в срыве сроков единственно вас и требует: «ты мне обещал Y за X рублей вот и выдай Y кровь из носу» — можете его послать.

Вообще ответ на ваш вопрос «как поступить» зависит от того, как вы договаривались — либо о каком-то объёме работ либо о конечном продукте. Но с учётом того, что у вас на проект уже «не стоит» — не важно как вы договаривались, вариантов немного:
— Объясняете заказчику, что ошиблись при оценке трудозатрат и продолжать на прежних условиях не можете. Сдаёте как есть, деньги не возвращаете.
— Объясняете заказчику, что ошиблись при оценке трудозатрат и в максимально сжатые сроки доводите проект до какого-то логического завершения. Все требования о дополнительных бесплатных работах игнорируете. Сдаёте, забираете остаток денег, забываете.

Первый вариант для вас выгоднее, потому что во втором случае есть риск не получить вторую половину оплаты, а также потому что сдача проекта — это не конец, а начало, т.к. каждому проекту требуется поддержка.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
@Steely
Одна из основных ошибок фриланса — брать на доработку чужие недоделанные проекты (не поддержку, а именно доработку). Другая основная ошибка это сокрытие информации — когда фрилансер избегает разговора заказчиком и тянет время. Вы совершили первую ошибку и есть шанс не совершать вторую, удачи.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
На месте заказчика я бы забрал бы у вас ещё и деньги обратно.
Сказать честно из рассказа понятно, что был говнокод, работало в два раза меньше человека чем должно было, сроки были затянуты невероятно.
такой проект надо было завершать ещё в первом месяце.
Ответ написан
polyakstar
@polyakstar
Признайтесь заказчику, что вы не профессионал, верните деньги и все текущие наработки. Тянуть резину еще хуже, в первую очередь для заказчика.
Ответ написан
xanep
@xanep
Так как вы зафакапили все начиная с самого старта, то писать какую-то документацию или дизайн документы на этапе передачи смысла мало. Предложите бесплатно консультировать на первых порах человека, который будет доделывать проект.
Ответ написан
Комментировать
@LastDragon
Или рассказать заказчику о saas магазинах и открыть глаза, на то, что его проект даже полностью готовый не сможет составить им конкуренцию?

Почему? (действительно интересно)
Ответ написан
AmdY
@AmdY
PHP и прочие вебштучки
Переписывание, тем более на zend — плохая практика, вам стоило насторожиться в тот момент. когда вы поняли, что не сможете дорабатывать проект. Через рефакторинг любое гавно можно сделать более-менее управляемым.

Теперь по вопросу, да, особой проблемы с передачей проекта нет, но вы должны нормально документировать логику работы, таблицы связи и как меняются данные. Я бы советовал на первом этапе проводить код ревью нового вендора, чтобы он сам не начал переписывать проект с нуля.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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