Tags:

Atividades da gerência de requisitos

shutterstock_173172098_pGerenciamento de Requisitos é uma das principais atividades da engenharia de requisitos dentro de um processo de desenvolvimento de software.

É um conjunto de atividades que auxiliam na identificação, controle, rastreabilidade e organização dos requisitos de um sistema.

Todos sabemos que requisitos não são imutáveis, muito pelo contrário, eles podem mudar a qualquer momento e isso faz com que a tarefa de levantamento não seja tão precisa quanto parece.

Vários fatores podem dificultar o trabalho de especificação, são eles:

  • Os requisitos foram obtidos de vários usuários diferentes e/ou houve mudança de usuários chave durante o levantamento;
  • O requisito foi escrito de forma ambígua dando margem à diversas interpretações;
  • Uma nova regulamentação e/ou legislação influencia na orientação do negócio do cliente;
  • O entendimento sobre o negócio evoluiu durante o desenvolvimento, demandando alteração nos requisitos ou a criação de novos.

Para minimizar os impactos e as dificuldades perante as mudanças, os requisitos devem ser documentados e controlados.

Sem gerenciamento, funcionalidades menos importantes podem ser implementadas antes daquelas com maior urgência e alterações de grande impacto no sistema podem ser desenvolvidas sem a devida aprovação.

A gestão de requisitos é um processo que envolve compreender e controlar as mudanças tendo como referência uma baseline de requisitos. Suas principais preocupações giram em torno de:

  • Gerenciar as mudanças nos requisitos iniciais;
  • Manter a rastreabilidade entre os requisitos;
  • Gerenciar os demais documentos que se relacionam ao documento de requisitos durante o projeto.

shutterstock_119160025_p

Figura 1 – Escopo x Tempo x Custo

Atividades do gerenciamento de requisitos

Analisar o problema/necessidade

  • Identificar os envolvidos e afetados no problema (stakeholders);
  • Entender o problema e suas causas;
  • Conseguir a aprovação dos envolvidos na definição do problema e ajudá-lo a escolher a melhor solução;
  • Definir as fronteiras do sistema e em quais condições ele irá funcionar.
  • Validar se a solução proposta atende as necessidades do cliente.
  • Estabelecer um vocabulário comum.

Entender as necessidades dos stakeholders

  • Identificar e compreender os problemas e necessidades através de solicitações dos stakeholders (brainstorms, entrevistas, questionários, protótipos, user stores, especificações técnicas geradas pelo usuário).

Definir o sistema

  • Definir e documentar as funcionalidades do sistema;
  • Documentar e organizar os requisitos;
  • Elaborar e priorizar casos de uso;
  • Desenvolver protótipos.

Gerenciar escopo

  • Definir qual será o escopo do sistema;
  • Controlar o aumento/diminuição do escopo de forma a garantir que o acordado inicialmente seja mantido;
  • Estabelecer o baseline dos requisitos e quais funcionalidades serão modificadas através de requisição de mudança;
  • Fazer a priorização dos requisitos;
  • Compreender e gerenciar as expectativas dos envolvidos e limitá-las apropriadamente.

Refinar o sistema

  • Detalhar os requisitos separando os funcionais dos não funcionais;
  • Descrever cenários para os casos de uso;
  • Obter a validação e aprovação do usuário para os requisitos criados.

Gerenciar Mudança

  • Analisar o impacto das mudanças;
  • Formalizar requisições de mudança;
  • Criar um repositório para os requisitos;
  • Obter as devidas aprovações para que a mudança ocorra.

Manter a rastreabilidade

  • Mapear os requisitos e seus relacionamentos (recomenda-se uso de ferramentas);
  • Realizar a alteração em todos os requisitos envolvidos na mudança.

shutterstock_134815472_p

Figura 2 – Fluxo de engenharia de software

Esse conjunto de atividades ajuda a garantir que o que foi acordado se mantenha, e mesmo que seja necessário realizar mudanças no escopo, o desenvolvimento do software não seja impactado a ponto de causar insatisfação no cliente quando o produto for entregue.

Referências

[1] http://pt.slideshare.net/mauricioastiazara/gerencia-de-requisitos

[2] http://www.okconcursos.com.br/apostilas/apostila-gratis/133-metodologia-de-desenvonvimento-de-sistemas/451-gerenciamento-de-requisitos#.U4N4ACj-VmU

[3] http://www-di.inf.puc-rio.br/~karin/prominp/index_files/gerencia_req.pdf

[4] http://www.wthreex.com/rup/portugues/process/workflow/requirem/co_rm.htm

Por CAMILA CRISTINA ROCHA

Postado em: 26 de junho de 2014

Confira outros artigos do nosso blog

[Webinar] Profile de aplicações Java com Oracle Mission Control e Flight Recorder

24 de julho de 2017

Danival Calegari

Criando Mocks de serviços REST com SoapUI

27 de junho de 2017

Monise Costa

Three laws that enable agile software development

09 de março de 2017

Celso Gonçalves Junior

Medindo performance de uma API REST

21 de fevereiro de 2017

Monise Costa

Deixe seu comentário