terça-feira, 10 de março de 2009

PSI - Técnicas de Levantamento de Requisitos

Em todo desenvolvimento de software, um aspecto fundamental é a captura dos requisitos dos usuários. Para apoiar este trabalho, diversas técnicas podem ser utilizadas.

Em um levantamento de requisitos, geralmente um engenheiro de software se depara com duas importantes questões:

- Entre os muitos relatórios, formulários e documentos gerados pelos membros de uma organização, quais deverão ser objetos de investigação?
- Pode haver um grande número de pessoas afetadas pelo sistema de informação proposto. Quais delas devem ser entrevistadas, observadas ou questionadas?

Servindo de base para todas as técnicas de levantamento de requisitos, entre elas investigação, entrevistas e observação, estão as decisões cruciais dizendo respeito a o que examinar e quem questionar ou observar.

1. Entrevista

Uma entrevista de levantamento de informações é uma conversa direcionada com um propósito específico, que utiliza um formato “pergunta-resposta”.

Objetivos:

- obter as opiniões do entrevistado, o que ajuda na descoberta dos problemas chave a serem tratados;
- conhecer os sentimentos do entrevistado sobre o estado corrente do sistema;
- obter metas organizacionais e pessoais;
- levantar procedimentos informais.

Pontos a serem observados em um entrevista, considerando que o desenvolvedor está estabelecendo um contato com uma pessoa estranha:

1. construa, rapidamente, uma base de confiança e entendimento;
2. mantenha o controle da entrevista;
3. venda a “idéia do sistema”, provendo ao entrevistado as informações necessárias.


Etapas de uma entrevista:

Antes

1. Estudar material existente sobre os entrevistados e suas organizações. Procure dar atenção especial à linguagem usada pelos membros da organização, procurando estabelecer um vocabulário comum a ser usado na elaboração das questões da entrevista. Isso para otimizar o tempo despendido nas entrevistas, evitando-se perguntar questões básicas e gerais.

2. Estabelecer objetivos. Há algumas áreas sobre as quais um engenheiro de software desejará fazer perguntas relativas ao processamento de informação e ao comportamento na tomada de decisão, tais como fontes de informação, formatos da informação, freqüência na tomada de decisão, estilo da tomada de decisão, etc.

3. Decidir quem entrevistar. Incluir na lista de entrevistados pessoas-chave de todos os níveis da organização afetados pelo sistema. A pessoa de contato na organização pode ajudar nesta seleção. Quando necessário, use amostragem.

4. Preparar a entrevista. Uma entrevista deve ser marcada com antecedência e deve ter uma duração entre 45 minutos e uma hora, no máximo duas horas.

5. Decidir sobre os tipos de questões e a estrutura da entrevista. É o ponto principal de uma entrevista, saber elaborar as questões e a estrutura da entrevista.

6. Decidir como registrar a entrevista. Registrar as informações obtidas para que não sejam perdidas logo em seguida. Os meios mais naturais de se registrar uma entrevista incluem anotações e o uso de gravador.


Tipos de Questões - Podem ser de três tipos básicos:

1. Questões subjetivas: permitem respostas “abertas”.
Exemplos: O que você acha de ...? Explique como você ...?

Vantagens:
Provêem riqueza de detalhes.
Revelam novos questionamentos.
Colocam o entrevistado a vontade.
Permitem maior espontaneidade.
Desvantagens:
Podem resultar em muitos detalhes irrelevantes.
Perda do controle da entrevista.
Respostas muito longas para se obter pouca informação útil.
Podem dar a impressão de que o entrevistador está perdido, sem objetivo.

2. Questões objetivas: limitam as respostas possíveis.
Exemplos: Quantos ...? Quem ...? Quanto tempo ...? Qual das seguintes informações ...?

Vantagens:

Ganho de tempo, uma vez que vão direto ao ponto em questão.
Mantêm o controle da entrevista.
Levam a dados relevantes.
Desvantagens:
Podem ser maçantes para o entrevistado.
Podem falhar na obtenção de detalhes importantes.
Não constroem uma afinidade entre entrevistador e entrevistado.

3. Questões de aprofundamento: permitem explorar os detalhes de uma questão.
Podem ser subjetivas ou objetivas.
Exemplos: Por que? Você poderia dar um exemplo?


Problemas na Elaboração de Questões

− Questões capciosas: tendem a levar o entrevistado a responder de uma forma específica, isto é, são tendenciosas.

Ex: Sobre este assunto, você está de acordo com os outros diretores, não está?
Mais adequada: O que você pensa sobre este assunto?

− Duas questões em uma: O entrevistado pode responder a apenas uma delas, ou pode se confundir em relação à pergunta que está respondendo.

Ex: O que você faz nesta situação e como?


Estrutura das Entrevistas

Há quatro formas básicas de se estabelecer a seqüência de questões:

1- Estrutura de Pirâmide (Abordagem Indutiva): inicia com questões bastante detalhadas, geralmente objetivas, e, à medida que a entrevista progride, questões mais gerais, subjetivas, são colocadas. Útil para situações onde o entrevistado parece relutante em abordar um assunto determinado ou se o engenheiro de software deseja obter uma finalização sobre o assunto.

2- Estrutura de Funil (Abordagem Dedutiva): inicia com questões gerais subjetivas e, à medida que a entrevista avança, perguntas mais específicas, usando questões objetivas, são feitas. Esta estrutura provê um meio fácil e não ameaçador para se começar uma bateria de entrevistas. Permite levantar bastante informação detalhada, sendo desnecessárias longas seqüências de questões objetivas e de aprofundamento.

3- Estrutura de Diamante: Combinação das duas anteriores: começa com questões específicas, passa a questões gerais e fecha a entrevista novamente com questões específicas. Freqüentemente, é a melhor forma de se estruturar uma entrevista, já que mantém o interesse do entrevistado em uma variedade de questões. Contudo, tem de a ser mais longa.

4- Entrevista Não Estruturada: Não há uma definição da seqüência das questões.


De acordo com o andar da entrevista, caminhos possíveis são avaliados e a seqüência é estabelecida. Requer mais tempo. Vale ressaltar que, ainda que a seqüência das questões não seja definida a priori, as questões devem ser definidas antecipadamente, ou seja, o planejamento é necessário.

Durante

Como registrar as entrevistas

Gravador: requer a permissão do entrevistado.

Vantagens:
Registro completo da entrevista.
Rapidez e melhor desenvolvimento.
Reprodução para outros membros da equipe.

Desvantagens:

Pode deixar o entrevistado pouco a vontade.
Pode deixar o entrevistador distraído.
Pode haver necessidade de transcrever a fita.

Anotações

Vantagens:
Mantém o entrevistador alerta.
Pode ser usado para fornecer um roteiro para a entrevista.
Mostra interesse e preparação do entrevistador.

Desvantagens:

Perda do andamento da conversa.
Excessiva atenção a fatos e pouca a sentimentos e opiniões.


Como conduzir uma entrevista?

Um dia antes, entre em contato com o entrevistado para confirmar o horário e o local da entrevista.

− Chegue um pouco antes do horário marcado.
− Apresente-se e esboçe brevemente os objetivos da entrevista.
− Relembre o entrevistado de que você estará registrando pontos importantes. Se for usar gravador, coloque-o em local visível.
− Diga ao entrevistado o que será feito com as informações coletadas e re-assegure seu aspecto confidencial.
− A entrevista deve durar entre 45 minutos e uma hora.
− Quando estiver incerto sobre uma questão, peça para o entrevistado dar definições ou outros esclarecimentos. Use questões de aprofundamento.
− Ao término da entrevista, pergunte se há algo mais sobre o assunto que o entrevistado ache importante você saber.
− Faça um resumo da entrevista e dê suas impressões globais.
− Informe o entrevistado sobre os passos seguintes.
− Pergunte se há outra pessoa com a qual você deveria conversar.
− Quando for o caso, marque nova entrevista.

Após

O relatório da entrevista deve capturar a essência da entrevista. Assim, escreva o relatório tão rápido quanto possível para assegurar qualidade.
Registre entrevistado, entrevistador, data, assunto e objetivos. Diga se os objetivos foram alcançados e aponte objetivos para entrevistas futuras. Registre, ainda, os pontos principais da entrevista e sua opinião.
Remeta-o ao(s) entrevistado(s) para autenticar as informações.

Questionário

O uso de questionários constitui uma técnica de levantamento de informações que permite ao engenheiro de software obter de várias pessoas afetadas pelo sistema (corrente ou proposto) informações, tais como:
- Posturas: o que as pessoas na organização dizem querer;
- Crenças: o que as pessoas pensam ser realmente verdade;
- Comportamento: o que as pessoas fazem;
− Características: propriedades de pessoas ou coisas.



2 Observação Direta

Pode ser usada para diversas finalidades como:

- Processo e confirmação dos resultados de uma entrevista
- Identificação de documentos que devem ser coletados para análise posterior
- Esclarecimento do que está sendo feito no ambiente atual e de que forma
- Tarefas similares.

O analista observa sem intervir diretamente no processo, mas ele interage com a pessoa que está observada. Na medida do possível o analista deve executar as atividades do usuário para entender como o usuário opera em seu próprio ambiente.

Antes
- Identificar as áreas de usuário a serem observadas
- Obter aprovação das gerências apropriadas
- Obter nomes e funções das pessoas-chave que serão envolvidas no estudo da
observação
- Explicar para as pessoas observadas o que será feito e por quê

Durante
- Familiarizar-se com o local de trabalho que está sendo observado
- Observar os agrupamentos organizacionais atuais
- Observar as facilidades manuais e automatizadas em uso atualmente
- Coletar amostras de documentos e procedimentos escritos usados em cada processo específico que está sendo observado
- Acumular informações estatísticas a respeito das tarefas: freqüência que ocorrem,
estimativas de volumes, tempo de duração p/ cada um que está sendo observado, etc..
- Ser objetivo e não comentar as formas de trabalho de maneira não construtiva, na interação com o usuário.
- Observar as exceções que podem ocorrer e não são citadas por não serem operações normais de negocio.
- Quando completar a observação, agradeça às pessoas pelo apoio.

Após
- Documente as descobertas
- Consolide os resultados
- Reveja os resultados consolidados com as pessoas observadas e/ ou com seus
superiores.
Desvantagem
- O processo global consome TEMPO.
- Erros podem ser induzidos pelos analistas

Essa técnica é freqüentemente usada para complementar informações obtidas com outras: entrevistas e questionários.


3 Análise de Fluxo de Processo

Problemas do usuário não é com o software em questão mas sim como os próprios processos de negócio que são realizados em seu ambiente.

Uso da Técnica: quando o trabalho do usuário é dividido em muitos processos executados por vários deptos de negócio e não se tem uma visão global da situação.

Tipos de problemas que ocorrem:
- Reclamações sobre interações desnecessárias;
- Tempo perdido com a falta de habilidade de seguir em frente
- Excesso de erros no local de trabalho

Essa técnica de identificação de problemas tem suas raízes na engenharia industrial.
Processo: uma série de operações que são conduzidas em um departamento e que produzem algum resultado.

Análise: significa estudar um processo e dividi-lo em elementos mais simples e ver como podem ser melhorados.

Nenhum comentário:

Postar um comentário