Quais são as implicações do ISO 9001/CMMI para o controle de origem em geral e em particular Git/Mercurial/DVCs?

StackOverflow https://stackoverflow.com/questions/3822825

  •  26-09-2019
  •  | 
  •  

Pergunta

Fui feita a essa pergunta sobre o controle de origem distribuído em geral por alguém familiarizado com o Team Foundation Server.

É possível usar DVCs como Git ou Mercurial para controle de origem e cumprir com padrões como ISO 9001 ou CMMI?

Quais requisitos fazem ISO 9001 e CMMI em que ferramentas de controle de origem devem ou não ser capazes?

Há alguma coisa que o Git/Mercurial faça que ISO 9001/CMMI consideraria prejudicial ou que exigiria considerações específicas?

Eu encontrei algumas informações em http://www.ssqc.com/do25v6new.pdf Mas, à vontade, não parece dizer muito além da necessidade de manter registros do que mudou, quais versões do seu software você implantou e quais problemas eles corrigem, e não há razão para que os DVCs não devam ser Capaz de lidar com isso em combinação com um rastreador de bugs como Fogbugz e um servidor de CI, como o TeamCity.

Foi útil?

Solução

Primeiro, o software não é o ISO 9001 Compilant. Somente organizações são compilantes ISO 9001. Portanto, a pergunta declarada realmente não faz sentido. A única coisa que você poderia perguntar é se as equipes de desenvolvimento Git ou Mercurial são compilantes ISO 9001. (O mesmo vale para CMMI).

Todo o ISO 9001 para uma equipe de desenvolvimento de software realmente significa que você tem um processo por escrito para tudo o que faz (desenvolvimento, correções de bugs etc.) e que o segue. Bem, isso e você pagou a alguém para fazer uma certificação de auditoria ISO 9001 quanto ao acima. O CMMI está muito mais envolvido, mas para os propósitos desta discussão, podemos considerá -los semelhantes.

Você provavelmente teria que parecer bastante longo e difícil de encontrar um projeto comunitário de software livre que se preocupasse em passar pelo enorme trabalho grunhido necessário na criação de toda a documentação do processo e que reuniu o dinheiro para pagar por uma auditoria. Se você encontrar um, provavelmente seria apenas devido a algum tipo de patrocinador corporativo que deseja.

Se a questão é o que esses padrões especificam sobre o uso do controle de origem, no caso da ISO 9001 que seria nada. A piada antiga é que, se você pegar seu produto e soltar uma janela de 10 andares para o dock de carregamento abaixo, tudo bem pela ISO, desde que esse seja o seu processo documentado e você o siga.

Outras dicas

Eu trabalho em um ambiente 21 CFR 820 (dispositivo médico regulamentado)/ISO 13485, mas o "quadro geral" é o mesmo que a ISO 9001. Concordo com todas as coisas acima sobre a ISO 9001 sobre o processo, não as ferramentas.

No entanto, você pode estar trabalhando em uma área em que precisa implementar procedimentos para controles de design de engenharia, e os controles de design abordarão os processos, ferramentas e instruções de trabalho usadas pelos desenvolvedores. Em particular, na arena dos dispositivos médicos, precisamos nos preocupar com qualquer ferramenta de software com a segurança ou a eficácia do produto. Isso inclui ferramentas para gerenciamento de configuração e controle de versão (se você não pode controlar qual versão do software está construindo, você não pode dizer de forma convincente que sabe quais versão (s) estão em campo, para que você não possa dizer quais clientes entrarem em contato com um recall).

Para essas ferramentas, precisamos ter documentação de "Validação de Sistemas de Computador" (CSV). O CSV para uma ferramenta de terceiros inclui (1) uma especificação de ferramenta que descreve os casos de uso no ciclo de desenvolvimento do produto e como eles afetam a qualidade e (2) casos de teste que podem fornecer evidências objetivas de que a ferramenta é eficaz nos casos de uso pretendido .

Para um sistema de controle de versão, isso significaria basicamente um papel branco que descreve os recursos que você usa (check -in, checkout, ramificações, tags) e alguns testes desses recursos demonstrando que eles funcionam. Para pontos de bônus, se o software tiver seu próprio conjunto de testes, você poderá incluir evidências de que ele executa e passa seus próprios testes.

De Página inicial do CMMI:

O CMMI é uma abordagem de melhoria do processo que fornece às organizações os elementos essenciais de processos eficazes que acabam melhorando seu desempenho.

O CMMI lida com o processo, não as ferramentas. Meu entendimento é que você pode controlar a versão com tablets de argila e ser compatível com o CMMI se tivesse um processo para fazê -lo (nível 2) e seguir o processo (nível 3,4,5).

Consegui participar de uma auditoria do SCAMPI C, bem como desenvolver um processo para dois grupos de processos da CMMI em um empregador anterior e tivemos algumas discussões detalhadas sobre o controle de versão com nosso consultor da CMMI. Não estávamos usando um DVCs durante esse processo, mas por muitas das razões mencionadas acima, não consigo ver por que seria um problema.

Em termos do que CMMI realmente auditorias para, os outros pôsteres estão corretos ao afirmar que, desde que o processo esteja documentado e os desenvolvedores entendam e possam citar o processo adequadamente, você deve ficar bem.

Em termos de garantir que sua equipe esteja pronta para passar uma auditoria CMMI, a única coisa que seria uma pequena preocupação seria tentar fazer uma equipe de médio/grande porte a partir de VCs de código aberto (SVN, CVS) ou VCs comerciais (MKS, Accurev, etc ...) para um DVCS sem o tempo de rotação apropriado. Como a transição pode ser chocante, você deseja garantir que sua equipe tenha uma aderência firme em qualquer DVC antes de se envolver na auditoria.

Como outras pessoas observaram a ISO 9001 não é sobre a ferramenta. Trabalhando em uma instituição que são sinais compatíveis com ISO 9001, eles (a própria instituição) são "maduros". A palavra madura, nesse contexto, indicando que a organização segue estritamente os processos que foram auditados e considerados compatíveis com ISO 9001. Os processos que envolvem o Git ou o Mercurial não afetarão sua capacidade de se tornar compatível com a ISO 9001 de forma alguma (a menos que você não siga os processos).

Pelo menos, esse é o meu entendimento de tudo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top