Disciplinas > Requisitos > Conceitos > Gerenciamento de Requisitos

Mais Informações: Conceitos: Requisitos
Conceitos: Tipos de Requisitos
Conceitos: Rastreabilidade
Artigo: Applying Requirements Management with Use Cases

O que é o Gerenciamento de Requisitos? Início da página

O gerenciamento de requisitos é um modelo sistemático para encontrar, documentar, organizar e rastrear os requisitos variáveis de um sistema.

Um requisito é definido como:

Uma condição ou uma capacidade com a qual o sistema deve estar de acordo.

Nossa definição formal de gerenciamento de requisitos trata-se de um modelo sistemático para:

  • identificar, organizar e documentar os requisitos do sistema, e
  • estabelecer e manter acordo entre o cliente e a equipe do projeto nos requisitos variáveis do sistema.

Os principais itens para o gerenciamento eficiente de requisitos incluem manter uma declaração clara dos requisitos, juntamente com atributos aplicáveis para cada tipo de requisito e rastreabilidade para outros requisitos e outros artefatos do projeto.

A coleta de requisitos pode parecer uma tarefa bem precisa. Nos projetos reais, contudo, você encontrará dificuldades porque:

  • Nem sempre os requisitos são óbvios e podem vir de várias fontes.
  • Nem sempre é fácil expressar os requisitos claramente em palavras.
  • Existem diversos tipos de requisitos em diferentes níveis de detalhe.
  • O número de requisitos poderá impossibilitar a gerência se não for controlado.
  • Os requisitos estão relacionados uns com os outros, e também com o produto liberado do processo de engenharia do software.
  • Os requisitos têm propriedades exclusivas ou valores de propriedade. Por exemplo, eles não são igualmente importantes nem igualmente fáceis de cumprir.
  • Há várias partes interessadas, o que significa que os requisitos precisam ser gerenciados por grupos de pessoas de diferentes funções.
  • Os requisitos são alterados.

Então, que habilidades você precisa desenvolver em sua organização para ajudá-lo a gerenciar essas dificuldades? Nós aprendemos que é importante dominar as seguintes habilidades:

Análise do Problema Início da página

A análise do problema é feita para compreender os problemas e as necessidades iniciais dos envolvidos, e propor soluções de alto nível. É um ato de ponderação e análise encontrar "o problema por trás do problema". Durante a análise do problema, são reconhecidos os problemas reais e quais são os envolvidos. Além disso, você define quais são, de uma perspectiva de negócios, as fronteiras da solução e as restrições de negócios da solução. Você também deverá ter analisado o caso de negócio para o projeto, para que haja uma boa compreensão de qual é o retorno esperado do investimento feito do sistema que está sendo construído.

Consulte também Detalhamento do Fluxo de Trabalho: Analisar o Problema.

Noções Básicas sobre as Necessidades dos EnvolvidosInício da página

Os requisitos vêm de várias fontes, como clientes, parceiros, usuários finais e peritos do domínio. Você precisa saber o melhor modo de determinar quais devem ser as fontes, como obter acesso a essas fontes e qual a melhor forma de levantar as informações delas. Os indivíduos que constituem as fontes primárias para essas informações são conhecidos como os envolvidos no projeto. Se estiver desenvolvendo um sistema de informações para ser usado internamente na sua empresa, você deverá incluir na sua equipe de desenvolvimento pessoas com experiência de usuário final e com experiência no domínio do negócio. Com bastante freqüência, você começará os debates no nível de um modelo de negócio em vez de no nível de um sistema. Se estiver desenvolvendo um produto para ser vendido para um estabelecimento comercial, você deverá fazer uso extensivo do seu pessoal de marketing para entender melhor as necessidades dos clientes daquele mercado.

O levantamento de informações pode ocorrer através de técnicas como entrevistas, discussão de idéias, protótipos conceituais, questionários e análise competitiva. O resultado do levantamento seria uma lista das solicitações ou necessidades que foram descritas textual e graficamente, e que receberam prioridade uma em relação à outra.

Consulte também Detalhamento do Fluxo de Trabalho: Compreender as Necessidades dos Envolvidos.

Definição do Sistema Início da página

