ana karina barbosa / cristine gusmão 1 definição de prioridades de requisitos tópicos avançados...

23
Ana Karina Barbosa / Cr istine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson Castro Universidade Federal de Pernambuco Departamento de Informática Mestrado em Ciência da Computação

Upload: internet

Post on 17-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

1

Definição de Prioridades de Requisitos

Tópicos Avançados de Engenharia de Software 1Alexandre Vasconcelos

Jaelson Castro

Universidade Federal de Pernambuco

Departamento de Informática

Mestrado em Ciência da Computação

Page 2: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

2

Tópicos

• Introdução

• Porquê Priorizar Requisitos?

• Métodos e Técnicas de Priorização

• Considerações Finais

• Conclusão

• Agradecimentos

Page 3: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

3

Introdução

• Necessidades e Expectativas dos Stakeholders

• Gerência dos Requisitos do Sistema

• Negociação e Concordância de Requisitos

• Processo de Desenvolvimento

• Produção do Software

O fundamental para o sucesso, em qualquer modelo de desenvolvimento de software, é a

Definição e Análise dos Requisitos

Como selecionar um subconjunto dos requisitos do cliente e ainda assim produzir um sistema que

atenda todas as necessidades?

Page 4: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

4

Porquê Priorizar Requisitos?

• Seleção informal de processos • Não utilização de técnicas• Não conhecimento da importância dos requisitos • Custos e dificuldades técnicas associadas

O conhecimento sobre a Priorização de Requisitos ajudará a focar o processo de desenvolvimento e a uma maior eficiência e competência na gerência de projetos.

Page 5: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

5

Porquê Priorizar Requisitos?

• Determinar o grau de importância de cada requisito para o cliente

• Os requisitos mais críticos deverão ser implementados primeiro

• Identificar requisitos conflitantes

• Planejar revisões sucessivas do produto

Page 6: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

6

Típicos Participantes de um Processo de Priorização

• Gerente de Projeto

• Representantes dos Clientes

• Representantes dos Desenvolvedores

Page 7: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

7

Métodos e Técnicas de Priorização

• QFD - Quality Function Deployment (Yoji Akao)

• AHP - Analytic Hierarchy Process (T.L. Saaty)

• Comparação Pairwise

• Avaliação Numérica

• Priorização baseada no valor, custo e risco

Page 8: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

8

Quality Function Deployment

• O conceito de QFD foi introduzido no Japão por Yoji Akao em 1966

• É uma forma de assegurar a qualidade do projeto, enquanto o produto está na fase de planejamento

• Quando apropriadamente aplicado o QFD demonstra uma redução do tempo de desenvolvimento de 1/2 para 1/3

House of Quality

Page 9: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

9

Quality Function Deployment

• Identificando o Cliente

• Determinando os Requisitos do Cliente

• Priorizando os Requisitos

• Competição de Idéias

• Convertendo os Requisitos do Cliente em Requisitos de Engenharia Mensuráveis

• Definindo metas para o projeto

Partindo da voz do cliente para a especificação técnica do projeto

Page 10: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

10

Analytic Hierarchy Process

• Desenvolvido por T. L. Saaty - 1980

• Pontos Fortes• Conceitualmente simples e de fácil entendimento

• Robusto o suficiente para lidar com problemas complexos

• Pontos Fracos• Dados quantitativos solicitados

• Julgamento ainda é um fator

Page 11: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

11

Analytic Hierarchy Process

• O AHP é baseado no domínio da hierarquização, onde o problema é decomposto em níveis hierárquicos.– Passos

• Escolha os requisitos para priorizar

• Coloque os requisitos na matriz AHP n x n

• Utilização da comparação pairwise

• Some as colunas

• Normalize a soma das colunas

• Calcule a média das linhas

Page 12: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

12

Estudo de Caso

• Identificação dos níveis de requisitos - 14 de alto nível

• Definição dos Valores dos Requisitos

