Abbiamo un sito Web di grandi dimensioni (oltre 1200 ore) che presenta molti debiti tecnici. Ciò è principalmente causato dai seguenti (soliti) motivi.
- Più programmatori che vanno e vengono durante lo sviluppo.
- Modifica delle specifiche durante lo sviluppo.
- Numerose funzionalità aggiunte (in breve tempo).
Il cliente desidera molte nuove funzionalità, e questo in pratica si riduce a lavorare su questo progetto settimanalmente per oltre 10 ore.
A causa del debito tecnico, passiamo MOLTE ore a risolvere o investigare i problemi, che di solito trovano la loro origine in uno dei seguenti:
- Un insetto spudorato e sciocco che fa piangere le persone.
- Una nuova funzionalità si traduce in quanto sopra perché non avevamo previsto tutti i luoghi in cui la nuova funzionalità avrebbe avuto un'influenza.
- Alcuni altri problemi che abbiamo affrontato (migrazione del server fe, aggiornamenti)
Abbiamo problemi quotidianamente e abbiamo cercato di seguire le cose per fermare questo:
- Creazione della documentazione tecnica relativa all'importazione, al pagamento e al funzionamento generale del sito Web.
- Riunione all'inizio della settimana per discutere delle questioni o dei miglioramenti attuali e di come affrontarli.
- Avere un piano di test. Test programmatore A test B, B test C e C A. Quindi il nostro Project Manager eseguirà alcuni test. Per quanto riguarda l'impatto della funzione, la gettiamo in un ambiente di gestione temporanea e lasciamo che il cliente controlli da solo.
Il problema è che i problemi continuano a verificarsi ... e in qualche modo non riusciamo a controllarlo. Le nuove funzionalità causano ancora bug e i vecchi bug continuano a salutare. In qualche modo - forse a causa delle dimensioni del progetto - non possiamo avere un'idea di questo progetto.
Presumo che ci siano molti programmatori che lavorano su progetti più grandi di questo. Ecco perché vengo alla mia domanda:
Che cosa possiamo fare, o cosa si fare per evitare questi problemi su progetti di grandi dimensioni?
Modifica minore, informazioni extra:
- Usiamo il controllo versione (SVN).
- Abbiamo un processo di sviluppo DTAP.