Métodos Interativos para Priorizar Requisitos de Software
Novas técnicas melhoram como as equipes priorizam as necessidades de software de forma eficaz.
― 7 min ler
No desenvolvimento de software, descobrir quais Requisitos ou funcionalidades construir primeiro é essencial. Os desenvolvedores geralmente enfrentam muitas ideias ou necessidades, mas têm tempo e recursos limitados para entregar as melhores. Priorizar os requisitos ajuda as equipes a se concentrarem no que realmente importa, baseado em fatores como o que os usuários querem, quanto custa e como as coisas estão conectadas na tecnologia.
A Importância da Priorização
Quando você prioriza requisitos de software, consegue:
- Identificar as necessidades mais importantes.
- Criar um plano claro sobre o que construir a seguir.
- Decidir o que precisa ser feito para a versão mais simples do produto.
- Gerenciar quaisquer conflitos que surgirem por causa de dependências técnicas.
Frequentemente, as equipes usam vários Métodos para descobrir quais requisitos priorizar. Algumas abordagens envolvem dar um peso a cada requisito com base em custo, valor e esforço. Esses métodos tradicionais podem depender de experiências passadas ou ser baseados puramente no conjunto atual de requisitos.
Métodos Comuns de Priorização
Algumas maneiras comuns de priorizar requisitos incluem:
- Bubble Sort: Este método compara cada requisito com outros. No entanto, fica complicado conforme o número de requisitos aumenta.
- Votação Cumulativa: Os stakeholders recebem um número limitado de pontos ou quantias em dinheiro para distribuir entre os requisitos para mostrar suas preferências.
- Método Top-Ten: Os stakeholders listam suas dez melhores escolhas sem uma ordem específica; depois, essas listas são combinadas em uma só.
Embora essas abordagens possam funcionar, elas muitas vezes têm dificuldades com Projetos maiores que têm muitos requisitos. Alguns métodos usam uma abordagem mais detalhada, como o Processo Analítico Hierárquico (AHP), que se baseia na comparação de todos os pares possíveis de requisitos. Mas isso pode criar problemas quando o número de requisitos se torna muito grande.
Abordando Problemas de Escalonamento
Para enfrentar o desafio de escalonamento, novos métodos surgiram. Por exemplo, usar aprendizado de máquina pode ajudar a prever quais requisitos são essenciais sem precisar comparar todos os pares possíveis. No entanto, muitas vezes eles não conseguem incluir fatores extras como necessidades dos usuários ou dependências entre requisitos.
Outros métodos interativos foram desenvolvidos para facilitar a priorização de requisitos pelos Analistas, mesmo com menos comparações. Por exemplo, algumas abordagens usam algoritmos genéticos ou solucionadores de restrições para tornar o processo mais eficiente.
Introduzindo um Método Interativo
Uma nova abordagem usa um solucionador de restrições, desenvolvido especificamente pela Microsoft, para ajudar na priorização de requisitos. Esse método envolve comparar requisitos por meio de entradas diretas dos analistas de requisitos. Os analistas trazem seu conhecimento e experiência para ajudar a determinar a importância relativa de diferentes requisitos.
Esse método proposto pretende combinar o conhecimento inicial sobre os requisitos com insights coletados durante uma sessão interativa com o analista. Ao coletar as entradas gradualmente, o método busca produzir uma lista final de requisitos priorizados, minimizando a carga de trabalho do analista.
Perguntas de Pesquisa
O estudo desse método interativo de priorização gira em torno de três perguntas principais:
- O método interativo melhora a priorização em comparação a uma abordagem não interativa?
- Como esse novo método se compara a métodos avançados de priorização existentes?
- Esse método interativo é mais resistente a erros cometidos pelos analistas?
Resultados da Avaliação do Método
O método que usa o solucionador de restrições mostrou resultados promissores. Quando testado com requisitos reais de projetos de saúde, ele superou os métodos tradicionais em termos de eficácia e robustez contra erros cometidos pelos analistas.
Com a versão interativa do método, os analistas conseguiram tomar decisões mais informadas, levando a uma priorização significativamente melhor dos requisitos. Ao coletar as entradas dos analistas, os rankings finais dos requisitos ficaram mais alinhados com o que realmente era valioso para o projeto.
Importância da Interação
Através dos testes, ficou claro que quanto mais os analistas participavam fornecendo entradas, melhor era a priorização final dos requisitos. Em cenários onde os analistas poderiam comparar múltiplos pares de requisitos, o processo levou a taxas de desacordo mais baixas sobre o que é considerado as melhores escolhas.
Por exemplo, em testes envolvendo diferentes graus de participação dos analistas, os resultados mostraram uma tendência clara: quanto mais pares os analistas comparavam, mais precisa se tornava a priorização. Isso significava que até um pequeno aumento na participação dos analistas poderia melhorar significativamente os resultados.
Comparando Métodos
Quando o novo método foi comparado a métodos de priorização interativa estabelecidos, ele consistentemente mostrou melhores resultados. O método que usa o solucionador de restrições produziu taxas de desacordo mais baixas com as melhores práticas existentes. Isso indica que a nova abordagem não só é eficiente; ela realmente oferece uma melhor priorização do que os métodos usados anteriormente.
Mesmo com alguns erros na tomada de decisão durante a entrada dos analistas, o novo método permaneceu resiliente. Os resultados revelaram que a nova abordagem poderia tolerar erros dos analistas melhor do que seus predecessores. Isso é vital porque o erro humano é uma parte comum de qualquer processo de tomada de decisão.
Aplicação no Mundo Real
A aplicação do método baseado em solucionador de restrições demonstra sua eficácia. Um projeto específico envolveu o desenvolvimento de um sistema para cuidado de idosos. O projeto tinha uma variedade de requisitos que precisavam ser priorizados de forma eficaz.
Ao aplicar o novo método, a equipe de desenvolvimento conseguiu equilibrar as necessidades técnicas com as prioridades dos usuários. A estrutura permitiu que eles vissem não apenas o que era crítico implementar primeiro, mas também como criar um plano de desenvolvimento gerenciável.
Considerações Futuras
O método formulado mostra promise, mas mais trabalho é necessário. Pesquisas futuras podem se concentrar em experimentar diferentes tipos de requisitos e explorar como essa abordagem pode ser generalizada em vários projetos. Também pode haver oportunidades de refinar como a entrada do analista é estruturada ou ponderada.
Além disso, estudos empíricos poderiam ajudar a avaliar como os usuários percebem os resultados de seus requisitos priorizados. Coletar feedback dos analistas poderia fornecer insights sobre o quão confortáveis eles se sentem usando o algoritmo de priorização e se ele atende efetivamente às suas necessidades.
Conclusão
O novo método interativo de priorização representa um avanço significativo em como as equipes de software gerenciam seus processos de requisitos. Ao aproveitar o conhecimento dos analistas de maneira estruturada, ele permite uma tomada de decisão mais precisa que se alinha tanto às necessidades dos usuários quanto aos requisitos técnicos.
Esse método mostrou melhorar a eficiência geral, reduzir o esforço exigido dos analistas e entregar melhores resultados em cenários do mundo real. À medida que as equipes continuam enfrentando projetos complexos com muitos requisitos concorrentes, essa abordagem inovadora pode ajudá-las a lidar com esses desafios de maneira mais eficaz.
Título: Improving Software Requirements Prioritization through the Lens of Constraint Solving
Resumo: Requirements prioritization is a critical activity during the early software development process, which produces a set of key requirements to implement. The prioritization process offers a parity among the requirements based on multiple characteristics, including end-users' preferences, cost to implement, and technical dependencies. This paper presents an interactive method to requirements prioritization that leverages the pairwise comparisons and a constraint solver. Our method employs an interactive accumulation of knowledge from the requirements analyst when the relative priority among the requirements cannot be determined based on the existing knowledge from the requirements documents. The final ranking of the requirements is produced via the constraint solver and interactive pairwise comparisons. We evaluate the proposed method using the requirements from a real healthcare project. The proposed prioritization method relying on a constraint solver outperforms state-of-the-art interactive prioritization methods in terms of effectiveness and robustness to analyst's errors.
Autores: Jonathan Winton, Francis Palma
Última atualização: 2023-06-21 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2306.12391
Fonte PDF: https://arxiv.org/pdf/2306.12391
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.