Se è necessario riscrivere
Comunque purtroppo a volte è davvero inevitabile ricorrere alla riscrittura del software. Nel caso in cui sia davvero necessario, tieni bene a mente i seguenti punti:
La riscrittura prenderà sempre più tempo di quanto si pensi
Preparariamoci per un sacco di lavoro. Una strategia efficiente è fondamentale, il tempo trascorso a riscrivere il sistema è tempo che si poteva dedicare per aggiungere nuove funzionalità che avrebbero fatto crescere il business.
Coinvolgi il proprietario del prodotto
Sarà ansioso di completare la riscrittura in quanto gli sta costando soldi per re-implementare funzionalità che già ha. Teniamolo sempre al corrente di ogni progresso!
Identifica il set base di caratteristiche fondamentali
Focalizziamoci su queste caratteristiche, in modo da disporre il prima possibile di un set di funzionalità minima apprezzabile.
Limita i lavori aperti
Non cerchiamo di re-implementare tutto in una volta, completiamo una funzione prima di passare alla successiva.
Riscrivi solo ciò che serve
Buttare via tutto quello che non è assolutamente necessario: Invece che riscrivere funzionalità inutili risparmiamo tempo per dedicarlo poi ad aggiungere nuove funzionalità utili alla crescita dell’azienda.
Migliora i processi
Approfittare dell’occasione per affinare e semplificare i processi esistenti.
Rilascia il prima possibile, ma non un momento prima
I nostri attuali clienti saranno scontenti dei ritardi, ma ancora più scontenti se il nuovo sistema non è utilizzabile correttamente o mancano le caratteristiche più importanti.
Prova i dati reali al più presto
Non lasciamo la migrazione dei dati all’ultimo minuto. È necessario scoprire se il nuovo sistema sia in grado di lavorare con i dati reali che abbiamo.
Procedi implementando le parti una per volta
Focalizzarsi sui vari layer e moduli uno per volta: Database, servizi, interfaccia utente, ecc.
Dove è possibile, sostituisci con le nuove parti appena pronte
Dove si possano riscrivere parti del nuovo sistema integrandole con il vecchio sistema, è possibile scaglionare la riscrittura per iniziare prima a rilasciare il nuovo e dismettere il vecchio.
Appoggiati a moduli già consolidati
Se abbiamo a disposizione una funzionalità generica, come ad esempio un forum o CMS, è consigliabile utilizzare un’alternativa già pronta e testata, commerciale od open-source.
Non fare pasticci
Scriviamo test adeguati! L’unico modo per andare veloce è quello di andare bene.