1. Юзаю notepad++ и Far (всё настроено в плане подсветки и подсказок)
2. Формирование краткого перечня работ и стоимости, предоплата от клиента 50%, составление ТЗ (если необходимо), затем уже сама работа по кодингу. (порядок следования очерёдности задач - сохранён)
3. Делается полный бэкап текущего сайта средствами хостинга.
4. Если есть возможность разделить логику разработки от действующего функционала (чтобы текущая работа не оказывала влияние на реальных посетителей) - правлю обычно сразу на (S)FTP. Иначе - только на своём хостинге.
5. Бэкапы - делаю копированием файла/папки с добавлением .ORIG в полное имя файла (например, файл: index.php.ORIG или реже, директория: TEMPLATE.ORIG).
6. В текстовик (для себя) - пишу всё, что я сделал, чтобы по нему можно было легко восстановить последовательность действий.
7. Сдаю работу, получаю деньги, делаю полный бэкап сайта после всей работы и отдаю клиенту.
Теперь, главное:
1. Никогда не тяните время
2. Клиент платит не за часы, а за конечную сделанную Вами работу (если это не так - значит не нужно работать с таким клиентом)
3. Если клиент требует больше работы, чем вы с ним договорились до предоплаты - найдите компромисс, чтобы вариант устроил всех, закройте проект и больше не работайте с этим клиентом.