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
Download

Document