A operação confiável de seu sistema técnico depende de softwares confiáveis e seguros. A Validação e Verificação Independente de Softwares (ISVV) implica a verificação e validação, complementando as realizadas pelo desenvolvedor do software, que irá produzir um software melhor por menos dinheiro. A DNV fornece avaliação, verificação e validação independente de software do seu sistema técnico com base em técnicas éticas e com ampla experiência em segurança e sistemas indispensáveis.
A Verificação e Validação Independente de Softwares (ISVV) é uma prática de engenharia feita para melhorar a qualidade e reduzir os custos de um produto de software, além de reduzir os riscos do desenvolvimento. Você obtém a verificação e validação das especificações de seu software e de códigos independentes do desempenho do desenvolvedor de software, que gera confiança aos clientes, proprietários, usuários, autoridades e outros acionistas relevantes.
A verificação e validação independentes são exigências em muitas áreas da sociedade, como:
A ESA, a Agência Espacial Européia, realiza ISVV regularmente para softwares fundamentais. Eles utilizaram fornecedores de serviços externos como a DNV para consolidar e definir um processo ISVV uniforme, econômico e reproduzível, além de um Guia ISVV.
A NASA construiu um centro ISVV, o IV&V, da NASA, como conseqüência do acidente com o ônibus espacial "Challenger", em 1986. É política formal da NASA ter todos os projetos avaliados para as necessidades de ISVV.
A agência espacial japonesa, JAXA, utiliza ISVV em seus projetos.
Distinção de preocupações: Qualquer pessoa ou organização possivelmente deseja descobrir se suas atividades inevitavelmente conflitam com demandas e interesses. A divisão clara de papéis e responsabilidades garante o não surgimento de um conflito, gerando confiança para outras partes interessadas.
Visões diferentes: As pessoas interpretam e reproduzem mensagem diferentemente em certos contextos. Uma segunda opinião complementa a outra visão, identificando omissões, ambigüidades, erros factuais, erros lógicos etc.
Eficácia e produtividade: As equipes especializadas em verificação e validação independentes de software desenvolvem competência técnica e motivação que devem levar a um trabalho mais eficaz e produtivo, pois isso exige a aplicação de ferramentas sofisticadas.
O Padrão IEEE para Verificação e Validação de Software (IEEE 1012:1998) distingue os seguintes tipos de independência:
A independência técnica requer o esforço de IV&V (Verificação e Validação Independentes) para usar equipes que não estão envolvidas no desenvolvimento de software, o que significa que o esforço de IV&V utiliza ou desenvolve seu próprio conjunto de ferramentas para testes e análises separado das ferramentas do desenvolvedor. Este é um método importante para detectar erros sutis omitidos por aqueles que estão próximos demais da solução.
A independência gerencial exige que a responsabilidade do esforço de IV&V recaia sobre uma organização separada das organizações de desenvolvimento e programas de gerenciamento, que independentemente seleciona os segmentos e sistemas de software para analisar e testar, escolhe as técnicas, define o cronograma de atividades e seleciona as questões e os problemas técnicos específicos para solucionar. Ela fornece conclusões de maneira oportuna e simultânea ao desenvolvimento e às organizações com programas de gerenciamento. Deverá ser permitido submeter os resultados sem quaisquer restrições ao gerenciamento do programa.
A independência financeira exige que o controle orçamentário recaia sobre uma organização independente da organização de desenvolvimento.
Gerenciamento de Processo ISVV (MAN.PM): papéis, responsabilidades, planejamento, orçamento, comunicação, competência, confidencialidade etc., envolvendo as responsabilidades do cliente e do fornecedor.
Análise de Criticalidade (MAN.CR): oferece suporte ao gerenciamento de processo, à tarefa de verificação e validação e oferece uma contribuição importante para o planejamento. Ela define o escopo e o rigor das atividades de IV&V subseqüentes, atribuindo categorias de criticalidade de software e níveis de exigência de software, componentes e unidades.
Análise de Especificação Técnica (IVE.TA): verificação de especificação técnica, como exigências de software, finalizando com uma Revisão da Análise de Especificação Técnica (TAR).
Análise de Projeto (IVE.DA): verificação do projeto de arquitetura de software e projeto detalhado de software, finalizando com uma Revisão da Análise de Projeto (DAR).
Análise de Código (IVE.CA: verificação de código-fonte de software, finalizando com uma Revisão da Análise de Código (CAR).
Validação (IVA): testes de software para demonstrar se a implantação atende à especificação técnica de um modo consistente, completo, eficiente e sólido, finalizando com uma Revisão de Validação Independente.