Consulte /software/109817/superior-refusing-to-use-subversion
Minha pergunta é semelhante, mas aqui estão as principais diferenças no meu cenário:
Estamos iniciando um novo projeto do zero, usando PHP e tecnologia da web. Não haveria tempo de inatividade no desenvolvimento, como o adotaríamos desde o início, se eu puder.
Minha equipe de desenvolvimento consiste em mim e meu chefe. Nós somos o departamento de "TI" de uma empresa relativamente pequena.
O aplicativo da Web substituirá um aplicativo herdado por absolutamente nenhum controle de origem. Devido a variações nos requisitos legais geográficos, foi tomada a decisão (antes da minha contratação) de dividir o aplicativo em 7 diretórios completamente separados para cada versão. Desenvolvedores diferentes fizeram coisas diferentes em lugares diferentes e em momentos diferentes depois disso. Corrigir alterações entre eles, bem, acho que poderia ser melhor, acho que é por isso que estou postando.
A proposta do meu chefe, colada diretamente a partir de um email:
As atualizações devem ser enviadas como pacotes na pasta SUBMISSIONS. O pacote deve conter todos os arquivos relevantes, bem como um arquivo 'UPDATE.NFO' que contém uma descrição da atualização, uma lista de todos os novos arquivos incluídos (com descrições) e uma lista de todos os arquivos modificados com detalhes de modificação.
Os pacotes de atualização devem se concentrar em um elemento individual e não se desviar da finalidade pretendida. O código deve ser projetado para ser modular e reutilizável sempre que possível.
Todos os pacotes enviados devem ser instalados no ambiente de teste de cada desenvolvedor logo após o envio. Cada desenvolvedor deve revisar a nova adição e expressar quaisquer preocupações sobre sua instalação no ambiente de produção. Uma atualização de pacote padrão deve ser realizada por no mínimo 3 dias úteis para esse processo de revisão antes de ser carregada no ambiente de produção. Atualizações / correções de alta prioridade podem ignorar esse requisito.
A razão pela qual o controle da fonte foi inventado é tornar tudo automático, certo? Sugeri subversão, porque era isso que eu usava na faculdade. Boss não gosta de subversão porque "Isso faz uma bagunça no código" (isto é, usa magia binária e não é claramente legível). Tentamos uma vez, mas acho que tentar usá-lo no Windows cometeu erros estranhos em maiúsculas / minúsculas e não conseguimos verificar nossos arquivos. Não sei se é apenas subversão ou todos os produtos de controle de origem que são questionáveis.
Então, que tipo de argumento devo fazer com meu chefe? Ou ele está certo, e pode haver o risco de perder todo o nosso trabalho de algum bug estranho?
Ou estou completamente errado? O controle de origem é realmente necessário na minha situação? Este é o nosso principal software crítico para os negócios, pelo que acabará sendo enorme, sem dúvida. Mas há apenas 2 desenvolvedores (agora).
Além disso, se eu não posso convencê-lo, haveria algum sentido em usá-lo apenas para mim? Estou falando como alguém com experiência muito limitada, na verdade, usando svn; tudo o que eu realmente sei é checkout e commit. Quais são os recursos do controle de origem (podem incluir outros produtos além do svn) que ajudariam no meu esforço de desenvolvimento individual?
Por favor, não "consiga outro emprego" comentários. Isso não é útil para o debate.
I, on the other hand, think that the OP is being silly in trying to specify the bounds on the answer....
Bem, o limite específico não é nada tolo. Os conselhos de carreira estão fora de tópico e, embora uma resposta que responda à pergunta e ofereça conselhos de carreira seja perfeitamente adequada para mim, não acho que seja tolice para a OP especificar que ele não se importa com conselhos de carreira.