Чаще всего причина или в экзотической системе управления, которая уже никем не поддерживается, либо в слишком креативных разработчиках, изобретающих лишние велосипеды. Совет — выбирать популярные системы управления сайтами (мы рекомендуем "Битрикс") и по максимуму использовать их штатные функции при разработке проекта.
Еще на этапе аналитики стоит выяснить, какой контент будет вноситься вручную, и в техническом задании зафиксировать требования к интерфейсу для его добавления. При тестировании сайта необходимо проверить на реальном контенте, что информацию на сайт вносить просто, и контент-менеджер будет тратить на это разумное время. Если нет, надо смотреть, как можно упростить процесс, и править это на этапе приемки сайта.
Просите у разработчика краткие инструкции по эксплуатации, если какие-то функции админ-панели выходят за пределы стандартного мануала CMS. Интеграцию с вашими складскими и бухгалтерскими системами также надо предусмотреть заранее. Техническое задание на интеграцию необходимо делать параллельно с разработкой прототипа.
Когда нам приносят новый сайт на поддержку, мы первым делом проводим
кодревью. Вердикт по большинству сайтов — "не возьмемся". И проблема
не только в нежелании разработчиков лезть в чужой код (хотя и это
немаловажно). Проблема в том, что в первоначальной архитектуре
не заложены те изменения, которые хочет заказчик. Да, их можно сделать.
Но для этого в код придется втыкать костыли. Сайт будет работать все
менее стабильно, и каждая итерация правок потребует все больше затрат
на тестирование.
У кого у первого сдадут нервы: у разработчика или
заказчика, — в принципе, не важно. Сайт все равно придется переделывать
практически полностью — скорее всего, уже с третьей командой.