Gerência de Requisitos de software e a Matriz de Rastreabilidade

Gerência de Requisitos de software e a Matriz de Rastreabilidade

Engenharia de requisitos e seus processos

O objetivo deste Post na REde REQUISITOS é falar sobre o processo de Gerência de Requisitos de software e a Matriz de Rastreabilidade, discutidas na Engenharia de Requisitos, e que são fundamentais para o controle das funcionalidades e requisitos do produto de software, suas evoluções, prazos e custos envolvidos.

Processos da Engenharia de Requisitos

A Engenharia de Requisitos engloba as atividades envolvidas na descoberta, definição, especificação, manutenção e gestão de um conjunto de requisitos para um software.

De acordo com o IEEE std 830 (IEEE 1998a), a Engenharia de Requisitos compreende os processos de aquisição, refinamento e verificação das necessidades de negócio, por meio do uso de técnicas sistemáticas e repetíveis a serem usadas para assegurar que os requisitos do software sejam completos, consistentes, relevantes e que atendam às necessidades de negócio do cliente.

Além disso, deve manter um processo de Gerencia de requisitos que tem como objetivo estabelecer e manter um contrato entre o cliente e a equipe de negócio sobre as funcionalidades de um software e/ou de sua evolução e manutenção.

Segundo o SWEBOK – Software Engineering Body of Knowledge (IEEE, 2014) existem quatro atividades principais em um processo de Produção de Requisitos:

  • Elicitação;
  • Análise dos requisitos;
  • Definição e Especificação dos requisitos;
  • Validação dos requisitos.

Todas essas atividades são organizadas por um processo de Gerência de requisitos, que conduz as atividades de administração, mudança, rastreabilidade e qualidade dos requisitos.

Os processos da Engenharia de Requisitos e suas etapas estão representados abaixo:

Figura 01 – Castro, et al (2014) Engenharia de Requisitos: Um enfoque pratica na construção de software Orientado ao Negócio

A produção de requisito tem por objetivos identificar, definir, documentar e validar os requisitos junto ao cliente conforme as necessidades do processo de negócio que se deseja automatizar.

A Gerência de requisitos tem como objetivos gerenciar as mudanças nos requisitos acordados, gerenciar os relacionamentos entre os requisitos e gerenciar as dependências entre os documentos de requisitos e outros documentos produzidos ao longo do processo.

Segundo a IBM (2009), o gerenciamento ruim dos requisitos pode ter efeitos significativos em todo o processo e sobre o próprio negócio. Na verdade, os defeitos de requisitos correspondem de 70 a 85 por cento dos custos de retrabalho. Além disso, os erros detectados no final do processo de desenvolvimento podem custar às organizações até 200 vezes mais, do que se forem detectados durante a fase de análise de requisitos.

Abaixo, listamos as práticas fundamentais do SWEBOK (IEEE/Computer Science, 2004) com relação ao gerenciamento de requisitos:

Gerenciamento de Requisitos Documentar fonte dos requisitos
Documentar o histórico de mudanças do requisito
Definir uma forma de identificação única dos requisitos
Rastrear histórico de requisitos com relação aos componentes de projeto e módulos de código que os implementa
Definir uma métrica para cálculo de tamanho de software utilizando os requisitos
Estimar o tamanho do software com base em seus requisitos

Quadro 01 – SWEBOK (IEEE/Computer Science, 2004)

Dentre essas praticas fundamentais queremos destacar a pratica de documentar o histórico de mudanças do requisitos (Gerencia de Mudança) e a de rastrear histórico de requisitos com relação aos componentes de projeto e módulos de código que os implementa (Gerencia de Rastreabilidade)

Gerência de Mudança:

O gerenciamento de mudanças engloba o controle e monitoramento de um grande volume de informações tais como: solicitações dos clientes e desenvolvedores de mudanças, requisitos de software, modelo de dados, protótipos, etc., para identificação dos impactos e definição de custos e prazos para atender a solicitação de mudança.

O quadro abaixo representa a evolução dos artefatos na medida em que o produto de software vai sendo construído e os requisitos e regras vão evoluindo conforme as necessidades de negócio vão sendo identificadas:

Figura 02 – Evolução dos artefatos

Sem uma Gerência de Mudanças formal não é possível garantir que as mudanças propostas suportam os objetivos de negócio fundamentais do software.

E para que essa gerencia de mudança ocorra e seja possível avaliar seus impactos no produto de software é fundamental estabelecer e controlar uma Matriz de Rastreabilidade. Essa matriz é gerenciada pela Gerencia de Rastreabilidade dos requisitos.

Gerência de Rastreabilidade dos Requisitos

A rastreabilidade de requisitos consiste na identificação de relações entre as fontes dos requisitos, entre os requisitos propriamente ditos, e entre requisitos e os outros produtos (artefatos) da Engenharia de Software. Podem abranger também documentos da organização, padrões a serem seguidos, legislação etc.

A rastreabilidade permite a realização de uma análise de impacto mais eficiente na evolução do software.

A identificação dessas ligações serve tanto para propósitos técnicos quanto gerenciais, pois permitem:

  • a identificação de requisitos não especificados e/ou não implementados, descobrindo potenciais conflitos etc.;
  • identificação mais rápida dos requisitos e outros artefatos envolvidos na mudança, permitindo a realização de estimativas mais acertivas de custos e prazos quando da inserção ou alteração de um requisite;
  • a verificação dos requisitos buscando identificar ligações entre necessidades e requisitos, requisitos e regras, casos de uso e requisitos, requisitos que não tem casos de teste, etc.;
  • um melhor gerenciamento de risco da mudança, pois ajuda na identificação de riscos associados a custos e cronograma e outros fatores que possam impactar em requisitos (restrições legais, por exemplo).

Existem dois tipos de rastreamento de requisito, segundo (KOTONYA et SOMMERVILLE, 1998), conforme descrito abaixo. Esses tipos de rastreamento de requisitos referem-se à possibilidade de identificar a origem e o destino de um requisito.

  • pré-rastreamento e
  • pós-rastreamento.

A pré-rastreabilidade possibilita a identificação do contexto a partir do qual os requisitos foram originados (origem dos requisitos).  .

Já a pós-rastreabilidade permite identificar quais componentes (modelo de dados, casos de uso, casos de teste, por exemplo) implementam um determinado requisito.

A Figura abaixo representa um exemplo de pós e pré rastreabilidade.

 

As organizações devem definir as suas políticas de rastreabilidade com base nos processos de produção e gerencia de requisitos.

Essas políticas identificam quais informações de rastreabilidade devem ser mantidas e como deve ser mantidas.

Elas devem ser descritas no Plano de gerenciamento de Requisitos e devem incluir, entre outras caracteristicas:

  • As técnicas a serem utilizadas para a produção dos requisites e a manutenção da rastreabilidade;
  • Definição de quando coletar a informação de rastreabilidade durante o processo de construção do Software;
  • Definição dos papeis das pessoas responsáveis pela manutenção das informações de rastreabilidade.

 

No outro Post iremos falar sobre o Plano de Gerencia de Requisitos!!!

Forte abraço e até lá!!!

VEM PARA REde REQUISITOS!!