Перейдя с аутсорса в финансовую сферу, столкнулся со многими вещами, с которыми раньше не сталкивался. Хотя, если и сталкивался, то не уделял им столько внимания ввиду того что практически не работал на "живых" проектах.
Когда единственный проект "живой", ошибки недопустимы. Аутсорс же, как правило, - это всякие лендинги, магазинчики и прочие бложики, проект запускается после окончания разработки, а в случае правок рабочего проекта частенько там такой треш, что лучше бы его не было вообще.
Безопасность и надежность - самое главное.
Нельзя допускать ни малейшей возможности доступа к закрытой информации и прочим личным данным извне.
Категорически запрещена передача информации (например отправка файлов с персональными данными) любым способом кроме разрешенного.
Не выводить пароль в формы открытом виде.
Тестировать должен заказчик. Это перекладывает ответственность за возможные баги на него. Только после принятия работы заказчиком можно выливать в продакшен. Всегда нужно обезопасить свой тыл, никакой самодеятельности.
Заказчик - лицо, наиболее заинтересованное чтобы все работало как часы, в отличие от программиста, которому хочется побыстрее закрыть проект.
Постоянно напоминать заказчику о том, что он должен протестировать задачу. В конце концов, это ему нужнее.
Если тестирование прошло успешно, нужно протестировать еще раз. Скорее всего что-то упущено. Например, где-то остался забытый print_r или var_dump. Не полениться и пройтись поиском по файлам.
Перед началом работ обновить проект из SVN/GIT. Лучше всего удалить и закачать заново, если не было еще правок. Это избавит в будущем от конфликтов как в файлах так и с руководством.
Очень внимательно тестировать боевой функционал чтобы случайно не совершить какую-либо финансовую операцию на боевой среде.
Лучше воспользоваться специальным тестовым аккаунтом. Не забыть закомментировать отправку почты или переключить на себя.
Будь внимателен. Если результата правок не видно, возможно, ты не в том файле работаешь. Такое бывает.
Не торопиться. Что быстро делается - долго переделывается.
В IDE перед коммитом просмотреть код, не подсвечиваются ли он ошибки, необъявленные переменные, классы. Это может привести к неработоспособности боевого функционала, что печально и ведет к убыткам.
Всегда проверять, не используется ли редактируемый функционал где-то еще. Может быть в другом месте он нужен с другими параметрами.
Поэтому, новые параметры добавляем в конец и присваиваем по умолчанию null или false.