Istruzione problema:
Data:
- TFS come controllo del codice sorgente
- Applicazione client desktop pesante con tonnellate di codice legacy con o senza design di architettura quasi assente.
- I client richiedono costantemente nuove funzionalità con una qualità del suono, veloce
consegna e lamentarsi costantemente per l'utente ostile UI.
Problema:
L'applicazione richiede indubbiamente un profondo refactoring. Questo processo rende inevitabilmente l'applicazione instabile e la fase di stabilizzazione dedicata è necessaria.
Abbiamo provato:
Refactoring in master con unioni periodiche da master (MB) a feature branch (FB). (errore mio) Risultato: molti rami instabili.
Cosa viene consigliato:
Link all'articolo (pdf)
Creare un ulteriore ramo per refactoring (RB) periodicamente sincronizzandolo con MB tramite unione da MB a RB. Dopo che l'RB è 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 qualsiasi FB a MB.
Il vantaggio principale: il master stabile il più delle volte.
Ci sono alternative migliori alle procees?