Что будет с проектом через год
Про этапы и сметы написано на главной. Здесь — про то, о чём обычно спрашивают позже: что происходит после сдачи, на ком инфраструктура, что останется, если мы разойдёмся, и почему выкатка не требует моего участия.
Сдал — и пропал?
Нет. Продукт живёт дальше
Работа не заканчивается релизом: приложения ломаются от обновлений сторов, боты — от изменений в API, сервер требует продлений и обновлений безопасности. Об этом договариваемся заранее, а не в тот день, когда что-то отвалилось.
Дальше возможны три варианта, и ни один из них не привязывает тебя ко мне: я сопровождаю проект по часам, ты ведёшь его сам по написанной документации, или отдаёшь другому разработчику — с историей изменений и описанием, как всё устроено, он входит в проект за день.
А инфраструктура на ком?
Счета идут мимо меня
- Сервер, домен и почта — на твоих аккаунтах. Платишь хостеру напрямую, без наценки и без посредника, который однажды забудет продлить домен.
- Ключи и токены живут в окружении сервера, а не в коде и не в переписке. Сменить их можно без моего участия.
- Резервные копии базы делаются по расписанию с самого запуска, а не «когда дойдут руки». «У нас всё в облаке» — это не бэкап.
А если мы разойдёмся на середине?
Проект остаётся рабочим
- Исходники и доступы у тебя с первого дня. Не «отдам после оплаты», а «они у тебя с самого начала» — вместе с историей изменений, а не одним архивом в конце.
- Ничего не завязано лично на меня. Сервер, домен и ключи оформляются так, чтобы продукт продолжал работать, даже если я завтра исчезну.
- Оплата по этапам. Каждый этап заканчивается тем, что можно посмотреть. Не понравилось — расходимся на границе этапа, а не выясняем, кто кому должен.
- Всё описано в репозитории. Как запустить, как выкатить, где что лежит и почему сделано именно так — не в моей голове, а текстом рядом с кодом. Это то, что делает передачу другому разработчику вопросом дня, а не месяца.
А кто нажимает «выкатить»?
Никто. Оно выкатывается само
Каждое изменение проходит проверки: типы, линтер, тесты — на настоящей базе, а не на заглушках. Собранная версия уезжает в реестр, сервер забирает её сам по таймеру. Если новая версия не поднялась, он возвращает предыдущую и не пытается выкатывать сломанное по кругу.
Так собран каждый мой проект и этот сайт. Поэтому «выкатить срочную правку» — это не событие на вечер, а обычные пятнадцать минут.