O que é a Elicitação de Requisitos?
Corresponde a identificar junto aos stakeholders quais são os objetivos do sistema ou produto, o que deve ser acompanhado, como o sistema ou produto se encaixa no contexto das necessidades do negócio e, finalmente, como será a utilização do sistema ou produto no dia-a-dia.
A parte mais árdua na construção de um software consiste exatamente em identificar o que construir. Nenhuma outra parte do trabalho compromete tanto o resultado do trabalho se elaborado de forma incorreta. Nenhuma outra parte oferece tanta dificuldade para efetuar correções posteriores. "— Fred Brook
Apesar de parecer simples, trata-se de um processo extremamente complexo. Algumas das razões desta dificuldade:
Problemas de escopo
Os limites do sistema são geralmente definidos de forma incompleta, ou os clientes/usuários especificam detalhes técnicos desnecessários;
Problemas de compreensão
Os clientes/usuários geralmente não estão completamente certos das necessidades, têm uma compreensão pobre das capacidades e limitações de seu ambiente computacional ou do domínio do seu negócio, omitem informações que julgam óbvias e etc.
Problemas de volatilidade
Os requisitos mudam o tempo todo.
Para auxiliar a superar estes problemas, os engenheiros de sistema devem abordar os requisitos de maneira organizada. Alguns passos são sugeridos para elicitação de requisitos:
- Avaliar a viabilidade técnica e de negócio para o sistema proposto;
- Identificar as pessoas que vão auxiliar a especificar os requisitos e compreender seus preconceitos organizacionais;
- Definir o ambiente técnico no qual o sistema será instalado;
- Identificar regras de domínio que limitam a funcionalidade ou desempenho do sistema ou produto que será construído;
- Definir um ou mais métodos de elicitação de requisitos;
- Solicitar participação de várias pessoas para que os requisitos sejam definidos a partir de diversos pontos de vista;
- Identificar claramente a justificativa de existência para cada requisito registrado;
- Identificar requisitos ambíguos que serão candidatos a prototipação.
Os produtos de trabalho a criar como consequência das atividades de elicitação de requisitos irão depender do tamanho do sistema ou produto que será construído. Para a maioria dos sistemas, estes produtos de trabalho incluem:
- As necessidades e viabilidade estruturadas;
- O limite de escopo do sistema ou produtos;
- Uma lista de clientes, usuários e outros stakeholders que participaram da atividade de elicitação de requisitos;
- Uma descrição do ambiente técnico do sistema;
- Uma lista de requisitos e as regras de domínio aplicáveis a cada um. Um conjunto de cenários de uso capazes de prover uma ideia do uso do sistema ou produto sob diferentes condições de operação;
- Qualquer protótipo que eventualmente tenha sido desenvolvido para melhor definir os requisitos.
- Cada um destes produtos deve ser revisado por todas as pessoas que tenham participado da elicitação de requisitos.