Técnicas de Levantamento de Requisitos
Técnicas de Levantamento de Requisitos
Técnicas de Levantamento de Requisitos
Agenda
Síndromes relacionadas com o Levantamento de Requisitos
Técnicas de Levantamento de Requisitos
Entrevista Workshops
Brainstorming e Redução de Idéias Storyboarding
Aplicação de Casos de Uso Prototyping
Técnicas de Levantamento de Requisitos
Síndromes relacionadas ao Levantamento de Requisitos
Síndrome “Sim, mas...”
Síndrome “Ruínas não descobertas”
Síndrome “Usuário e o Desenvolvedor”
Técnicas de Levantamento de Requisitos
Síndrome “Sim, mas...”
Sintomas:
Wow, muito legal; nós podemos realmente usar isto, que trabalho legal, ...
Sim, mas, hmmmmm, deixe-me ver, e se fosse assim...? Não seria melhor deste jeito...? Que tal desta forma...?
Causas:
Esta síndrome faz parte da natureza humana.
Construir software é um processo de intelectual intangível. Falta de validação dos usuários nas fases iniciais do sistema. Falta de protótipos ou modelos para validação.
O primeiro contato com o sistema é depois de meses ou anos de desenvolvimento.
Técnicas de Levantamento de Requisitos
Síndrome “Ruínas não descobertas”
Pesquisar requisitos é como pesquisar ruínas não descobertas
Quanto mais se procura, mais se acha!
Quando mais você acha, mais você sabe que ainda tem!
O importante é saber que:
Procurar requisitos é uma missão que nunca será completada. Deve-se procurar requisitos até o ponto onde possa-se dizer com
Técnicas de Levantamento de Requisitos
Síndrome “Usuário e o Desenvolvedor”
Sintomas
Usuários não sabem o que eles querem ou não sabem transmitir o que querem.
Analistas pensam que conhecem o negócio dos usuários melhores que eles.
Gap de comunicação:
Vivem em mundos diferentes.
Falam linguagens (vocabulários) diferentes. Têm cultura, motivações e objetivos diferentes.
Solução:
Uma comunicação mais eficiente, combinando as palavras dos usuários com as experiências dos desenvolvedores.
Técnicas de Levantamento de Requisitos
Técnicas de Levantamento de Requisitos
Entrevista
Workshops de Requisitos
Brainstorming e Redução de Idéias
Storyboarding
Aplicação de Casos de Uso
Prototyping
Técnicas de Levantamento de Requisitos
Fatores que influenciam na escolha da técnica de levantamento de
requisitos
Tipo da aplicação
Habilidade e sofisticação da equipe de desenvolvimento
Habilidade e sofisticação do cliente
Escala do problema
Criticidade da aplicação
Tecnologia usada
Singularidade da aplicação
Sua experiência com as técnicas de levantamento
Técnicas de Levantamento de Requisitos
Entrevista
Um entrevistador e um entrevistado
Trabalha a síndrome "Usuário e o Desenvolvedor"
A cultura, a experiência e predisposição do entrevistador não devem
interferir
na troca livre de informação ou
Técnicas de Levantamento de Requisitos
Entrevista
Preparação das Questões:
Questões livre de contexto – Não endereçam uma solução específica.
Quem são os usuários do sistemas? Quem são os clientes?
As necessidades deles são diferentes?
Onde mais uma solução para este problema pode ser encontrada?
Questões dentro de um contexto de solução.
Busca visualizar a soluções ou novas idéias.
Entrevista genérica, quase livre de contexto.
Combina os dois tipos de questões. Busca alcançar requisitos não funcionais
Técnicas de Levantamento de Requisitos
Entrevista
Realização da Entrevista:
Prepare as questões e as revise antes da entrevista.
Pode levar as questões e consultá-las durante a entrevista.
Estude o contexto do entrevistado antes da entrevista e não pergunte questões que você poderia ter vistos as respostas antes.
Escreva as respostas imediatamente, de forma tranquila, mas rapidamente.
Se o entrevistado começar a falar muito, desenvolvendo uma linha de raciocínio – não o interrompa. É isto que nós queremos!
Você pode perguntar questões que não estavam planejadas sobre alguma informação fornecida.
Depois de duas entrevistas, você começa a ter ganho de conhecimento sobre o problema em foco e, muito importante, sobre os sentimentos dos usuários sobre o que seria uma boa solução.
Técnicas de Levantamento de Requisitos
Entrevista
Compilação dos dados:
Seção Resumo do Analista: registrar as três mais importantes necessidades ou problemas.
As necessidades de mais alta prioridade começarão a se repetir 10 entrevistas freqüêntemente criam somente 10-15 diferentes
necessidades.
Técnicas de Levantamento de Requisitos
Entrevista
Posso substituir uma entrevista por um questionário?
Não!!!
O contato com o cliente é fundamental, a percepção dos sentimentos dos clientes sobre os requisitos e sobre a solução.
Use questionário como uma técnica para corroborar a informação.
Faça entrevista como a primeira técnica de levantamento de requisitos.
Faça entrevista para toda nova classe de problema e para todo novo
Técnicas de Levantamento de Requisitos
Workshop de Requisitos
Coloque todos os stakeholders chaves juntos em um período curto e
inteso de troca de idéias: não mais que 1 ou 2 dias.
Brainstorm é a parte mais importante do workshop.
Comece perguntando aos stakeholders: Se somente um requisito
pudesse ser implementado na nova versão, qual seria?
Workshop ajuda a fechar, de forma rápida, um consenso sobre os
requisitos da aplicação e sobre o curso das ações:
Constrói um time efetivo comprometido com o sucesso do projeto. Resolve problemas políticos.
Técnicas de Levantamento de Requisitos
Workshop de Requisitos
Preparação do Workshop:
Venda a idéia para a organização, mostrando os benefícios da técnica Workshop.
Identifique os stakeholders mais importantes que possam contribuir com o processo e de quem são as necessidades que o sistema deve
implementar.
Assegure a participação dos stakeholders do passo anterior.
Garanta a logística para o workshop: convites apropriados, hospedagem, passagens, transporte, salas, recursos audio-visuais, coffee break, etc. Envie antecipadamente, para os participantes, material para leitura:
Informações específicas de projeto: documentos de requisitos, relatório de
tendências, dados sobre o mercado, etc.
Preparação para fugir das práticas diárias: fugir das regras, das políticas da
Técnicas de Levantamento de Requisitos
Workshop de Requisitos
Papel do Facilitador:
É melhor que seja um profissional externo e experiente.
Tem que ser treinado no processo de condução de reuniões.
Tem que demonstrar habilidade com construção de consensos e formação de equipes.
Deve ser uma pessoa que tenha o respeito do membros internos e externos.
Ter uma forte formação em liderança.
Não deve contribuir com idéias nem com as questões levantadas. Estabelecer um tom profissional a reunião:
Técnicas de Levantamento de Requisitos
Workshop de Requisitos
Exemplo de Agenda:
Fechamento das Idéias 16:00 - 17:00
Redução de Idéias e priorização 15:00 - 16:00 Definição de Características/ Requisitos 14:00 - 15:00 Brainstorming 13:00 - 14:00 Almoço 12:00 - 13:00 Brainstorming 10:00 - 12:00 Contexto 08:30 - 10:00 Introdução 08:00 - 08:30
Técnicas de Levantamento de Requisitos
Brainstorming
Brainstorming é composto de duas etapas:
Geração de idéias e
Redução de idéias ( sintetização das idéias).
Ajuda a tratar a síndrome "Ruínas não descobertas".
Benefícios:
Encoraja a participação de todos os presentes.
Permite aos participantes tomarem conhecimento de todas as idéias. Um facilitador toma nota de todas as idéias.
Permite uma carga alta de participação.
Técnicas de Levantamento de Requisitos
Brainstorming
O processo de Brainstorming:
Explicar inicialmente como será a reunião.
Distribuir papel (Post-it) para escrita das idéias (Quant.:25). Realizar um pergunta por seção de Brainstorm:
Que características/requisitos você gostaria de ver no produto? Que serviços você gostaria de ver no produto?
Que coisas você gostaria que o produto possuísse?
Permitir que os participantes falem suas idéias e as escrevam nos papeis.
Em momentos de silêncio, repita a pergunta da mesma maneira ou de uma maneira um pouco diferente.
Técnicas de Levantamento de Requisitos
Brainstorming
O processo de Brainstorming:
O processo de geração de idéias pode levar de 1 a 2 horas e originar em torno de 100 a 200 idéias.
Já no processo de Redução de Idéias, o facilitador recolhe as idéias e as fixa na parede para que todos possam ver. Não permita comentários como: "Que idéia ruim!" e "Isso eu já tinha dito!"
O facilitador passa por cada idéia perguntando se há algo a acrescentar ou é uma idéia fora do contexto do sistema.
Retira as ideias fora do contexto. As ideias que têm validade ou que
estão com votos contra e a favor devem ser pregadas em uma parede. As repetidas são colocadas juntas na parede.
Técnicas de Levantamento de Requisitos
Brainstorming
O processo de Brainstorming:
Pode-se pedir aos participantes para agrupar as idéias, nomeando os grupos:
Novas caratecrísticas, questões de desempenho, melhoria de características,
e interfaces de usuários e questões de usabilidade.
Serviços aos clientes, departamento de vendas e marketing, serviços web,
departamento de cobranças, etc.
Para cada grupo de idéias, o processo de geração de idéias é reiniciado. Após terminar o processo de geração de idéias, o processo de Definição
de Características (DC) é iniciado.
No DC, o falicitador pede aos fornecedores das idéias que descrevam uma pequena descrição para cada uma das idéias.
Técnicas de Levantamento de Requisitos
Brainstorming
O processo de Brainstorming:
Ao final, pode-se aplicar um método para priorização de idéias:
Voto acumulativo: Teste dos $100 dolares. Dica: Limite um valor que pode ser
pago para cada idéia.
Categorização com Crítico (peso 9), Importante (peso 3) e Útil (peso 1). Dica:
Técnicas de Levantamento de Requisitos
Storyboarding
Consiste em apresentar para os stakeholders os esboços (croquis) de
vários aspectos do sistema:
Croquis das telas do sistema, mostrando adicionalmente os fluxos. Regras de negócio
Algoritmos Relatórios
Ajuda a identificar:
os papeis (atores),
o que eles podem fazer com o sistema e o que o sistema deve fazer.
Técnicas de Levantamento de Requisitos
Storyboarding
Deve ser usada desde os estágios iniciais do projeto.
Os croquis devem ser
Simples
Fáceis de criar e modificar Extremamente baratos
Tipos de Storyboards
Passivo: o analista passa os esboços para o cliente, explicando o que acontece com o sistema.
Ativo: são automatizados ou animados. É como se o usuários estivessem vendo um filme que ainda não foi produzido.
Técnicas de Levantamento de Requisitos
Storyboarding
Dicas para Storyboarding:
Não invista muito em um croqui.
Se você não mudar nada, você não aprendeu nada.
Não faça o croqui muito bem feito. O cliente pode querer comprá-lo. Sempre que possível, faça o croqui interativo.
Técnicas de Levantamento de Requisitos
Aplicação de Use Case
Identifica o quem, o o quê e o como do sistema.
Um use case (UC) descreve as iterações entre um usuário e um sistema.
O UC foca no o quê o sistema faz para o usuário ou no negócio do onde o
sistema irá operar.
Um modelo de UC consiste de todos os atores do sistema e de todos os
UC com os quais os atores irão interagir.
Mostra a totalidade do comportamento funcional do sistema.
Os atores identificam os limites do sistemas, as entidades externas que interagem com o sistema:
Papel dos usuários quando interagindo com o sistema. Hardware que interage com o sistema.
Técnicas de Levantamento de Requisitos
Aplicação de Use Case
A identificação dos atores passa anteriormente pela identificação de
stakeholders e usuários do sistemas.
A especificação de um UC deve ser escrita em linguagem natural, deve
ser fácil de descrever e documentar.
Deve ser escrita sob o ponto de vista do cliente.
Trabalha-se também as interfaces que o sistema irá provê:
mas os detalhes (cores, fontes e tipos de dados) destas interfaces devem ser deixados para fases posteriores.
Ajuda a trabalhar a síndrome "Ruínas não descobertas".
Não ajuda a endereçar requisitos não funcionais. Deve-se usar outro tipo
de técnica.
Técnicas de Levantamento de Requisitos
Prototipagem
É uma implementação parcial do software com objetivo de ajudar aos
desenvolvedores, usuários e stakeholders a entender melhor os requisitos
da aplicação.
Ajuda a trabalhar as síndromes “Sim, mas...” e “Ruínas não descobertas”
Faça prototipagem dos requisitos confusos, que embora sejam
conhecidos, são fracamente definidos ou entendidos.
Este técnica permite o usuário interagir e sentir o sistema como nenhuma
técnica permite.
Técnicas de Levantamento de Requisitos
Prototipagem
Tipos de protótipos:
Descartável X Evolucionário
Vertical (Qualidade) X Horizontal (Quantidade) Interface de Usuário X Algoritmo
Requisitos X Tecnologia
A escolha do tipo depende do problema que se está tratando:
Somente testar a tecnologia, usa-se o tipo descartável
Se pretende aproveitar o protótipo, use o tipo evolucionário