Estou ajudando a gerenciar uma equipe externa que está começando a desenvolver novas versões de alguns produtos existentes. Historicamente, essa equipe sempre usou o modelo de um único projeto em uma única solução para cerca de 30 módulos no Visual Studio que se unem para produzir uma compilação implementável.
Isso está afetando negativamente a confiabilidade e a qualidade da compilação, porque elas nem sempre nos enviam o código-fonte mais atualizado. Estamos tentando pressioná-los para unificar todo o código referenciado em uma única solução, mas estamos obtendo alguma resistência - especificamente eles continuam falando sobre a interdependência entre os módulos (leia-se "projetos" no Visual Studio) aumentando se tudo for colocado em um único arquivo de solução. Nenhum código nas soluções separadas é usado em outro lugar.
Insisto que isso não faz sentido e que bons padrões de desenvolvimento evitarão esse problema.
A equipe em questão também realiza correções de bugs e desenvolvimento de novos recursos em um produto existente, cuja experiência foi difícil para dizer o mínimo e sofre exatamente o mesmo problema de se dividir em várias soluções. Foi-nos recusado o acesso ao seu controle de origem ( TFS ), e a abordagem que estamos adotando para unificar a base de código é tentar e pelo menos reduzir o número de atualizações ausentes e mais do que regressões ocasionais (sim, os bugs corrigidos estão sendo recuperados). - introduzido no produto) dizendo "envie-nos um ZIP de toda a pasta da solução para que possamos descompactar, abra-o no Visual Studio e pressioneF5 para testes ". Em termos de estrutura geral e qualidade, o código é muito ruim e difícil de suportar. Essa experiência é a razão pela qual pretendo acertar os processos de trabalho o mais cedo possível no ciclo de desenvolvimento.
Tem algo que estou perdendo? Existe alguma boa razão para manter todo esse código separado? Para o meu dinheiro, teria que ser uma razão tão convincente que seria de conhecimento comum, mas estou mais do que disposto a admitir que não sei tudo.