Quando falamos de requisitos,
temos sim boas práticas,
e o primeiro ponto que vem
à mente quando falamos delas
é o gerenciamento de requisitos.
Depois de tantos
aspectos, níveis e visões
que envolvem o processo
de levantamento de requisitos,
faz sentido pensar em um processo
maior que tome conta
e faça o gerenciamento dessa
atividade como um todo.
Esse processo maior é conhecido
como gerenciamento de requisitos
e corresponde a um modelo sistemático
que identifica, documenta, organiza
e rastreia os requisitos de um sistema.
De modo geral, os requisitos não ficam
restritos a uma única fase do projeto
e também não se limitam
ao time de desenvolvimento,
eles se distribuem entre todos os envolvidos
e em todas as etapas do projeto.
Como o levantamento de requisitos
é algo que requer um certo esforço,
temos que considerar
alguns aspectos:
requisitos nem sempre são óbvios, nem sempre
é fácil expressar requisitos com palavras;
os requisitos podem
se originar de várias fontes;
há vários requisitos em diferentes
níveis de detalhes;
os requisitos podem estar interligados
e isso exige cuidado na tratativa deles;
e, por último, mas não menos importante,
é preciso evitar ambiguidades
e qualquer coisa que dificulte
a compreensão dos requisitos.
Por outro lado, a gerência de requisitos
administra as mudanças
e propõe os seguintes objetivos:
estabelecer o entendimento com os envolvidos
sobre quais requisitos serão atendidos;
monitorar o ciclo
de vida de um requisito
durante todo o processo
de desenvolvimento do software;
documentar e controlar
requisitos alocados,
estabelecendo uma linha de base, ou seja,
um pacote de requisitos priorizados;
e, por fim, manter planos, artefatos
e atividades de software
em coerência com os requisitos alocados.
Como vimos, um requisito
não é algo estático,
é um ativo que demanda acompanhamento
não apenas em tempo de projeto.
Gerenciar requisitos é gerenciar
o conhecimento adquirido sobre o software.