Что выбрать с точки зрения клиента?

Есть проект, написанный на самопальном PHP. Существует с 2009 года. Не обновлялся, имеет кучу костылей.
Нам надо его перенести на новый framework или CMS (далее просто движок), сделать редизайн и так далее.
Проблема № 1 — проект сложный. Должен работать интернет-магазин, новости/статьи, часть функционала по другому проекту, который «доживает свое» должен остаться со старой админки.
Проблема № 2 — надо перенести историю регистраций, заказов со старой версии в новую.
Проблема № 3 — 40$ не тянем.
Проблема № 4 — обращались 25 компаний в Украине и Харькове, ответили 9 с абсолютно разными предложениями по движкам.
Проблема № 4 — движок должен нормально коннектиться с Ораклом, Битриксом, Ликпеем, Новой и Укрпочтой.
Вопросы:
— Как выбрать движок, если учесть что бюджет ограничен, моей квалификации не хватает, все предлагают разное? От вордпросса до ларавеля, от Б24 до мадженты? (Никого не хочу обидеть, если что)
— Что почитать/посмотреть/ что б проанализировать предложение с точки зрения заказчика?
— Если я потом буду искать разработчика на фрилансе, что лучше выбрать? Где больше перспективы?

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Если не хотите заморачиваться, закажите Discovery фазу со всей документацией. Вариант дорогой, но зато оплата разовая.

Для начала нанять PM в офис чтобы он разложил все по полочкам и составил техническое задание. А потом с этим ТЗ уже идти в подрядчикам. Искать нужно очень скурпулезно, и так-же скурпулезно контролировать весь проект. Адекватные команды могут работать в диапазоне 10-40$. Если не знаете где искать, едьте на конференции аутсорсеров и знакомьтесь там с разработчиками.

Ключевое правило: если живёт — пусть живёт. Как правило подобные перемещения стоят 2 лет работы чтобы потом вернуться к тому же самому по сути.

CMS опасен своей массовостью. Ломают один — ломают все. Спроси любителей той же Мадженты, отчего они седые.

Потому решение нужно принимать взвешенно, и ничего НЕ ЛОМАТЬ пока не сделали хотя бы альфа-версию морды. А нанимать компанию — либо будьте готовы аутсорсить проект полностью и пожизненно в эту компанию (задача нихера не разовая), либо поднимайте под собой.

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

Проблема 1 — не проблема, а жопа. Админка не сможет дружить с авторизацией хоть стреляйся, её придётся допиливать саму. Точно так же ей придётся проксировать объекты, поменять туеву хучу идентификаторов, переписать базы. И всё это потребует «прыжка в неизвестность», то есть исполнения скрипта который перенесёт старое в новое, и оно моментально должно начать работать ИДЕАЛЬНО, иначе будет тонна гемороя, который придётся разгребать руками. И 100% последует волевое решение начальства чтобы сервис ни на один день не останавливался, то есть поток дерьма рискует быть выше чем способности людей его разгрести. Могут оказаться коллизии с потерей данных.
Если кратко, РЕШЕНИЕ здесь нужно принимать при детальнейшем рассмотрении. И львиная доля работы по сути исследование кода. ОСОБЕННО ЕСЛИ это всё никак нормально не документировано, даже комментами в коде — это тот случай, когда дешевле написать заново, пытаться править такой код — значит сломать его наверняка.

Проблема 2 — говно вопрос, один скрипт.
Проблема 3 — 40$ это в день, в час, на человека или на всех, или это всего бюджет?
Проблема № 4 — у вас слишком много проблем № 4.
Проблема № 4 — а что вас смущает? При такой постановке вопроса вам могут любой прайс выставить. Хотите дешевле — вам НЕЛЬЗЯ показывать, что вы ничего не понимаете. Иначе вас кинут. Это Украина.
Проблема № 4 — движок ничего этого не должен. Нормально коннектиться с Ораклом, Битриксом, Ликпеем, Новой и Укрпочтой будут те самые куски кода, которые делают это сейчас. Если они делают это НЕнормально, переписывайте сейчас. Если кратко, даже денег на это не планируйте, включите в основную работу, едва ли это удорожает хоть на 1%.

IMHO решения здесь два
1) Не считайте проект сложным априори. Если сроки позволяют, наймите одного человека. Поймите, что для программирования параллелизация обходится очень дорого, затраты растут экспоненциально. Для новых проектов там ещё понятно, как делить труд, как соединять всё это вместе, и кого сколько нужно. В переделке старого львиная доля работы — написание логики бэкенда и чтение этой самой логики, выяснение её, и мать её ДОКУМЕНТИРОВАНИЕ ещё до того как хоть один байт кода будет написан. Так что определитесь со сроками. Чем дольше это можно писать, тем дешевле вам это обойдётся.
Работа делится на 2 неравных части:
— понимание и документирование, обсуждение и принятие решения (это тоже адский труд и не один день занимает — если тут срезать углы, расплатитесь потерями времени уже при эксплуатации). Эта часть работы ЦЕНИТСЯ только целиком, может быть разбита на этапы, но выполнить это должен ОДИН человек. Он же будет потом делать переписывание кода ИЛИ руководить процессом. Это не значит что он должен получать больше всех — скорее наоборот, у него будет очень мало работы, достаточно простой, но требующей быть онлайн и готовность подключаться в любую минуту — читай не иметь других срочных заказов.
— разработка и поднятие бэкенда. Фронтенд при этом остаётся тем же, или похожим, или же берётся стандартным от CMS.
— дизайн как правило делается ПОТОМ. Сначала проект, потом дизайн. Программист бэкенда делает просто и топорно, просто чтобы проверить работу.

2) Попробуйте понять, а так ли плох «самопальный»? Абсолютное большинство хороших проектов таковыми являются. И скорее всего под ним таки лежит какой-то фреймворк, а то и несколько, просто вы об этом не знаете.
Очень может быть, что проект стоит оставить самопальным, просто сделать рефакторинг. Возможно выбрать какой-то фреймворк, и ПОСЛЕДОВАТЕЛЬНО, прямо в рабочем коде, начинать на него переводить кусочками логику, переписывая код уже более простым, документированным, и главное, с соблюдением требований — которые вы уже осознали за время работы.

По деньгам — однозначно решение 2. Что не отменяет принципов решения 1: ровно одно ответственное лицо. Нанять человека проще, чем нанять компанию. Заставить человека проще. Отказаться от его услуг проще, если что не нравится. И кто прав в этом случае решаете только вы по любому вопросу, не имея нужды доказывать что не верблюд.

PS. Только не Битрикс.

Что почитать/посмотреть/ что б проанализировать предложение с точки зрения заказчика?

jobs.dou.ua ?

Якось працював на фрілансі з менеджером, у менеджера був замовник, і однією з задач було розбити БД на частини по 950 МБ щоб безкоштовно використовувати якийсь сервіс, в решті замовкник оплатив тільки 2/3 суми і проект закрився (я отримав усі гроші бо працював за $5 за годину)

Тобто, усі $5 отримав :)

Каким образом вы оплачиваете консультации?

Подписаться на комментарии