O gerenciamento de requisitos é um modelo sistemático para encontrar, documentar, organizar e rastrear os requisitos
variáveis de um sistema.
Definimos um requisito como:
Uma condição ou uma capacidade com a qual o sistema deve estar de acordo.
Nossa definição formal de gerenciamento de requisitos consiste em uma abordagem sistemática para o seguinte:
-
Extrair, organizar e documentar os requisitos do sistema
-
Estabelecer e manter um contrato entre o cliente e a equipe do projeto sobre os requisitos de alterações do sistema
As chaves para o gerenciamento eficiente de requisitos incluem manter uma instrução clara dos Requisitos, juntamente com os atributos aplicáveis para cada tipo de
requisito e a Rastreabilidade
para outros requisitos e outros produtos de trabalho 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 outros produtos de trabalho 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:
A análise do problema é feita para compreender os problemas e as necessidades iniciais dos investidores e propor
soluções de alto nível. É um ato de ponderação e de análise localizar "o problema por trás do problema. Durante a
análise do problema, são reconhecidos os problemas reais e quais são os investidores. Além disso, você define quais
são, de uma perspectiva de negócios, os limites 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 Atividade: Analisar o Problema.
Os requisitos chegam de várias origens; como clientes, parceiros, usuários e especialistas em 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 investidores no projeto. Se você estiver desenvolvendo um sistema de informações para ser utilizado
internamente na sua empresa, poderá incluir na sua equipe de desenvolvimento pessoas com experiência de usuário e com
conhecimento do domínio de negócios. 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 você estiver desenvolvendo um produto para ser vendido para um estabelecimento
comercial, faça uso extensivo do pessoal de marketing para entender melhor as necessidades dos clientes desse mercado.
O levantamento de informações pode ocorrer através de técnicas como entrevistas, fórum de discussão, protótipos
conceituais, questionários e análise competitiva. O resultado do levantamento seria uma lista dos pedidos ou das
necessidades que foram descritos textual e graficamente, e que receberam prioridade um em relação ao outro.
Consulte também Atividade: Compreender as Necessidades dos
Envolvidos.
Definir o sistema significa traduzir e organizar as necessidades dos investidores 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 dos pedidos 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 pedidos mais importantes
dos investidores. 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 Atividade: Definir o Sistema.
Para gerenciar com eficiência um projeto, é necessário priorizar os requisitos, com base em retorno dado por todos os
investidores, e gerenciar o seu escopo. Vários projetos têm seus desenvolvedores trabalhando nos chamados "ovos de
Páscoa" (recursos que o desenvolvedor acha interessantes e desafiadores), em vez de terem o foco desde o início em
tarefas que minimizam 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 investidores do 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 de trabalho do projeto e do processo
de desenvolvimento propriamente dito.
Consulte também Atividade: Atividade: Gerenciar o Escopo do
Sistema.
A definição detalhada do sistema precisa ser apresentada de maneira que os investidores possam entendê-la, concordar
com ela e desconectar-se 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 caso não entendam. Você deve se esforçar para compreender o
público-alvo dos documentos que você produz para descrever o sistema. Sempre haverá necessidade de produzir diferentes
tipos de descrições 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 inserir os
requisitos em um contexto; eles ilustram o modo como o sistema será utilizado.
Outro componente da definição detalhada do sistema é estabelecer como o sistema deverá ser testado. Os planos de teste
e as definições dos testes a serem executados indicam os recursos do sistema que serão verificados.
Consulte também Atividade: Refinar a Definição do
Sistema.
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 um determinado novo recurso, 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 resiliente a alterações e de
utilizar links de rastreabilidade para representar as dependências entre os requisitos e outros produtos de trabalho do
ciclo de vida do desenvolvimento. O gerenciamento de mudanças inclui atividades como estabelecer uma baseline,
determinar quais dependências são importantes para o rastreio, estabelecer a rastreabilidade entre itens relacionados e
o controle de mudanças.
Consulte também Atividade: Gerenciar Requisitos de Mudanças.
Informações adicionais sobre este tópico podem ser localizadas em:
Conceito: Requisitos
Conceito: Tipos de Requisitos
Conceito: Rastreabilidade
Whitepaper: Aplicando Gerenciamento de Requisitos com Casos de Uso
|