Мы строим CRM для клиента. Теперь, когда первый основной этап завершен, а второй согласован, клиент хотел бы взять на себя часть работы, внеся небольшие изменения в схему базы данных и бизнес-процессы на первом этапе, пока мы создаем второй .
Я не знаю, насколько это вообще практично, но, предположив, что так и есть, я бы хотел несколько советов о том, какие меры могут быть приняты, чтобы сделать это вообще работоспособным. Вот что у меня так далеко:
До сих пор клиент в основном видел проект с точки зрения пользователя; ясно, что должен состояться семинар из двух частей, где мы познакомим его с внутренней работой:
- во-первых, показывая существующую схему базы данных и, в качестве примера, расширяя ее,
- затем, показывая некоторый пример кода и написание нового бизнес-процесса для улучшения схемы.
- Код в настоящее время находится во внутреннем хранилище Subversion. Несмотря на то, что мы могли бы настроить общедоступный или один в его сети (к которому мы можем подключиться через VPN), я считаю, что распределенная система будет работать лучше. Однако я, похоже, единственный, кто так считает, поэтому я мог бы использовать несколько убедительных аргументов.
Я не уверен, как поручить / гарантировать, что код, который работает в производстве, зафиксирован. Похоже, «х внес критические, недокументированные изменения прямо перед отправкой в отпуск; теперь я пытаюсь выяснить эту ошибку, которая возникала с тех пор» бедствия неизбежны. В идеале все изменения до развертывания должны:
- документироваться в системе отслеживания проблем,
- сначала происходит в отдельной среде тестирования, и
- должны пройти автоматизированные тесты.
Увы, я сомневаюсь, что дисциплина для любого из них будет преобладать.
Предположим, что архитектура плагина или отдельный проект не являются жизнеспособными вариантами, потому что 1) первый не существует, и 2) второй запретил бы клиенту просматривать и, возможно, изменять существующий код, что, как я полагаю, будет настаивать на.