Looking for the better way to combine deep architecture refactoring with feature based development
Posted
by
voroninp
on Programmers
See other posts from Programmers
or by voroninp
Published on 2012-12-19T20:26:45Z
Indexed on
2012/12/20
5:13 UTC
Read the original article
Hit count: 255
development-process
|refactoring
Problem statement:
Given:
- TFS as Source Control
- Heavy desktop client application with tons of legacy code with bad or almost absent architecture design.
- Clients constantly requiring new features with sound quality, fast
delivery and constantly complaining on user unfriendly UI.
Problem:
Application undoubtedly requires deep refactoring. This process inevitably makes application unstable and dedicated stabilization phase is needed.
We've tried:
Refactoring in master with periodical merges from master (MB) to feature branch (FB). (my mistake) Result: Many unstable branches.
What we are advised:
Create additional branch for refactoring (RB) periodically synchronizing it with MB via merge from MB to RB. After RB is stabilized we substitute master with RB and create new branch for further refactoring. This is the plan. But here I expect the real hell of merging MB to RB after merging any FB to MB.
The main advantage: Stable master most of the time.
Are there any better alternatives to the procees?
© Programmers or respective owner