especificação de requisitos e validação de sistemas priorização e negociação de requisitos...

53
Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley Silva

Upload: internet

Post on 19-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Priorização e Negociação de Requisitos

Equipe:

David Cardoso

Marconi Madruga

Roberta Arcoverde

Shirley Silva

Page 2: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 3: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Motivação

Page 4: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Motivação

Page 5: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Definições

Priorizaçãode

Requisitos

Page 6: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 7: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Definições

“How do wedecide which requirements are the most important ones for the

company in thelong run?”

“How do we decide, which requirements we have

to implement right away in the next product release?”

“How do we select therequirements that will be implemented first in this

project?”

”Which of therequirements describe the

system in high-level terms?”

Page 8: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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]

Page 9: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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]

Page 10: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Contexto em ER

Page 11: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Contexto em ER

Page 12: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 13: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 14: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 15: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Métodos de Priorização

• VOP• Numeral Assignment• AHP• Cost-Value Approach• BST• Outras

Page 16: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 17: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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;

Page 18: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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)

Page 19: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 20: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Analytic Hierarchy Process (AHP)

• Descrição• Passo a passo• Exemplos• Críticas

Page 21: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 22: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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. 1 x e y têm prioridades equivalentes

ii. 3 x é levemente mais importante que y

iii. 5 x é moderadamente mais importante que y

iv. 7 x é muito mais importante que y

v. 9 x é extremamente mais importante que y

vi. Podem ser usados valores intermediários...

vii. Para cada elemento (y,x), usar o valor recíprocoFonte: adaptado de Easterbrook, University of Toronto

Page 23: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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 requisito1. 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

Page 24: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

AHP – Exemplos

• No contexto de requisitos...

Passo 3

Page 25: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 26: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 27: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 28: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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)

Page 29: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 30: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 31: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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 custo-valor por um especialista

– 5. Stakeholders usam o diagrama como um mapa conceitual para discutir os requisitos

Page 32: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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]

Page 33: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

BST (Binary Search Tree)

• Algoritmo de ordenação básico

• Utiliza comparações 2 a 2

Page 34: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

BST (Binary Search Tree)

[RF 01] Gerenciamento de Clientes

Armazenamento de relatórios em arquivos .pdf

[RF 03] Impressão de Relatórios

[RF 04] Visualização de Balanço Mensal

[RF 02] Armazenamento de relatórios em arquivos .pdf

Impressão de Relatórios

Visualização de Balanço Mensal

Page 35: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 36: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Negociação de Requisitos

Page 37: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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. :

Page 38: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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 Model-

Driven Approach (1996)  Mingjune Lee, Barry Boehm

Page 39: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Win Win :: Visão Geral

Page 40: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Win Win :: Negotiation Model

Fonte: Boehm, B. :

Page 41: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Win Win :: Negotiation Model

Page 42: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Win Win :: Spiral Model

Fonte: Boehm, B. :

Page 43: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Win Win :: Operações

Fonte: Boehm, B. :

Page 44: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Win Win :: EasyWinWin

• Metodologia que usa ferramentas colaborativas

Page 45: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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.)

Page 46: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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.

Page 47: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 48: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Ferramenta (Expert Choice)

Page 49: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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)

Page 50: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

Especificação de Requisitos e Validação de Sistemas

Discussão e ConclusãoNumeral Assignment

Theory-W AHP

Passo-a-passo claro

3 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

Page 51: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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

Page 52: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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, ...)

Page 53: Especificação de Requisitos e Validação de Sistemas Priorização e Negociação de Requisitos Equipe: David Cardoso Marconi Madruga Roberta Arcoverde Shirley

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.us-cert.gov/

daisy/bsi/articles/best-practices/requirements/534.html