Wiem, że to szerokie pytanie, więc postaram się być jak najbardziej konkretny. To pytanie jest bardziej „organizacyjne” niż techniczne.
Mamy wielostronny projekt z tymi głównymi komponentami:
- Serwer hostujący podstawową logikę biznesową (modele danych)
- Backoffice dla klientów korzystających z podstawowej logiki biznesowej
- Interfejs API aplikacji (REST), który również korzysta z podstawowej logiki biznesowej
- Istnieją aplikacje na smartfony (iOS i Android) korzystające z interfejsu API aplikacji
- Istnieje inna aplikacja na tablet (Android) inna niż smartfon, która korzysta z tego samego interfejsu API aplikacji.
Wkrótce będę produkować z aktywnymi klientami. I jak każdy projekt, będę musiał utrzymywać wszystkie różne komponenty w czasie. Oznacza to, że można zaktualizować wszystkie następujące elementy:
- kod podstawowej logiki biznesowej na serwerze (używany przez back-office, API i jako efekt uboczny, przez aplikacje mobilne)
- sam interfejs API (używany w aplikacjach na smartfony i tablety)
- wszystkie aplikacje mobilne (przez appstore / googleplay)
Oczywiście części po stronie serwera (podstawowy kod logiki biznesowej i kod API) mogę natychmiast zmienić samodzielnie. Jednak nowe aplikacje mobilne muszą zostać pobrane przez klientów w sklepie z aplikacjami / googleplay i nie jestem pewien, czy są aktualne.
Czy możesz podać jakieś wskazówki, wskazówki dotyczące dobrych praktyk, aby uaktualnienia prac były płynne i bez ryzyka dla klienta?
Którego elementu potrzebuję do „wersji”? Jak upewnić się, że wszystko działa, nawet jeśli klient nie uaktualni swojej aplikacji mobilnej? Czy powinienem zmusić go do ulepszenia, aby ułatwić mi pracę?
Jednym słowem, jak powinienem się zorganizować, aby mój projekt był realizowany z czasem?