Definir o sistema significa traduzir e organizar as necessidades dos envolvidos em descrições significativas do sistema a ser construído. No início da definição do sistema, ocorre o seguinte: as decisões sobre o que constitui um requisito, o formato de documentação, a formalidade do idioma, o grau de especificidade dos requisitos (quantos e com que detalhe), a prioridade das solicitações e o esforço estimado (duas avaliações bem diferentes em geral atribuídas por pessoas diferentes em testes separados), os riscos técnicos e de gerenciamento, e o escopo inicial. Parte dessa atividade pode incluir modelos de design e protótipos iniciais diretamente relacionados aos mais importantes requisitos dos envolvidos. O resultado da definição do sistema é uma descrição do sistema que esteja em idioma natural e também seja gráfica.

Consulte também Detalhamento do Fluxo de Trabalho: Definir o Sistema.

Gerenciamento do Escopo de um Projeto Início da página

Para gerenciar com eficiência um projeto, é necessário priorizar os requisitos, com base em retorno dado por todos os envolvidos, e gerenciar o seu escopo. Vários projetos têm seus desenvolvedores trabalhando nos chamados "ovos de Páscoa" (características que o desenvolvedor acha interessantes e desafiadoras), em vez de estarem concentrados desde o início em tarefas que aliviam algum risco no projeto ou estabilizam a arquitetura do aplicativo. Para assegurar que os riscos de um projeto sejam resolvidos ou aliviados o mais cedo possível, você deve desenvolver seu sistema de modo incremental, escolhendo cuidadosamente os requisitos para cada incremento que alivia os riscos conhecidos do projeto. Para fazê-lo, você precisa negociar o escopo (de cada iteração) com os envolvidos no projeto. Normalmente, isso requer boas habilidades no gerenciamento de expectativas dos resultados do projeto em suas diferentes fases. Você também precisa ter controle das origens dos requisitos, da aparência dos produtos liberados pelo projeto e do processo de desenvolvimento propriamente dito.

Consulte também Detalhamento do Fluxo de Trabalho: Gerenciar o Escopo do Sistema.

Refinamento da Definição do Sistema Início da página

A definição detalhada do sistema precisa ser apresentada de maneira que os envolvidos possam entendê-la, concordar com ela e sair dela. Ela precisa abordar não apenas a funcionalidade, mas também a compatibilidade com os requisitos legais ou reguladores, a usabilidade, a confiabilidade, o desempenho, a capacidade de suporte e de manutenção. Um erro comum é acreditar que o que você sente é complexo para estabelecer necessidades que tenham uma definição complexa. Isso cria dificuldades para explicar a finalidade do projeto e do sistema. As pessoas podem ficar impressionadas, mas elas não darão bons retornos por falta de compreensão. Você deve se esforçar para compreender o público destinado aos documentos que você produz para descrever o sistema. Você sempre poderá produzir vários tipos de descrição para públicos diferentes.

Já vimos que a metodologia do caso de uso, muitas vezes em combinação com protótipos visuais simples, é um modo bem eficiente de comunicar a finalidade do sistema e definir os detalhes do sistema. Os casos de uso ajudam a colocar os requisitos em um contexto, eles contam uma história de como o sistema será usado.

Outro componente da definição detalhada do sistema é estabelecer como o sistema deverá ser testado. Planos de teste e definições dos testes a serem realizados nos dizem quais capacidades do sistema serão verificadas.

Consulte também Detalhamento do Fluxo de Trabalho: Refinar a Definição do Sistema .

Gerenciamento dos Requisitos Variáveis Início da página

Não importa o quão cuidadoso você seja sobre a definição dos seus requisitos, sempre haverá mudanças. O que torna complexo o gerenciamento dos requisitos variáveis não é apenas que um requisito mudado implicará mais ou menos tempo gasto na implementação de uma determinada característica nova, mas também que a mudança em um requisito terá impacto em outros requisitos. Você precisa certificar-se de compor uma estrutura de requisitos que seja adaptável a mudanças, e de usar vínculos de rastreabilidade para representar as dependências entre os requisitos e outros artefatos do ciclo de vida do desenvolvimento. O gerenciamento de mudança inclui atividades como estabelecer uma linha de base, determinar quais dependências são importantes de serem rastreadas, estabelecer a rastreabilidade entre itens correlatos e o controle de mudança.

Consulte também Detalhamento do Fluxo de Trabalho: Gerenciar Requisitos Variáveis.



Copyright  (c) 1987 - 2001 Rational Software Corporation


Exibir o Rational Unified Process usando quadros

Rational Unified Process