Declaração do problema:
Dado:
- TFS como controle de origem
- Aplicativo cliente de desktop pesado com toneladas de código legado com design de arquitetura ruim ou quase ausente.
- Clientes que exigem constantemente novos recursos com qualidade de som,
entrega rápida e reclamação constante da interface hostil do usuário.
Problema:
O aplicativo, sem dúvida, requer refatoração profunda. Esse processo inevitavelmente torna a aplicação instável e é necessária uma fase de estabilização dedicada.
Tentamos:
Refatoração no mestre com mesclagens periódicas do mestre (MB) para a ramificação do recurso (FB). (meu erro) Resultado: Muitos ramos instáveis.
O que somos aconselhados:
Link para o artigo (pdf)
Crie ramificação adicional para refatoração (RB), sincronizando-a periodicamente com MB por mesclagem de MB para RB. Após a estabilização da RB, substituímos o mestre pela RB e criamos uma nova ramificação para refatoração adicional. Esse é o plano. Mas aqui espero o verdadeiro inferno de mesclar MB para RB depois de mesclar qualquer FB para MB.
A principal vantagem: mestre estável na maioria das vezes.
Existem alternativas melhores para os candidatos?