Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley Silva Especificação de Requisitos e Validação de Sistemas Roteiro • • • • • Motivação Definições Introdução Contexto de ER Priorização – Abordagens • • • • Negociação Ferramenta Discussão e Conclusão Referências Especificação de Requisitos e Validação de Sistemas Motivação Especificação de Requisitos e Validação de Sistemas Motivação Especificação de Requisitos e Validação de Sistemas Definições Priorização de Requisitos Especificação de Requisitos e Validação de Sistemas Definições “Requirements prioritization is an ambiguous concept” Requirements Prioritization Challenges in Practice Laura Lehtola, Marjo Kauppinen, and Sari Kujala Especificação de Requisitos e Validação de Sistemas Definições “How do we decide which requirements are the most important ones for the company in the long run?” “How do we select the requirements that will be implemented first in this project?” “How do we decide, which requirements we have to implement right away in the next product release?” ”Which of the requirements describe the system in high-level terms?” Especificação de Requisitos e Validação de Sistemas Introdução • Priorização de requisitos é uma área bastante desafiadora. • “Despite the recent rapid and welcome growth in requirements engineering (RE) research, managers still do not have simple, effective, and industrially proven techniques for prioritizing requirements.” [Karlsson, J., Ryan, K.: A cost-value approach for prioritizing requirements.1997] Especificação de Requisitos e Validação de Sistemas Introdução • Muitos projetos se deparam com o fato de que nem todos os requisitos podem ser implementados devido a limitação do tempo ou restrições de recursos. • “Information about priorities is needed, not just so as to be able to ignore the least important requirements but also to help the project manager to resolve conflicts, plan for staged deliveries, and make the necessary trade-offs.” [Wiegers, K.E.: Software Requirements.1999] Especificação de Requisitos e Validação de Sistemas Contexto em ER Especificação de Requisitos e Validação de Sistemas Contexto em ER Especificação de Requisitos e Validação de Sistemas Priorização de Requisitos • Decidir o que deve ser implementado – Time-to-market x Funcionalidades • Para cada requisito elicitado: – Quão importante é o requisito para o cliente? – Quanto irá custar? – Quais os riscos envolvidos na sua implementação? • Todos os stakeholders devem opinar... – Mas a palavra final é da alta gerência Especificação de Requisitos e Validação de Sistemas Priorização de Requisitos • As abordagens de priorização de requisitos podem ser divididas em 2 grandes áreas[Lehtola 2004]: – Métodos baseados em valorar diferentes fatores de requisitos – Abordagens de negociação Especificação de Requisitos e Validação de Sistemas Comparando Requisitos • Um problema de Sorting – Comparações 2 a 2 – Construção de árvore binária – ...entre outros • Complicações – Fácil dizer que x é mais importante que y – Difícil dizer quão mais importante x é de y Especificação de Requisitos e Validação de Sistemas Métodos de Priorização • • • • • • VOP Numeral Assignment AHP Cost-Value Approach BST Outras Especificação de Requisitos e Validação de Sistemas VOP • Stakeholders estabelecem: – Valores que são importantes para eles; – O quão importante é cada um desses valores; – A nota de cada requisito para cada valor préestabelecido; • Prioridade é calculada através de soma ponderada NotaReqFinal = NotaReqV1 * PesoV1 + ... + NotaReqVN * PesoVN Especificação de Requisitos e Validação de Sistemas VOP • Vantagens – Resultados claros; – Simplicidade; – Velocidade; • Desvantagens – Difícil estabelecer pesos; – Poucas informações sobre a técnica; Especificação de Requisitos e Validação de Sistemas Numeral Assignment • Stakeholders dão uma nota de 1 a 5 para cada requisito • Os números significam: – 1 – não importa (o cliente não precisa disso) – 2 – não muito importante (o cliente aceitaria a sua falta) – 3 – importante (o cliente gostaria disso) – 4 – muito importante (o cliente não quer ficar sem isso) – 5 – obrigatório (sem isso, o cliente não aceita) Especificação de Requisitos e Validação de Sistemas Numeral Assignment • A média de notas de cada stakeholder para cada requisito é a nota final • Vantagens – Simplicidade; – Clareza; • Desvantagens – Pouca Fidelidade; – Considera apenas opinião dos stakeholders Especificação de Requisitos e Validação de Sistemas Analytic Hierarchy Process (AHP) • • • • Descrição Passo a passo Exemplos Críticas Especificação de Requisitos e Validação de Sistemas AHP - Descrição • AHP é método de tomada de decisão em situações com múltiplos objetivos[Saaty,1980] • Usada pela primeira vez no contexto de ER por [Karlsson 1996] • Usa matriz de comparação 2 a 2 Especificação de Requisitos e Validação de Sistemas AHP – Passo a passo 1. Criar uma matriz n x n, para n requisitos 2. Para cada elemento (x,y) da matriz, atribuir um valor: i. ii. iii. iv. v. vi. vii. 1 x e y têm prioridades equivalentes 3 x é levemente mais importante que y 5 x é moderadamente mais importante que y 7 x é muito mais importante que y 9 x é extremamente mais importante que y Podem ser usados valores intermediários... Para cada elemento (y,x), usar o valor recíproco Fonte: adaptado de Easterbrook, University of Toronto Especificação de Requisitos e Validação de Sistemas AHP – Passo a passo 3. Normalizar a tabela • Para cada coluna, calcular seu somatório e dividir cada elemento por este valor 4. Obter valor de cada requisito 1. Média aritmética de cada linha 5. Este processo pode ser repetido para estimar o custo de cada requisito em relação aos outros Especificação de Requisitos e Validação de Sistemas AHP – Exemplos • No contexto de requisitos... Passo 3 Especificação de Requisitos e Validação de Sistemas AHP - Exemplos • Passo 4 ÷ 4 = 0.26 ÷ 4 = 0.50 ÷ 4 = 0.09 ÷ 4 = 0.16 Valor médio de cada requisito Especificação de Requisitos e Validação de Sistemas AHP – Exemplos • Ranking obtido: – – – – Req 1 contém 26% do valor total dos requisitos; Req 2 contém 50% do valor total dos requisitos; Req 3 contém 9% do valor total dos requisitos; Req 4 contém 16% do valor total dos requisitos; • Desta forma, a prioridade de cada requisito fica assim estabelecida: – Req 2 > Req 1 > Req 4 > Req 3 Especificação de Requisitos e Validação de Sistemas AHP – Consistency Ratio • Usada para assegurar a consistência dos resultados • RI depende do número de requisitos • CI depende da matriz de comparação e dos resultados • O ratio ideal é < 0.10 Especificação de Requisitos e Validação de Sistemas AHP - Exemplos • http://www.cci-icc.gc.ca/tools/ahp/index_e.asp – Site que constrói a matriz AHP, e calcula índice de consistência • http://mat.gsia.cmu.edu/mstc/multiple/node4.html – Exemplo de utilização de AHP em contexto diferente de ER (no caso, utilizando AHP para escolher entre ofertas de emprego) Especificação de Requisitos e Validação de Sistemas AHP - Críticas • Apesar de consolidada na literatura, AHP não é ainda muito utilizada – – – – Excesso de formalismo Dificuldade de compreensão Resultados ‘místicos’ (visualização difícil) Argumentar sobre os resultados é difícil – diferentemente de técnicas mais simples, como VOP Especificação de Requisitos e Validação de Sistemas Abordagem Custo-Valor (Cost-Value) • Abordagem que utiliza o AHP • Para calcular a importância do requisito: – Avaliar a importância do requisito para o projeto – Avaliar o custo da implementação Fonte: adaptado de Karlsson & Ryan, 1997 Especificação de Requisitos e Validação de Sistemas Abordagem Custo-Valor (Cost-Value) • Passo-a-passo – 1. Revisão completa dos requisitos para eliminar ambigüidades e assegurar completude – 2. Aplicação de AHP para avaliar o valor relativo dos requisitos por stakeholders – 3. Aplicação de AHP para estimar o custo relativo da implementação de cada requisito por especialistas em ES – 4. Valores são inseridos em um diagrama de custovalor por um especialista – 5. Stakeholders usam o diagrama como um mapa conceitual para discutir os requisitos Especificação de Requisitos e Validação de Sistemas Abordagem Custo-Valor (Cost-Value) • Por ter base matemática, tem resultados mais concretos • Pode ser usada como complemento do WinWin [Karlsson, 97] Especificação de Requisitos e Validação de Sistemas BST (Binary Search Tree) • Algoritmo de ordenação básico • Utiliza comparações 2a2 Especificação de Requisitos e Validação de Sistemas BST (Binary Search Tree) Visualização Armazenamento de Impressão de de Balanço relatórios em arquivos Relatórios Mensal .pdf [RF 01] Gerenciamento de Clientes [RF 02] Armazenamento de relatórios em arquivos .pdf [RF 04] Visualização de Balanço Mensal [RF 03] Impressão de Relatórios Especificação de Requisitos e Validação de Sistemas Outras Abordagens • Planning Game – O mesmo que Numeral Assignment, mas baseado em estórias – 3 grupos: “aqueles sem os quais o sistema não funciona”, “aqueles que são menos essenciais mas que acrescentam valor de negócio” e “aqueles que seria legal ter” • 100-Point Method – Cada stakeholder tem 100 pontos e pode distribui-los entre os requisitos da forma que quiser – Nota do requisito é a soma dos pontos Especificação de Requisitos e Validação de Sistemas Negociação de Requisitos Especificação de Requisitos e Validação de Sistemas Theory W • Make Everyone a Winner; • “Theory W characterizes a manager’s primary role as a negotiator between his various constituencies, and a packager of project solutions with win conditions for all parties. Beyond this, the manager is also a goal-setter, a monitor of progress towards goals, and an activist in seeking out day-to-day win-lose or lose-lose project conflicts, confronting them, and changing them into win-win situations.” Boehm, B. : Especificação de Requisitos e Validação de Sistemas Win Win • “The big Challenge is to determine the relationships among the various views and reconcile them.” The WinWin Requirements Negotiation System: a ModelDriven Approach (1996) Mingjune Lee, Barry Boehm Especificação de Requisitos e Validação de Sistemas Win Win :: Visão Geral Especificação de Requisitos e Validação de Sistemas Win Win :: Negotiation Model Fonte: Boehm, B. : Especificação de Requisitos e Validação de Sistemas Win Win :: Negotiation Model Especificação de Requisitos e Validação de Sistemas Win Win :: Spiral Model Fonte: Boehm, B. : Especificação de Requisitos e Validação de Sistemas Win Win :: Operações Fonte: Boehm, B. : Especificação de Requisitos e Validação de Sistemas Win Win :: EasyWinWin • Metodologia que usa ferramentas colaborativas Especificação de Requisitos e Validação de Sistemas Win Win :: EasyWinWin • Define um conjunto de atividades para guiar os stakeholders por um processo de: – – – – Reunir Requisitos Elaborar Requisitos Priorizar Requisitos Negociar Requisitos • Utiliza técnicas de grupo que são providas por ferramentas colaborativas (brainstorming eletrônico, polling, etc.) Especificação de Requisitos e Validação de Sistemas Win Win :: Conclusão • “Usage experience also indicates that WinWin is not a panacea for all conflict situations, but generally increases stakeholders’ levels of cooperation and trust” Boehm, B. Especificação de Requisitos e Validação de Sistemas Win Win :: Conclusão • Capturar desejos dos stakeholders (win conditions) • Expressar desentendimentos e aspectos que necessitem de resolução • Oferecer opções como soluções potenciais • Negociar acordos que resolvem conflitos • Documentação • Traçar as maneiras pelas quais as decisões foram tomadas • Checar a completude e consistência dos requisitos Especificação de Requisitos e Validação de Sistemas Ferramenta (Expert Choice) Especificação de Requisitos e Validação de Sistemas Ferramenta(Expert Choice) • Ferramenta que abstrai bastante o problema de resultados complexos do AHP • Fácil de usar • Utiliza conceitos de objetivos e sub-objetivos • Fornece alternativas para estabelecimento de pesos (Forma gráfica, textual ou numérica) Especificação de Requisitos e Validação de Sistemas Discussão e Conclusão Numeral Assignment Theory-W AHP Passo-a-passo 3 claro 2 3 Medição Quantitativa 3 1 3 Maturidade 1 3 3 Menor esforço 2 1 2 Curva de Aprendizado 3 1 2 Pontuação Total 12 8 16 Especificação de Requisitos e Validação de Sistemas Discussão e Conclusão • Técnicas são adequadas a situações específicas • Nenhuma técnica é uma silver bullet • Difícil comparar abordagens, pois não há estudos comparativos suficientes e por abordagens estarem em diferentes níveis de abstrações – Lehtola propõe um framework para comparação e classificação de técnicas de priorização Especificação de Requisitos e Validação de Sistemas Discussão e Conclusão • Framework para comparação de requisitos[Lehtola, Berander, Ahmed Khan] • Propõe uma classificação das técnicas segundo 3 variáveis: – Variáveis Independentes (Objetivos da técnica, nível hierárquico, formato de entradas e saídas, ...) – Variáveis Dependentes (Tempo, Precisão, Facilidade de Aprendizado, ...) – Variáveis de Contexto(Tipo de mercado, Papel dos Envolvidos na empresa, ...) Especificação de Requisitos e Validação de Sistemas Referências • Karlsson, J. and Ryan, K. (1997) “A Cost-Value Approach for Prioritizing Requirements” • Wiegers, K. (1999) “Software Requirements” • EasyWinWin: http://sunset.usc.edu/research/WINWIN/EasyWinWin/ • Lehtola, Berander, Khan. “Towards a Research Framework on Requirements Prioritization” • Azar, (2007) “Value-Oriented Requirements Prioritization in a Small Development Organization” • Ramires (2004) “Negociação de Requisitos no Processo de Desenvolvimento de Software” • AHP e outras técnicas: https://buildsecurityin.uscert.gov/daisy/bsi/articles/bestpractices/requirements/534.html Especificação de Requisitos e Validação de Sistemas