• Definição dos Custos dos Requisitos

• Análise do Custo - Valor dos Requisitos

Projeto RAN (Radio Access Network) - O objetivo do projeto era identificar e especificar requisitos para um sistema que daria informações gerencias sobre Operação de Telefonia Móvel. (Joachim Karlsson, Kevin Ryan)

Os resultados obtidos indicaram que a técnica pairwise é muito mais rápida, embora o número de comparações seja muito maior, além de ser mais informativa.

Page 13: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

13

Priorização baseada no Valor, Custo e Risco

Escolha de Requisitos que apresentam o melhor custo benefício (abordagem tradicional). Utilização de técnicas como a pairwise

Problema: existência de risco associada a cada requisito

Riscos técnicos e de desenvolvimento precisam ser avaliados

Page 14: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

14

BenefícioRelativo

PenalidadeRelativa

Valor Total

CustoRelativo

RiscoRelativo

PrioridadeRequisito

Prioridade = Valor%

Custo% * peso do custo + Risco % * peso do risco

Estudo de Caso

Page 15: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

15

Metodologia SERUM

Modelos da Análise de Negócio e recomendações

1. Refinar sistema proposto avaliando os riscos no sistema corrente

2. Refinar sistema proposto avaliando os riscos no sistema proposto

3. Definir mudanças

4. Executar análise custo-benefício

5. Avaliar riscos de

desenvolvimento

Riscos sistema corrente

Riscos sistema proposto

Custos

Benefícios

Riscos desenvolvimento

Page 16: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

16

6. Priorizar mudanças utilizando a análise de custo-benefício & avaliação de riscos

7. Desenvolver plano de mudança 8. Criar planejamento de

controle de risco de desenvolvimento

Riscos sistema corrente

Riscos sistema proposto Custos

Benefícios

Riscos desenvolvimento

Plano de MudançasPlano de Controle de Risco de Desenvolvimento

Page 17: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

17

9. Criar planejamento de controle de risco técnico para os riscos aceitáveis

Riscos sistema corrente

Riscos sistema proposto

Plano de Controle de Risco Técnico

Page 18: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

18

Ordenado Por:

Benefício

Depois Por:

Custo

Depois Por:

Eficácia em redução de risco

Depois Por:

Exposição à risco de desenvolvimento

Page 19: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

19

Custo Benefício CustoBenefício

EER ERDMudança

Melhorar velocidadede comunicação

Interface para ferramenta de planejamento

1 mês

2-3 meses

Muito alto

Muito alto

OK

OK

0,44%

2,64%

15

44

NEC CorporationProjeto de planejamento de versões do Sistema de Gerenciamento de Redes

Estudo de Caso

Page 20: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

20

Considerações Finais

• Avaliação dos requisitos candidatos • Detecção de deficiências

• Diversidade de fatores• Utilização de métodos complementares

• Requisitos que não participam da priorização• Funções de negócio

Page 21: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

21

Considerações Finais

• Dificuldades na estimativa de benefícios, custos e risco

• Utilização de método e técnicas de priorização como Guidelines

Page 22: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

22

Conclusão

• Priorizar é o ato de dar precedência a um item em relação à outro. Existe um crescimento na literatura que ressalta a importância de priorização de requisitos.

• Existem pesquisas que indicam que a grande maioria das funções de software desenvolvidas são raramente (19%) ou nunca utilizadas (45%). Só 36% são algumas vezes ou sempre utilizadas.

Page 23: Ana Karina Barbosa / Cristine Gusmão 1 Definição de Prioridades de Requisitos Tópicos Avançados de Engenharia de Software 1 Alexandre Vasconcelos Jaelson

Ana Karina Barbosa / Cristine Gusmão

23

Agradecimentos

• Sra. Edna Pacheco (PR/BR)

• Sr. Kevin Ryan (Irlanda)

• Sr. Joachim Karlsson (Suécia)

• Prof. Jaelson Castro (PE/BR)