Ми будуємо CRM для клієнта. Тепер, коли перша основна фаза була закінчена, а другий був узгоджений, клієнт хотів би взяти частину робіт, зробивши незначні поправки до схеми бази даних та бізнес-процесів першою фазою, поки ми будуємо другу .
Я не визначився, чи це взагалі практично, але припускаючи, що це так, я хотів би вказати деякі вказівки, щодо яких заходів можна вжити, щоб зробити це взагалі працездатним. Ось що у мене поки що:
До сих пір покупець не в основному бачив проект з точки зору користувача зору; Очевидно, що семінар з двох частин повинен відбутися там, де ми познайомимо його з внутрішніми роботами:
- по-перше, показавши існуючу схему бази даних і, наприклад, розширивши її,
- потім, показуючи деякий зразок коду та пише новий бізнес-процес для вдосконалення схеми.
- Зараз код знаходиться у внутрішньому сховищі Subversion. Хоча ми могли створити загальнодоступну або одну в його мережі (до якої ми можемо VPN), я вважаю, що розподілена система працюватиме краще. Я, мабуть, єдиний, хто так відчуває, тому можу використати кілька переконливих аргументів.
Я не впевнений, як доручити / забезпечити виконання коду, який працює у виробництві. Здається, "x зробив критичну, незадокументовану зміну безпосередньо перед відпусткою; тепер ви намагаєтеся з'ясувати цю помилку, яка трапляється з тих пір" катастрофи неминучі. В ідеалі, всі зміни перед розгортанням:
- бути задокументованим у системі відстеження випусків,
- виникають спочатку в окремому середовищі тестування та
- повинні пройти автоматизовані тести.
На жаль, я сумніваюся, що дисципліна для будь-якого з них буде панувати.
Припустимо, що архітектура плагінів або окремий проект не є життєздатними варіантами, оскільки 1) перший не існує, і 2) останній забороняє клієнту переглядати та, можливо, змінювати існуючий код, можливість, на яку я вважаю, що він би наполягати на.