Budujemy CRM dla klienta. Teraz, gdy pierwsza duża faza została zakończona, a druga została uzgodniona, klient chciałby podjąć pewne prace, wprowadzając drobne zmiany w schemacie bazy danych i procesach biznesowych w pierwszej fazie, podczas gdy tworzymy drugą .
Nie jestem zdecydowany, czy to w ogóle jest praktyczne, ale zakładając, że tak, chciałbym uzyskać pewne wskazówki, w oparciu o które można podjąć środki, aby to w ogóle wykonalne. Oto co mam do tej pory:
Do tej pory klient głównie widział projekt z punktu widzenia użytkownika; najwyraźniej powinno odbyć się dwuczęściowe seminarium, w którym przedstawimy go wewnętrznym działaniom:
- po pierwsze, pokazując istniejący schemat bazy danych i, na przykład, rozszerzając go,
- następnie pokazując przykładowy kod i pisząc nowy proces biznesowy w celu ulepszenia schematu.
- Kod obecnie znajduje się w wewnętrznym repozytorium Subversion. Chociaż moglibyśmy skonfigurować publiczny lub jeden w jego sieci (do którego możemy VPN), uważam, że system rozproszony działałby lepiej. Wydaje mi się, że jestem jedynym, który tak się czuje, więc mogłem skorzystać z dobrych, przekonujących argumentów.
Nie jestem pewien, jak nakazać / upewnić się, że kod działający w środowisku produkcyjnym został zatwierdzony. Wygląda na to, że „x dokonał krytycznej, nieudokumentowanej zmiany tuż przed wyjazdem na wakacje; teraz próbujesz znaleźć ten błąd, który występował od czasu, gdy„ katastrofy są nieuniknione. Idealnie byłoby, gdyby wszystkie zmiany przed wdrożeniem:
- być udokumentowane w systemie śledzenia problemów,
- występują najpierw w oddzielnym środowisku testowym, oraz
- muszą przejść zautomatyzowane testy.
Niestety, wątpię w dyscyplinę, aby jakikolwiek z nich zwyciężył.
Załóżmy, że architektura wtyczki lub osobny projekt nie są wykonalnymi opcjami, ponieważ 1) ten pierwszy nie istnieje, i 2) ten drugi nie pozwoliłby klientowi patrzeć i być może modyfikować istniejącego kodu, co, jak sądzę, zrobiłby nalegać na.