Это сложный вопрос, но, как правило, есть три основных улучшения, которые необходимо внести, чтобы улучшить свои процессы.
Использовать контроль версий
Если проекты находятся на общем диске, я предполагаю, что это просто папка с текущим состоянием каждого проекта. Разработчикам легко переписать изменения друг друга, нет истории, и вы не можете быть уверены, что проект находится в согласованном состоянии или что-то в данный момент повреждено.
Выберите версию системы и начните ее использовать. Менее важно, какой из них (из бесплатных - SVN в порядке и более «централизованный», git или mercurial великолепны и обеспечивают большую гибкость), но более важно, чтобы любое изменение, независимо от его размера, всегда проходило контроль версий.
Упрощение продвижения, развертывания и отката
Вероятно, теперь необходима последовательность шагов для перехода с localhost на dev, а с dev на production - синхронизировать файлы, восстановить базу данных в известное состояние, настроить параметры сервера ... Может быть документ, описывающий что нужно сделать, или это может быть знание племени. Ваша цель должна заключаться в том, чтобы начать упрощать и автоматизировать это, выполняя единственную команду или скрипт для выполнения всей работы, необходимой для синхронизации сервера (локального, dev или производственного) с ревизией проекта в вашем контроле исходного кода.
Автоматизируя развертывание, вы можете быть уверены, что все необходимые действия выполняются в правильном порядке, и у вас не будет ошибок при развертывании, которые могут произойти, даже если все файлы указаны правильно, но какая-то конфигурация или команда не были выполнены, что нарушило работу сайта.
Ввести тестирование
Откуда вы знаете, что только что развернутая вами ревизия не только правильно компилируется, но и работает как положено? Для каждого нетривиального проекта у вас должны быть тесты для проверки наиболее важных функций (вход в систему, добавление материалов, создание отчетов и т. Д.), Чтобы убедиться, что изменения, внесенные разработчиками, позволили сайту функционировать должным образом.
Существуют тестовые среды, специально предназначенные для тестирования веб-приложений (на ум приходит Selenium ). Изучите их и примените их. В идеале этот комплект тестирования должен запускаться как часть сценария развертывания, состоящего из одной строки.
Как только вы это сделаете, вы прошли долгий путь к упорядоченному, предсказуемому и устойчивому процессу разработки. Ваши клиенты и ваши разработчики будут вам благодарны:)