Modelo de priorização de requisitos

Rodrigo Leite Durães. Agosto / 2006

Introdução

O laboratório consiste na utilização de uma planilha de priorização de requisitos, desenvolvida a partir do trabalho de Karl Wiegers, que contém um modelo simples e padronizado de estimar prioridades relativas para implementação de funcionalidades específicas.

A prioridade é considerada a função de quanto desejada é uma dada funcionaldiade ou requisito, onde o “desejado” considera tanto o benefício que a funcionalidade trará ao cliente quanto a penalidade que acontecerá caso ela seja omitida, assim como o custo relativo e o risco de sua implementação.

Cada funcionalidade proposta é definida nos valores de 1-9 em quatro diferentes dimensões:

Benefício: o quanto a funcionalidade é desejada para o usuário

Penalidade: o quanto o usuário sofrerá se ela não existir

Custo: o quanto de esforço relativo é necessário para implementar a funcionalidade

Risco: implica na possibilidade do requisito ser alterado (ainda não estar consolidado)

Enquanto custos e riscos são definidos de forma única para a funcionalidade, cada stakeholder pode ter sua própria visão de benefício e penalidade. Assim, a planilha permite que sejam informados diferentes benefícios e penalidades para até dez diferentes stakeholders.

Cada dimensão possui um peso relativo. Os pesos ajustados inicialmente são 1, que propõem equilíbrio entre as dimensões. Se na organização é desejada mais ênfase à parte de riscos, seu peso pode ser, por exemplo, duplicado.

Atenção: não apagar worksheets ou linhas da planilha. A planilha contém fórmulas que podem ser impactadas com linhas apagadas..

Roteiro

A partir da lista de casos de uso, deve ser feita a estimativa de prioridade:. O cômputo da prioridade será realizado nos seguintes passos:

Determinação do custo dos casos de uso Determinação do risco dos casos de uso

Determinação do benefício e penalidades individuais

Definição dos pesos relativos

Avaliação da prioridade.

Determinação do custo dos casos de uso

Essa etapa é realizada por todos os membros do grupo simultaneamente. A primeira etapa do trabalho consiste em estimar o custo relativo dos casos de uso. Esse custo consiste em determinar um peso entre 1 e 9 para o desenvolvimento do caso de uso.

Um caso de uso estimado como pequeno/simples tem custo entre 1 e 3 Um caso de uso estimado como médio/intermediário tem custo entre 4 e 6

Um caso de uso estimado como grande/complexo tem custo entre 7 e 9.

Determinação do risco dos casos

Essa etapa é realizada por todos os membros do grupo simultaneamente. Os riscos são determinados a partir da percepção de quanto o caso de uso pode ainda mudar.

Um caso de uso extremamente estável tem risco entre 1 e 3 Um caso de uso de estabilidade moderada tem risco entre 4 e 6

Um caso de uso volátil tem risco entre 7 e 9.

Stakeholders: Benefícios e penalidades

Divida o grupo em 3 conjuntos de pessoas. Cada conjunto preenche isoladamente os dados, sem que o outro veja.

Cada conjunto deverá definir o benefício e a penalidade associada à implementação dos casos de usos, onde:

Benefício: o quanto a funcionalidade é desejada para o usuário

Penalidade: o quanto o usuário sofrerá se ela não existir

Os valores de cada um estão entre 1 e 9 onde:

Para benefício, o valor 1 é o limite inferior, equivalente à “não me importo de ser ou não implementado”, 9 é o limite superior, equivalente à “estaria muito feliz se fosse implementado” e os demais valores são intermediários.

Para penalidade, o valor 1 é o limite inferior, equivalente à “não me faz falta”, 9 é o limite superior, equivalente à “O sistema não faz sentido sem ele” e os demais valores são intermediários.

Definição dos pesos relativos

Essa etapa é realizada por todos os membros do grupo simultaneamente. A definição dos pesos permite evidenciar o critério de priorização que mais importa entre as quatro dimensões benefício, penalidade, custo e risco, além de permitir atribuir pesos diferentes às consideraçõs dos diferentes stakeholders

Para o laboratório, inicialmente deixar todos como 1,0. Após completar a prática, fique livre para experimentar valores (maiores que zero).

Avaliação da prioridade

Essa etapa é realizada por todos os membros do grupo simultaneamente. A planilha final apresenta a resultante de todos os valores: a prioridade. Quanto maior a prioridade, mais cedo o requisito deve ser implementado. Isso pode ser usado inclusive para determinar a iteração de implementação.

É importante ressaltar que a prioridade compara requisitos que não estão sujeitos a exigências, regras ou normas de implementação. Se, por exemplo, um requisito é exigido pelo cliente na primeira iteração, ele não deverá entrar no cálculo da prioridade.

Determinando a iteração: Para determinar a divisão em duas iterações faça o seguinte:

1.Copie os requisitos e suas respectivas prioridades e custos % para uma nova página (cole apenas os valores) 2.Ordene-os de forma decrescente pela prioridade 3.Some os custos % até a soma apresentar aproximadamente 50%. Isso quer dizer que os primeiros 50% (de custo, que implica em esforço) seriam na primeira iteração e os demais da segunda iteração. 4.Revise se não existe algum requisito que está na primeira iteração que depende enormemente de um requisito que está na segunda. Caso exista, suba esse requisito para a primeira e reveja os custos % até a soma apresentar aproximadamente 50%.

Referências bibliográficas

[1]Karl E. Wiegers, Software Requirements, Microsoft Press, Redmond, WA, 1999.

Comentários