Problemstellung:
Gegeben:
- TFS als Quellcodeverwaltung
- Schwere Desktop-Client-Anwendung mit Tonnen von Legacy-Code mit schlechtem oder fast fehlendem Architekturdesign.
- Kunden, die ständig neue Funktionen mit Klangqualität, schneller
Lieferung und ständiger Beschwerde über eine benutzerunfreundliche Benutzeroberfläche benötigen .
Problem:
Die Anwendung erfordert zweifellos ein tiefgreifendes Refactoring. Dieser Prozess macht die Anwendung unweigerlich instabil und es ist eine spezielle Stabilisierungsphase erforderlich.
Wir haben versucht:
Refactoring im Master mit periodischen Zusammenführungen vom Master (MB) zum Feature Branch (FB). (mein Fehler) Ergebnis: Viele instabile Zweige.
Was uns geraten wird:
Link zum Artikel (pdf)
Erstellen Sie einen zusätzlichen Zweig für das Refactoring (RB), der regelmäßig durch Zusammenführen von MB zu RB mit MB synchronisiert wird. Nachdem sich RB stabilisiert hat, ersetzen wir Master durch RB und erstellen einen neuen Zweig für das weitere Refactoring. Das ist der Plan. Aber hier erwarte ich die Hölle, MB mit RB zusammenzuführen, nachdem ich einen FB mit MB zusammengeführt habe.
Der Hauptvorteil: Meistens stabiler Meister.
Gibt es bessere Alternativen zu den Verfahren?