Prévia do material em texto
Priorização de Requisitos 1 Teresa Maciel tmmaciel@gmail.com DEINFO/UFRPE 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. Metodologias de desenvolvimento iterativo necessitam de priorização de requisitos a cada iteração. Priorizar requisitos tem a ver com definir quais requisitos fazer primeiro e quais deles postergar. Questões relevantes - Quão importante é o requisito para o cliente? - Quanto irá custar? - Quais os riscos envolvidos na sua implementação? Métodos de Priorização de Requisitos • VOP • Numeral Assignment • AHP • Cost-Value Approach • BST • Planning Poker 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 • Vantagens – Resultados claros; – Simplicidade; – Velocidade; • Desvantagens – Difícil estabelecer pesos; – Poucas informações sobre a técnica; NotaReqFinal = NotaReqV1 * PesoV1 + ... + NotaReqVN * PesoVN Numeral Assignment • Stakeholders dão uma nota de 1 a 5 para cada requisito – 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) • A média de notas de cada stakeholder para cada requisito é a nota final • Vantagens – Simplicidade e Clareza; • Desvantagens – Pouca Fidelidade; – Considera apenas opinião dos stakeholders Planning Poker • Descrito inicialmente por James Grenning em 2002 e depois popularizado por Mike Cohn no seu livro Agile Estimating and Planning. • Consiste numa reunião dos vários membros da equipe em que se tenta chegar a um consenso relativamente a um determinado tempo ou esforço/complexidade necessários para executar uma determinada user story (requisito). Planning Poker • 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” • Planning Poker – consiste numa reunião dos vários membros da equipe em que se tenta chegar a um consenso relativamente a um determinado tempo ou esforço/complexidade necessários para executar uma determinada user story (requisito). Planning Poker • Cada participante, geralmente os membros da equipe de desenvolvimento devem possuir uma seqüência de cartas, e cada funcionalidade da lista de backlog irá corresponder a uma rodada do jogo entre a equipe. • A equipe coloca uma estória na mesa e apresenta para toda a equipe. • Após toda a equipe de desenvolvimento saber claramente sobre aquela estória, cada membro da equipe escolhe uma carta e coloca na mesa virada para baixo. • Quando todas as cartas estiverem lançadas, elas são viradas. Se por algum motivo aparece uma carta com um valor bem diferente ou que não haja consenso de todos esse é o momento da equipe discutir de forma breve sobre a divergência, e uma nova rodada acontece. • Posteriormente a equipe pode fazer uma média para achar a pontuação final daquela estória. 10 Planning Poker 11 Planning Poker James Grenning (April 2002). "Planning Poker". Renaissance Software Consulting. Retrieved 2008-08-31. Mike Cohn (November 2005). "Agile Estimating and Planning". Mountain Goat Software. Retrieved 2008-02-01.