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.