O processo de desenvolvimento de software ainda enfrenta desafios para o alcance de resultados satisfatórios. Um dos aspectos falhos é a compreensão do que o cliente espera do sistema. Embora aparentemente simples, muitas vezes esse processo não é realizado de maneira eficiente, o que influência de forma negativa o resultado final do projeto.
Metodologias ágeis tornaram-se mais populares nos últimos anos e têm buscado alcançar o objetivo da entrega mais rápida de software e garantir que ele atenda às necessidades do cliente. Por terem essa ênfase de entrega mais rápida de software, inicialmente pode-se fazer o seguinte questionamento: como implementar as fases da engenharia de requisitos nestas metodologias sendo que essas fases são bastante detalhadas e extensas? A resposta é simples: essas fases podem ser implementadas, mas cada metodologia aplica de uma maneira utilizando artefatos, técnicas, ferramentas e procedimentos próprios.
Neste artigo, veremos por meio de um exemplo como podem ser implementadas as fases da engenharia de requisitos em Scrum. Tentamos apresentar de maneira simples e objetiva cada fase dessa área.
Como está o desenvolvimento de software?
Em Massachusetts - EUA existe uma organização conhecida como “The Standish Group”, que realiza estudos que verificam o desempenho do processo de desenvolvimento de software das empresas e apontam as taxas de sucesso, comprometimentos, atrasos, cancelamentos entre outras estatísticas, de projetos de TI. Em um de seus relatórios é apresentado o resultado da pesquisa que fizeram com o objetivo de compreender porque os projetos falham. Podemos verificar esses resultados nas Figuras 1 a 3.
Neste levantamento, foram destacados os três principais fatores para o sucesso de projetos de TI, sendo que a falta deles aumenta consideravelmente a chance de haver falhas no desenvolvimento do projeto. Como podemos observar, o principal fator é o envolvimento do usuário que é um dos princípios das metodologias ágeis. O suporte da gerência executiva também é essencial, pois projetos que não são bem gerenciados tendem a ter conflitos nas informações, falta de coordenação das tarefas e entre outros. Por fim, temos o terceiro fator: clara identificação de requisitos. Se logo no início do projeto os requisitos identificados não estão claros, não são bem compreendidos ou são interpretados erroneamente por falta de clareza, qual a probabilidade de ser desenvolvido um software que atenda às necessidades do cliente? Assim, consideramos de extrema importância prezar a clareza na identificação dos requisitos.