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.