A engenharia de requisitos é abordada em diferentes contextos do desenvolvimento de software. No contexto das metodologias tradicionais como o modelo em cascata e o RUP (Rational Unified Process), existe um grande esforço nas atividades de identificação, análise, especificação, documentação e validação dos requisitos do software. Tais atividades fazem parte do processo de engenharia de requisitos. Neste contexto das metodologias tradicionais, o esforço empregado em todas essas atividades tenta abordar todos os requisitos do software nas fases iniciais do projeto, como concepção, elaboração e projeto.
Na literatura podem ser percebidas lições de que em empresas e instituições que desenvolvem software, essas práticas podem ser custosas. Custosas no sentido de que erros em algumas das atividades da engenharia de requisitos, notados somente nas fases finais como verificações e validações do software resultam em retrabalho. Tais empresas argumentam que no início do projeto é a fase que a equipe e cliente entendem menos do software. Com o avanço do projeto é que se tem mais conhecimento sobre as funcionalidades e características do software a ser desenvolvido.
No contexto das metodologias de desenvolvimento ágeis, os projetos passam por ciclos menores, na qual ao final de cada ciclo, versões incrementais e testáveis do software são lançadas e podem ser utilizadas pelo cliente. Como em cada versão apenas algumas funcionalidades estão presentes, somente essas serão especificadas conforme a abordagem adotada. A priorização das funcionalidades identificadas normalmente é definida pelos desejos do cliente e a importância delas na aplicação.
A abordagem do desenvolvimento dirigido por comportamento (Behaviour Driven Development - BDD) é uma alternativa para o processo de engenharia de requisitos ágil. Não necessariamente precisa ser utilizada somente com metodologias ágeis, mas ela evolui desses paradigmas e já é bastante utilizada em organizações situadas em locais que utilizam algum tipo de metodologia ágil para o desenvolvimento, como o Scrum e Extreme Programming, por exemplo. Tal abordagem também já é difundida em empresas do Brasil e em instituições públicas que desenvolvem software."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast