Principais Técnicas de Elicitação de requisítos

Engenharia de Requisitos – Técnicas

Créditos: Bruno Conde Perez Brum e Leandro Pena

Devido a falta de informação a respeito na internet e com muita documentação de qualidade somente em inglês, resolvi postar este trabalho em meu blog como forma de ajudar a todos que estão estudando esta área.
Por favor comentem se isto lhe ajudou de alguma forma ok? ;)

1. Métodos de Conversação:

O método de conversação fornece um meio de comunicação verbal entre duas ou mais pessoas. Sendo uma forma natural de expressar as necessidades, idéias e responder às perguntas, é bastante eficaz para identificar e compreender as necessidades do entrevistado. Proporciona a comunicação verbal entre um ou mais participantes e ajuda a comunicação eficaz com os mesmos. Esses métodos fornecem a maneira natural de expressar as necessidades e as idéias e identificar os requisitos do produto.
1.1 Entrevistas (Interviews): A entrevista é uma das técnicas tradicionais mais simples de utilizar e que produz bons resultados na fase inicial de obtenção de dados. Convém que o entrevistador dê espaço ao entrevistado para esclarecer as suas necessidades. É uma discussão do projeto desejado com diferentes grupos de pessoas.
Principais Vantagens
Principais Desvantagens
1) Com um plano geral bem elaborado, o analista terá facilidade em descobrir que informação o usuário está mais interessado e usar um estilo adequado ao entrevistar;
2) Poder alterar o curso da entrevista de forma a obter informações sobre aspectos importantes que não tinham sido previstos no planejamento da entrevista;
3) Poder alterar a ordem seqüencial das perguntas;
4) Poder eliminar perguntas anteriormente planejadas;
5) Poder incluir perguntas que não estavam na programação da entrevista;6) Poder motivar o entrevistado no decorrer do processo;
1) Podem ocorrer desvios de curso, no decorrer da entrevista;
2) Consumir mais tempo e recursos com sua realização;
3) Tratamento diferenciado para os entrevistados;
4) É necessário ter um plano de entrevista para que não haja dispersão do assunto principal e a entrevista fique longa, deixando o entrevistado cansado e não produzindo bons resultados;
5) O usuário tem dificuldade de concentração em reuniões muito longas;
6) O entrevistado pode não saber expressar corretamente suas necessidades ao analista.

1.2  WorkShop: Trata-se de uma técnica de elicitação em grupo usada em uma reunião estruturada. Devem fazer parte do grupo uma equipe de analistas e uma seleção dos stakeholders que melhor representam a organização e o contexto em que o sistema será usado, obtendo assim um conjunto de requisitos bem definidos.

Principais Vantagens
Principais Desvantagens
1) Obtêm um conjunto de requisitos bem definido;
2) Trabalho em equipe tornando o levantamento de requisitos mais eficaz;
3) Baixo custo e resposta relativamente rápida;
4) Tempo de obtenção de informações é reduzido.
1) Por ser realizado por convocação por dia e horário, pode ocasionar problemas no presenciais dos stakeholders;
2) Não abre caminho para ideias externas além da equipe de analistas; Dados excessivamente agregados.

1.3 BrainStorming: É utilizado normalmente em workshops. Após os workshops serão produzidas documentações que refletem os requisitos e decisões tomadas sobre o sistema a ser desenvolvido. Seu objetivo é uma apresentação do problema/necessidade a um grupo específico, requerendo assim soluções.

Principais Vantagens
Principais Desvantagens
1) Várias pessoas pensam melhor do que uma (grupo pensante);
2) Rompe a inibição de idéias;
3) Generaliza a participação do membros do grupo.
1) Disponibilidade de todos pode inviabilizar o levantamento de dados.

1.4 Questionário: Diferente da entrevista, essa técnica é interessante quando temos uma quantidade grande de pessoas para extrair as mesma informações. As questões são dirigidas por escrito aos participantes com o objetivo de ter conhecimento sobre opiniões das mesmas questões. São auto-aplicáveis pois o próprio informante responde.

Principais Vantagens
Principais Desvantagens
1)Atinge um grande número de pessoas; Menores custos;
2) Permite que os participantes respondam no momento em que acharem conveniente;3) Questões padronizadas garantem uniformidade.
1) Não há garantia de que a maioria dos participantes respondam o questionário;
2) Os resultados são bastante críticos em relação ao objetivo, pois as perguntas podem ter significados diferentes a cada participante questionado.

1.5 Grupo Focal (Focus Group): É um grupo de discussão informal e de tamanho reduzido (até 12 pessoas), com o propósito de obter informação qualitativa em profundidade. As pessoas são convidadas para participar da discussão sobre determinado assunto.

Principais Vantagens
Principais Desvantagens
1) Baixo custo, resposta rápida e Flexibilidade;
2) Obtêm informações qualitativas a curto prazo;3) Eficiente para esclarecer questões complexas no desenvolvimento de projetos;
1) Exige facilitador/moderador com experiência para conduzir o grupo; Não garante total anonimato;
2) Depende da seleção criteriosa dos participantes;3) Informações obtidas não podem ser generalizadas.


2. Métodos de Observação:

Utilizado para a compreensão do domínio da aplicação, observando as atividades humanas.
2.1 Etnografia (Ethnographic Study): É uma análise de componente social das tarefas desempenhadas numa dada organização. É utilizado para desenvolver um entendimento completo e detalhado.
Principais Vantagens
Principais Desvantagens
1) Capacidade de observar o comportamento do ambiente, gerando maior profundidade no conhecimento.
2) Apoia-se no comportamento real;
3) Permite uma abordagem integral.
1) Dificuldades para analisar e interpretar situações;
2) A amostra pode ser reduzida;
3) Requer treinamento especializado;
4) As observações podem ter uma interpretação complicada.

2.2 Observação (Observation): A técnica resume-se em visitar o local em foco com a finalidade de observação do mesmo. Permitindo assim, coletar informações de acordo com o cotidiano das operações e execução dos processos diários do local.

Principais Vantagens
Principais Desvantagens
1) Capaz de captar o comportamento natural das pessoas;
2) Nível de intromissão relativamente baixo;
3) Confiável para observações com baixo nível de inferência.
1) Polarizada pelo observador;
2) Requer treinamento especializado;
3) Efeitos do observador nas pessoas;
4) Não comprova/esclarece o observado;5) Número restrito de variáveis.

2.3 Protocolo de Análise (Protocol Analysis): Análise de protocolo é uma forma de levantamento de requisitos no qual o analista analisa as partes interessadas quando estão envolvidas em algum tipo de tarefas.

Principais Vantagens
Principais Desvantagens
1) Processo de extração de registro de tarefas via audio, vídeo ou notas escritas.1) o analista deve ter conhecimento suficiente sobre domínio atual, a fim de compreender melhor as tarefas.

3. Métodos Analíticos:

Conjunto de técnicas para analise de documentação e conhecimento existentes com o intuito de adquirir requisitos através do levantamento de informação pertinentes ao sistema a ser especificado, como por exemplo, domínio do negócio, fluxos de trabalho e características do produto.
Principais Vantagens
Principais Desvantagens
1) O estudo do conhecimento de especialistas leva a um processo sucessivo de aumento de maturidade e qualidade;
2) Reutilização de informação já disponível salva tempo e custo;
1) Requer dados empíricos, documentação e a opinião de expecialistas, e sem estes, não é possível identificar os requisitos;
2) Podem levar a restrição da visão do produto final;
3) Lida com informação antiga, e com isso pode levar a replicação de erros existentes;

3.1 Reuso de Requisitos: Estudo e reutilização de especificações e glossários referente a projetos de sistemas legados ou sistemas de mesma família (com funcionalidades de negócio similares).

Principais Vantagens
1) Economia de tempo e dinheiro: Estudos tem mostrado que sistemas similares podem reutilizar acima de 80% de seus requisitos; Pode levar a uma reutilização adicional de outros itens em outras atividades do ciclo de vida de desenvolvimento (ex.: reuso do design de componentes já existentes, testes e código fonte);2) Redução de risco: Requerimentos reutilizados tem uma chance maior de serem compreendidos pelos stakeholders visto que já são conhecidos de certa forma;

3.2 Estudo de Documentação / Analise de Conteúdo: Estudo e reutilização de documentação de diferentes naturezas, para a identificação de requisitos a serem implementados no sistema que se está modelando.Uma grande variedade de documentação pode ser analisada incluindo estrutura organizacional da empresa,  padrões de mercado, leis, manuais de usuário, relatório de pesquisas de mercado, glossário de termos de negócio, etc.

Principais Desvantagens: Documentos com problemas podem levar a uma falha na definição dos requisitos;

3.3 Laddering: É um método de entrevistas estruturadas, um-a-um, utilizado para o levantamento de conhecimento (o que é importante e por que) de especialistas, e que consiste na criação, revisão e modificação da hierarquia de conhecimento dos especialistas geralmente na forma de diagramas hierárquicos (ex.: diagrama em árvore).

Principais Vantagens
Principais Desvantagens
1) Cobre um amplo domínio de requisitos;
2) Necessita de menos tempo para a preparação e execução das sessões de levantamento;
3) Necessita de menos experiência para a execução das sessões de levantamento;
4) Provê um formato padrão que é adaptável para a automação computadorizada;
1) Não é capaz de extrair todos os tipos de requisitos;
2) Necessita da execução combinada de outras técnicas de levantamento de requisitos para sua complementação em determinados domínios;
3) Não é compatível com todo e qualquer domínio de  requisitos, sendo necessário a verificação de sua adequação ao levantamento a ser feito;

3.4 Sorteio de Cartões: Utilizado para capturar informações e idéias sobre estrutura de requisitos de especialistas de domínio. Neste método um conjunto de cartões é distribuído em um grupo de stakeholders onde cada cartão é impresso com a descrição das entidades do domínio.

Principais Vantagens
1)  Ajuda os stakeholders a levantar os conceitos do domínio e distinguir entre problemas de alto e baixo nível;
2) O resultado do método pode ser utilizado como insumo para outros métodos de levantamento de requisitos;

3.5 Repertory Grid: Método onde os stakeholders são questionados sobre atributos e valores destes, referentes a uma série de entidades. Com esta informação é montada uma matrix de entidade X atributo.

4. Métodos Sintéticos:

Algumas vezes em projetos complexos um único método de levantamento de requisitos não é suficiente para capturar os requisitos detalhadamente. Para solucionar este problema os analistas de requisitos tentam utilizar diferentes métodos de levantamento de requisitos. Por exemplo, em alguns casos é utilizado o método de entrevista antes de se fazer um estudo etinográfico. Ao invés de utilizar a combinação de diferentes técnicas de levantamento de requisitos, é possível utilizar métodos sintéticos, que são formados pela combinação das outras técnicas em uma única.
4.1 Sessões JAD/RAD: Consiste em workshops e sessões de grupo nos quais stakeholders e analistas de requisitos se encontram para discutir as características desejadas do produto. Seu objetivo é envolver todos os stakeholders importantes no processo de levantamento, através de reuniões estruturadas e com foco bem definido. Depende diretamente do grau de envolvimento dos stakeholders bem como do líder das sessões JAD.
O processo JAD consiste em três fases principais: customização, sessões e agrupamento.  Na customização, o analista prepara as tarefas para as sessões como organizar os times, preparar o material, etc. Na fase de sessões, o analista marca uma ou mais reuniões com os stakeholders. No inicio da sessão JAD o engenheiro de requisitos provê uma visão genérica sobre o sistema e a discussão com os stakeholders continua até o fim do levantamento de requisitos. Na fase de agrupamento todos os requisitos levantados nas fases anteriores são convertidos em documentos de especificação de requisitos.
Principais Vantagens
Principais Desvantagens
1) As discussões que ocorrem na fase de sessões são altamente produtivas porque resolvem dificuldades entre as partes enquanto se dá o desenvolvimento do sistema para a empresa;
2) Melhor aplicado para grandes e complexos projetos;
1) Somente projetos que possuem pelo menos uma das características abaixo podem utilizar o JAD:- Possuir alto número de stakeholders responsáveis por departamentos cross na empresa;- Primeiro projeto na empresa o qual é considerado crítico para o futuro da mesma;
2) Requer mais recursos se comparado à métodos tradicionais;

4.2 Prototipação: Utilizado no estágio inicial do projeto. Ajuda aos stakeholders a desenvolver uma forte noção sobre a aplicação a qual ainda não foi implementada, que através da visualização da mesma eles podem identificar os reais requisitos e fluxos de trabalho do sistema. É muito utilizado quando os stakeholders são incapazes de expressar os seus requisitos ou se os mesmos não têm nenhuma experiência com o sistema.

Principais Vantagens
Principais Desvantagens
1) Permite alcançar um feedback antecipado dos stakeholders;
2) Reduão de tempo e custo de desenvolvimento devido a detecção dos erros em uma fase inicial do projeto;
3) Prove alto nível de satisfação dos usuários devido a sensação de segurança ao ver algo próximo do real;
1) Demanda um alto custo de investimento, em relação à outros métodos, para ser realizado;
2) Demanda um tempo maior para sua realização devido a complexidade do sistema e a limitações técnicas;

4.3 Questionário de Ambiente: Permite aos analistas o real entendimento das necessidades dos stakeholders com a coleta detalhada de informações através de observação e interação com as pessoas no ambiente de trabalho. Alguns profissionais são escolhidos e acompanhados a fundo para o completo entendimento de suas práticas de trabalho.

Principais Vantagens
Principais Desvantagens
1) Permite um levantamento profundo e detalhado das necessidades dos stakeholders;
2) Pode ser utilizado para resolver problemas extremamente complexos;
1) Dependendo dos processos de trabalho, necessita de uma grande quantidade de tempo e pessoas para ser executado;

4.4 Storyboards: São sessões interativas que descreve uma sequência de atividades e eventos para um caso em específico para um processo genérico que é esperado que o sistema automatize.

Principais Vantagens
1) Método muito eficiente no esclarecimento de requisitos relacionados a processos, fluxos de dados e tarefas;
2) Método relativamente barato de ser executado;

Conclusão:
Todos os métodos de levantamento de requisitos possuem vantagens e desvantagens a serem consideradas e nenhum deles é completo dadas as inúmeras variáveis de complexidade, perfil de stakeholders, comunicação, nível de conhecimento do negócio, nível de qualificação dos profissionais de levantamento de requisitos, situações políticas, nível de comprometimento dos stakeholders, etc. Com isso, a utilização de mais de uma técnica, de forma combinada, ou a utilização de técnicas sintéticas, irá ajudar na complementação de possíveis lacunas de levantamento, além de melhorar a qualidade e completude dos requisitos visto que pode ocorrer o batimento cruzado de requisitos similares. Outro fator importante é a utilização de um framework de decisão para a escolha dos métodos mais apropriados dado o contexto do trabalho a ser realizado.
Fonte: Reflectz's 
OBS: Este post é uma copia fiel do que se encontra no link da fonte. Meu objetivo aqui foi guardar um excelente material. Mas todo o credito é do produtor intelectual do mesmo. Parabéns pelo excelente material! Reflectz's!

Nenhum comentário

Toda vez que um homem supera os reveses, torna-se mentalmente e espiritualmente mais forte!

Tecnologia do Blogger.