Conformidade na administração do DVCS em um contexto corporativo, o que esperar de uma transição de um CVCS (Perforce)?

5

Eu trabalho em uma grande empresa multinacional como engenheiro de software e atualmente estou mantendo uma conversa muito agradável com a TI e outros desenvolvedores no que diz respeito à adoção de um DVCS (Mercurial e / ou Git).

Uma das questões levantadas pela TI foi conformidade e propriedade intelectual (BTW, Perforce fala em voz alta sobre isso e em relação ao Git). Parece-me que a TI tem a impressão de que, como o Mercurial / Git é distribuído, ter repositórios em cada máquina de desenvolvedor é um cenário fora de controle e eles teriam que auditar cada repositório.

Outra coisa que eu acho que é uma preocupação para a TI é o fato de ter agora "100" repositórios em vez de "10" gigantescos. Tenho a impressão de que eles pensam que seu esforço administrativo para mantê-los / monitorá-los crescerá "dez vezes". Acho que o software de gerenciamento de repositório (Rhodecode, Atlassian Stash) seria o primeiro passo para dar controle de acesso & rastreabilidade.

Minhas perguntas são:

  1. O software de gerenciamento de repositório é suficiente para uma empresa deste tamanho (digamos ~ 2000 desenvolvedores e ~ 50 depósitos do Perforce em mais de 10 servidores) ?, para estar em conformidade (e atender a outros requisitos corporativos?)

  2. O que exatamente é englobado por este requisito de "conformidade" ?, há alguma referência que você possa fornecer (por exemplo, um padrão IEEE ou algo parecido)?

Minha empresa usa o Perforce há ~ 10 anos

    
por dukeofgaming 18.10.2012 / 02:04

1 resposta

3

Não muda muito quando você muda para um DVCS. A grande diferença é que a cópia do código-fonte na estação de trabalho de todo desenvolvedor agora também é seu próprio repositório.

Eu duvido que haja muita razão para a TI se preocupar com isso. Só porque git e mercurial são distribuídos, não significa que você estará implementando / entregando diretamente da área de trabalho de algum desenvolvedor. Ainda é possível - e quase certamente necessário - continuar usando alguns repositórios centrais que todo mundo verifica, para testes, controle de qualidade e eventual lançamento.

Se a TI está monitorando o código-fonte nas estações de trabalho dos desenvolvedores ou não, nada realmente muda. Você ainda vai colocar o histórico de alterações nos repositórios centrais assim que eles forem enviados, o que eu suspeito que eles estejam realmente preocupados.

O que você ganha com isso, do ponto de vista de TI, é que você não está atingindo os repositórios centrais a cada poucos minutos (ou segundos!) sempre que os desenvolvedores fazem um commit. Os desenvolvedores podem terminar de trabalhar em algo e, em seguida, aumentá-lo apenas quando estiver pronto, mas ainda terão controle de versão completo em sua estação de trabalho sem ter que acessar a rede quase tanto.

Por fim, você precisa conversar mais detalhadamente com a TI sobre a natureza exata dos problemas de conformidade dos quais eles estão falando. Isso pode ser qualquer coisa, desde gerenciamento de propriedade intelectual, ISO 9000 ou algumas leis / regulamentações governamentais.

(Para todos: sinta-se à vontade para melhorar esta resposta; esta não é minha área de especialização ...)

    
por 18.10.2012 / 02:38