Esiste un'applicazione di ricerca e sviluppo interna che ha sviluppato casi d'uso basati sulla nostra visione del prodotto.
Stiamo iniziando a ricevere feedback da potenziali clienti di diversi settori a cui questa applicazione potrebbe essere applicata.
Questa applicazione ha componenti backend e frontend funzionanti. Potrebbe essere necessario modificare sia il backend che il frontend per soddisfare i requisiti del client.
Il frontend e il backend comunicano tramite un'API generalizzata e non specifica per qualsiasi settore.
Poiché questa applicazione può essere applicata a diversi settori, i dati nel database possono essere modificati per includere nuovi oggetti dati e oggetti correnti con nuovi attributi.
Allo stesso modo, le sezioni di frontend possono cambiare. Alcune sezioni non sono state utilizzate o il flusso di lavoro è stato modificato per soddisfare le esigenze del cliente.
A nostro modo di vedere, potremmo avere un progetto Parent (con componenti backend e amp; frontend) che ospita molti dei componenti principali con uno o più progetti secondari (backend e amp; frontend) che ereditano funzionalità e nuove modifiche dal genitore, ma hanno modificato la loro funzionalità e lo stile visivo.
Altrimenti, abbiamo solo un singolo back-end con diversi progetti frontend che hanno flussi di lavoro e visualizzazioni diversi a seconda del client.
Questa parte backend dell'applicazione ha un back-end basato su Java con un database e altri microservizi. La parte di frontend è un frontend angolare basato su JS.
Andando avanti quali sono le migliori strategie per determinare come organizzare e far crescere il progetto? E quali sono i fattori comuni da considerare?
Ogni cliente dovrebbe avere un'applicazione personalizzata o dovremmo fornire un frontend one-size-fits-all con un back-end modificato?
Dovremmo concentrarci solo sulle attuali esigenze dei clienti e non preoccuparci di potenziali futuri clienti fino a quando non si presentano?