Проекты веду так, как будто мне же их потом долго сопровождать.
А не – бытенько поправил, а с техническим долгом пусть следующий программист разбирается.
Поэтому обычно делаю, если что-то не было сделано до меня:
– создаю репозиторий кода. обычно это приватный на Bitbucket. С предоставлением доступа заказчику.
– выбирается таск-баг трекер: там же, на Битбакете, мой Mantis, Trello, … по согласованию с заказчиком и предоставлением доступа.
– выбирается способ, хранение документации, переписки – гугл докс, или моя вики, с предоставлением доступа заказчику.
– проект должен быть развернут и работать без ошибок на моей (девелоперской) машине.
– проект должен быть развернут на тестовой площадке (моей, на Hostinger’е) или предоставляемой заказчиком
– ТЗ или его эскиз расписывается на внятные задачи, с эстимейтами, с конретными признаками их завершения и приемки.
– все изменения делаются вначале на тестовом сервере
– продумывается и оговаривается способ деплоя изменений на продакшн.
Проекты которые многократно изменялись без этих пунктов разными программистами – в итоге обычно сделаны из “говна и палок”, даже если каждый программист был квалифицированным и старался не “ху-к, ху-к и в продакшн”.
Исключения конечно бывают, все обсуждаемо.
– При необходимости – налаживаю автоматическое тестирование. но это дорого.