Pergunta

A organização Eu atualmente trabalho para uma organização que está se movendo em todo o mundo CMMI de documentar tudo. Fui designado (junto com um outro indivíduo) o título do Configuration Manager. Parabéns a me direita.

Parte dos deveres é executar em uma base regular (eles ainda estão definindo base regular, ele quer pela trimestral ou mensal) uma auditoria de configuração física. Esta é basicamente uma verificação de versões de código fonte implantados em produção para o que acreditamos ser as versões de código fonte na produção.

O nosso projecto é relativamente pequena aplicação web com escritos em Java. Os tipos de arquivos com os quais trabalhamos são java, jsp, xml, arquivos de propriedade, e os pacotes de SQL.

O problema que tenho (e expressaram mas parecem estar indo ignorado) é como é que eu vou log físico no servidor de produção e verificar versões de arquivo e até mesmo se eu poderia levaria uma quantidade ridícula de tempo?

As versões de arquivo não são ainda atualmente no arquivo (ou seja. Em um comentário ou algo assim). Foi sugerido que nós colocamos números de versão visíveis em cada tela que é visível para os usuários também. Eu pensei que este ridículo também, uma vez que as próprias telas representam apenas uma pequena fração do código mantemos.

As ferramentas que atualmente uso são Netbeans para o nosso IDE e Serena Dimensions como nossa ferramenta de controle de versão.

Eu estou procurando especificamente ideias sobre como realizar esta auditoria de uma forma esperamos mais automatizada, que será tanto tempo exato e não consumir.

A minha ideia é atualmente a adicionar um comentário ao topo de cada arquivo que contém o número da versão do arquivo, um script que é executado quando uma compilação de produção é criada para criar um arquivo XML ou algo semelhante que contém o nome do arquivo e versão arquivo de cada arquivo na compilação. Então, quando eu preciso fazer uma auditoria de eu ir para a garra servidor de produção o arquivo XML com a informação, e compará-lo programaticamente para o que acreditamos estar em produção, e produzir um relatório.

Todas as idéias melhores. Eu sei que isto tem que ter sido feito, e parece loucura para mim que eu não ter encontrado quaisquer outros recursos.

Foi útil?

Solução

Você pode computar um hash SHA1 dos arquivos de origem no servidor de produção, e comparar esse valor de hash para as versões armazenadas no controle de origem. Se você pode encontrar o mesmo hash no controle de origem, então você sabe qual versão está em produção. Se você não pode encontrar o mesmo hash no controle de origem, em seguida, há modificações untracked na produção e o título do trabalho novo é justificada. :)

Outras dicas

As organizações armadilha típica de cair com o CMMI está tentando exagerar tudo. Se eu pudesse sugerir alguma coisa, seria começar pequeno e só faço o que você precisa. Então, considere quaisquer problemas que você pode ter tido na área de CM peviously.

O CMMI descreve o que uma organização deve fazer, mas deixa o COMO até você. A CMMI especificação , capítulo 2 é bem a pena uma leia - descreve os componentes necessários, esperados e informativos da especificação - basicamente os objetivos são necessários, as práticas são esperados, e tudo o resto é informativo. Isto significa que há apenas uma pequena parte da especificação do que um avaliador CMMI pode exigir diretamente - os objetivos. Ao nível da prática, é permissível ter tanto as práticas como descrito, ou alternativas aceitáveis ?? para eles.

No caso de auditorias de configuração, o objetivo SG3 é "Integridade de linhas de base é estabelecida e mantida". SP3.2 diz "Executar auditorias de configuração para manter a integridade das linhas de base de configuração." Não há nada dito aqui sobre como muitas vezes estes são feitos, ou quanto tempo eles podem tomar.

Na minha organização anterior, FCA / PCA era geralmente feito apenas como parte do processo de lançamento do produto, e usamos ClearCase como a ferramenta de controle de versão, com rótulos aplicado em toda a base de código para definir linhas de base. Nós não têm números de versão em todos os arquivos de origem, nem temos números de versão em todas as telas de produtos - a atividade CM estava fazendo a coisa certa e foi apoiado por auditorias, e isso nunca foi um problema em qualquer avaliação CMMI . Nós poderíamos usar os deltas entre as etiquetas para olhar o que arquivos tinha mudado, execute diffs para ver as alterações de código reais. Uma parte importante do processo é ser capaz de ligar essas alterações de volta para qualquer um relatório exigência / bug / qualquer que seja a razão era que iniciou a mudança.

A nossa auditoria fez usar scripts para automatizar o processo, mas estes eram in-house scripts desenvolvidos são específicos para ClearCase - basicamente eles iriam listar todos os arquivos, suas versões no sistema CM, eo / item de linha de base de configuração para que eles pertencia.

Você não pode usar o controle de origem para isso? se você implantar uma versão e marcar o seu sourcecontrol com essa implantação, você pode, então, verificar contra o sistema de controle de origem

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