Potrei potenzialmente avere del lavoro per implementare nuove funzionalità per l'applicazione web esistente di un cliente. (Non ho scritto l'app originale).
Non ho mai creato un'app che non sia stata scritta da zero e sono preoccupata di integrare le nuove funzionalità senza interrompere il servizio troppo a lungo (o affatto).
Non penso che il client abbia impostato un repository di codice esistente.
Stavo pensando che il mio processo di sviluppo dovrebbe seguire il seguente percorso:
- Crea un repository SVN e memorizza tutto il codice corrente, includendo (o rendendoli se necessario) i file SQL che sarebbero necessari per creare la struttura attuale del database.
- Ottieni l'app del client funzionante come su un server di prova con dati fittizi nel database del server di test.
- Lavora il più possibile in cicli per scrivere il codice per una funzione alla volta e poi esegui la migrazione sull'app live. Questo è il punto su cui sono più insicuro. Ci sarà un breve periodo di tempo in cui caricherò alcuni nuovi file e gli utenti probabilmente avranno problemi di usabilità (arresti anomali). Devo solo visualizzare una pagina "working on the server" mentre sto facendo questo? Come potrei farlo?
- Inoltre, mi sembra che aggiungere una funzione alla volta possa causare problemi, perché alcuni di loro si aspettano che altre funzioni siano lì per funzionare correttamente. Suppongo che la risposta a questo è solo aggiungere una raccolta di funzionalità che possono essere considerate come un modulo autonomo.
- Ovviamente testerei il nuovo codice al massimo prima di eseguirne la migrazione.
Sarei grato per eventuali suggerimenti o trucchi o commenti su ciò che ho scritto sopra. Voglio davvero che tutto funzioni senza problemi per il mio cliente (e per me!)
Saluti