Dichiarazione problema:
Dato:
- TFS come controllo del codice sorgente
- Applicazione client desktop pesante con tonnellate di codice legacy con progettazione dell'architettura difettosa o quasi assente.
- I clienti che richiedono costantemente nuove funzionalità con qualità del suono,
consegna rapida e lamentano costantemente un'interfaccia utente ostile.
Problema:
L'applicazione richiede senza dubbio un profondo refactoring. Questo processo rende inevitabilmente l'applicazione instabile ed è necessaria una fase di stabilizzazione dedicata.
Abbiamo provato:
Refactoring in master con fusioni periodiche da master (MB) a feature branch (FB). (errore mio) Risultato: molti rami instabili.
Cosa ci viene consigliato:
Link all'articolo (pdf)
Crea periodicamente un ramo aggiuntivo per refactoring (RB) sincronizzandolo periodicamente con MB tramite l'unione da MB a RB. Dopo che RB si è stabilizzato, sostituiamo il master con RB e creiamo un nuovo ramo per ulteriori refactoring. Questo è il piano Ma qui mi aspetto il vero inferno di unire MB a RB dopo aver unito tutti gli FB a MB.
Il vantaggio principale: padrone stabile per la maggior parte del tempo.
Ci sono alternative migliori ai processi?