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:
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.
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!
Focalizziamoci su queste caratteristiche, in modo da disporre il prima possibile di un set di funzionalità minima apprezzabile.
Non cerchiamo di re-implementare tutto in una volta, completiamo una funzione prima di passare alla successiva.
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.
Approfittare dell’occasione per affinare e semplificare i processi esistenti.
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.
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.
Focalizzarsi sui vari layer e moduli uno per volta: Database, servizi, interfaccia utente, ecc.
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.
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.
Scriviamo test adeguati! L’unico modo per andare veloce è quello di andare bene.