Dando continuidade aos posts sobre a temática do SCRUM e MPS-BR (Melhoria de Processo de Software Brasiliero), hoje falaremos do processo de Validação (VAL), necessário para que se atinja o nível D, e superiores, de maturidade.

Segundo o Guia de Implementação do MPS-BR, o processo de Validação pode ser definido como “a confirmação, por exame e fornecimento de evidência objetiva, de que os requisitos especificados, para um determinado uso pretendido, são atendidos”. Este conceito é muitas vezes confundido com a Verificação, e por mais que sejam processos complementares, possuem propósitos diferentes. Enquanto que a Verificação se preocupa em desenvolver o software corretamente, a Validação assegura que está sendo desenvolvido o software correto.

No que se refere ao produto de trabalho, o Software em si, a implementação deste processo se torna fácil para os adeptos do SCRUM, pois a sua estrutura em espiral faz com que a maioria dos resultados esperados da Validação seja atendida de maneira quase natural.

Reuniões de Revisão são utilizadas com este propósito. Após a implementação das histórias selecionadas, estas terão que ser validadas junto ao PO, pois sendo este o maior detentor do conhecimento do conhecimento das regras de negócio do produto sendo desenvolvido, ele terá meios de julgar sua corretude. No que se refere à validação dos requisitos, atividade altamente recomendada, esta fica a encargo do PO, pois este sendo a entidade mais próxima do cliente,

poderá validá-los com o próprio.

As atividades propostas pelo Guia de Implementação do MPS para o processo de Validação são:

  • Identificar os produtos de trabalho que serão validados, isto pode incluir o software em si, os requisitos, e outros tipos de documentos, por exemplo, o cronograma de projetos. Normalmente são selecionados os que possuem o maior risco associado a eles.
  • Definir e implementar uma estratégia de validação, ou seja, definir quem estará participando, quando será realizada, como será feita e o que necessita para ser feita. Por exemplo, as atividades de validação do software ocorrerão nas reuniões de revisão, sendo realizadas pela equipe de desenvolvimento e PO, através de testes de aceitação, necessitando assim da preparação de um ambiente de homologação.
  • Definir critérios e procedimentos para a validação, por exemplo, tempo de resposta, tolerância a falhas etc.
  • Garantir a execução das atividades de validação. Por meio das reuniões de revisão, por exemplo.
  • Identificação e registro dos problemas encontrados durante a validação. Isto pode ser feito registrando-se o por que da reprovação de uma história, ou a introdução de uma história de bug.
  • Disponibilização dos resultados das atividades de validação aos interessados, para que estes possam ser avaliados.
  • Fornecer evidências de que o produto final de software desenvolvido esteja pronto para uso. Testes alfa e beta podem ser utilizados para este fim.

A validação é um processo importante para o desenvolvimento do software correto e a sua fácil adaptação à metodologia do SCRUM pode ser um grande motivador para a sua realização completa.