Baixe o app para aproveitar ainda mais
Prévia do material em texto
Elicitação Eduardo Kinder Almentero ekalmentero@gmail.com Introdução • Citações “There is no sense in being precise about something when you do not even know what you are talking about” (não há sentido em ser preciso sobre algo quando você não sabe sobre o que está falando) Von Neumann – “What is the unknow? (o que é o desconhecido?) – Do you know a related problem? (você conhece um problema relacionado?) – Could you restate the problem?” (você pode reformular o problema?) George Pólya (livro How to Solve it) 15/04/2015 Prof. Eduardo Kinder Almentero 2 Introdução • Principal justificativa para o emprego dos métodos, técnicas e ferramentas da engenharia de requisitos é em função do custo de correção de erros, ou seja, a medida que refinamos nosso software cresce o custo das mudanças efetuadas neste software. • Na engenharia de requisitos cabe à Elicitação a tarefa de identificar os fatos que compõem os requisitos do sistema 15/04/2015 Prof. Eduardo Kinder Almentero 3 Introdução • O que é elicitação? • Elicitar – [Var. elicitar + clarear + extrair] V.t. d. 1. descobrir, tornar explícito, obter o máximo de informações para o conhecimento do objeto em questão. 15/04/2015 Prof. Eduardo Kinder Almentero 4 Tarefas da Elicitação de Requisitos • Identificação das Fontes de Informação • Coleta de Fatos • Comunicação 15/04/2015 Prof. Eduardo Kinder Almentero 5 Discussão • Apesar de intimamente relacionada com as tarefas de Modelagem e Análise, ao destacar a Elicitação, proporcionamos o entendimento e estudo mais minucioso de técnicas específicas para a descoberta de informações. • A maioria destas técnicas não foram criadas no contexto da Engenharia de Software, elas foram “importadas” de ciências sociais como sociologia e psicologia. • Devido a sua importância, é papel do Engenheiro de Requisitos contextualizá-las para uso no processo de desenvolvimento de software. 15/04/2015 Prof. Eduardo Kinder Almentero 6 Identificação de Fontes de Informação • É crucial determinar o contexto onde a ER irá ocorrer. • O primeiro passo é definir o UdI, de onde serão extraídas as informações pertinentes a tarefa de elicitação. • O UdI contém todas as fontes de informação que serão utilizadas na ER. • Pode ser preciso redefinir o UdI, caso a fronteira inicial não tenha sido bem definida. 15/04/2015 Prof. Eduardo Kinder Almentero 7 Técnicas para identificar fontes de informação • Há pouco conteúdo relacionado a este tópico. • Meir D. Burstin (1984), um dos poucos que se aprofundou nesta tarefa, propôs a Árvore Abstrata de Usuários. • A Árvore mapeia os usuários envolvidos no processo e relaciona ao cada usuário um conjunto de requisitos. • Basicamente, este método consegue mapear os usuários e sua hierarquia de forma abstrata, onde usuários com necessidades mais concretas aparecem nas folhas da árvore. 15/04/2015 Prof. Eduardo Kinder Almentero 8 1 1Aqui a palavra usuários tem o mesmo significado que o termo atores empregado na definição do UdI Árvore Abstrata de Usuários • O sistema e os pontos de vista dos usuários 15/04/2015 Prof. Eduardo Kinder Almentero 9 Meir D. Burstin (1984) – Tese de Doutorado Árvore Abstrata de Usuários • Método 1. Determinar o nível mais abstrato de usuário. 2. Decompor todos os usuários abstratos possíveis. 3. Repetir o passo dois horizontalmente e verticalmente, até que nenhuma outra decomposição seja possível. 4. Investigar individualmente cada usuário abstrato elementar e determinar seus requisitos. 15/04/2015 Prof. Eduardo Kinder Almentero 10 Exemplo de Árvore Abstrata de Usuários CEO Diretor Financeiro Gerente de contas Assistente de contas Analista de contas Gerente de compras Diretor Comercial Gerente de vendas Vendedor Gerente de Marketing Fornecedores Profissional de marketing 15/04/2015 Prof. Eduardo Kinder Almentero 11 Requisitos Identificação de Fontes de Informação • É importante lembrar que atores não são a única fonte de informação em um UdI. – Documentos do UdI • Políticas da organização (plano diretor) • Manuais de software/hardware • Memorandos/atas de reunião/ contratos/ e-mails – Livros sobre os temas relacionados – Outros sistemas já existentes na empresa – Outros sistemas já existentes no mercado 15/04/2015 Prof. Eduardo Kinder Almentero 12 Priorização de Fontes de Informação • Normalmente, teremos a disposição uma enorme quantidade de fontes de informação. • Portanto, é preciso priorizar, para que não se perca tempo desnecessariamente. • Quase sempre, é impraticável utilizar todas as fontes de informação disponíveis no UdI. • Não existe regra fixa para priorização, porém, temos algumas heurísticas para nos guiar durante esta tarefa. 15/04/2015 Prof. Eduardo Kinder Almentero 13 Heurísticas para priorização de fontes de informação • Identificar os donos do sistema – pessoas ou setores da organização que são os principais clientes do software (aqueles que irão cobrar a entrega do produto software). • Identificar os atores que serão impactados em suas rotinas de trabalho com a implantação do software. • Identificar a rede de relacionamentos entre os componentes do macro sistema. • Identificar, com a ajuda dos atores mencionados anteriormente, outros que tenham informações pertinentes ao desenvolvimento do software. 15/04/2015 Prof. Eduardo Kinder Almentero 14 Heurísticas para priorização de fontes de informação • Identificar se há grupos de interesse relacionados ao software. • Procurar por soluções e pacotes já disponíveis no mercado. • Ler os documentos mais referenciados pelos atores identificados. • Listar livros e outros sistemas relacionados com o tema ou mencionado pelos atores. • Descobrir, através de perguntas diretas aos atores identificados, quais outras fontes de informação devem ser consultadas. 15/04/2015 Prof. Eduardo Kinder Almentero 15 Heurísticas para priorização de fontes de informação • Uma vez identificadas, as fontes de informação precisam ser averiguadas. • Esta tarefa é realizada na Coleta de Fatos. 15/04/2015 Prof. Eduardo Kinder Almentero 16 Coleta de Fatos 15/04/2015 Prof. Eduardo Kinder Almentero 17 Sá Carvalho, Análise de Sistemas - o Outro Lado da Informática Leitura de Documentos • Consiste na coleta e leitura/estudo de documentos (texto) pelos engenheiros de requisitos. • A leitura de documentos permite o contato com o vocabulário do UdI. • O conhecimento deste vocabulário é extremamente importante, e pode ser visto como o primeiro passo para o entendimento do problema. 15/04/2015 Prof. Eduardo Kinder Almentero 18 Leitura de Documentos • Guia – Identifique o autor/autores do documento. – Identifique o propósito do documento estudado. – Diante de documentos extensos, ou de grande quantidade de documentos, considere a utilização de técnicas relacionadas a mineração de texto. – Utilize ferramentas de busca na Web, com os parâmetros bem ajustados, a fim de encontrar documentos mais relevantes. – Priorize os documentos encontrados. 15/04/2015 Prof. Eduardo Kinder Almentero 19 Leitura de Documentos • Vantagens – Grande volume de informação; – Facilidade de acesso e disponibilidade; – Possibilidade de uso de ferramentas automatizadas; – Contato com o vocabulário do UdI. • Desvantagens – Dispersão de informações; – Volume de trabalho para extrair fatos. 15/04/2015 Prof. Eduardo Kinder Almentero 20 Observação • Envolve olhar para o ambiente de trabalho real, que o usuário experimenta em seu cotidiano. • É utilizada quando desejamosdocumentar um processo existente, normalmente, com objetivo de reprodução ou melhoria. • A observação é uma excelente técnica para entender o cotidiano de trabalho do usuário, e pode fornecer requisitos imediatos de como o processo pode ser melhorado. 15/04/2015 Prof. Eduardo Kinder Almentero 21 Observação • Alguns contextos são melhores do que outros para aplicar a observação. • Ocupações que envolvam trabalho manual repetitivo, ou manufatura, são bons candidatos para uso da observação. • Ocupações que envolvam gerência, ou trabalho intelectual em vez de manual, não são bons candidatos, mas ainda assim existem algumas ocupações que podem ser observadas. • Pode ser necessário realizar várias sessões com o mesmo trabalhador, para que os detalhes sejam documentados. 15/04/2015 Prof. Eduardo Kinder Almentero 22 Observação • Há dois tipos principais de observação: passiva/invisível ou ativa/visível. • Passiva/invisível – O observador não interage com o trabalhador; – Tenta causa o menor distúrbio possível no ambiente (apenas sua presença já causa); – Apenas toma notas do que observa. 15/04/2015 Prof. Eduardo Kinder Almentero 23 Observação • Ativa/visível – O observador pode interromper o trabalhador e realizar perguntas do tipo: • Por que você está fazendo isto neste momento? • Qual é, normalmente, o próximo passo agora? • (Se ocorrer uma exceção) Com que frequência esta exceção ocorre? – Em alguns casos, o observador pode realizar parte do trabalho para uma compreensão mais apurada do processo. – É importante que o observador leve uma lista de perguntas já formuladas para perguntar durante a observação. – Porém, é importante também criar perguntas durante a observação, relacionadas as tarefas executadas no momento. 15/04/2015 Prof. Eduardo Kinder Almentero 24 Observação • Vantagens – Baixo custo; – Pouca complexidade da tarefa. • Desvantagens – Dependência do engenheiro atuando como observador; – Superficialidade devido a pouca exposição ao que está sendo observado. 15/04/2015 Prof. Eduardo Kinder Almentero 25 Entrevista • É a técnica mais utilizada para coleta de fatos. • Pode ser utilizada, praticamente, em qualquer situação. • Existem diversos tipos de entrevistas: – Estruturada • Requer conhecimento prévio para formulação de perguntas – Informal ou não estruturada • Maior flexibilidade. Normalmente utilizada em fase exploratória. – Tutorial • Cliente no comando. Similar a uma aula sobre o UdI 15/04/2015 Prof. Eduardo Kinder Almentero 26 Realizando Entrevista Estruturada • Fases do processo de entrevista estruturada: – Preparar entrevista; – Conduzir entrevista; – Acompanhamento e confirmação pós entrevista. 15/04/2015 Prof. Eduardo Kinder Almentero 27 Modelo Genérico de Entrevista • Parte I – Estabelecer o perfil do entrevistado – Nome: – Empresa: – Cargo: – Quais suas principais responsabilidades? – Quais resultados você produz? – Para quem? – Como o sucesso é medido? – Quais problemas interferem no seu sucesso? – Quais questões tornam seu trabalho mais fácil ou mais difícil? 15/04/2015 Prof. Eduardo Kinder Almentero 28 Modelo Genérico de Entrevista • Parte II – Avaliar o problema – Você precisa de soluções (software) para quais problemas? – Para cada problema, faça as seguintes perguntas: • Porque este problema existe? • Como você lida com ele atualmente? • Como você gostaria de resolvê-lo? 15/04/2015 Prof. Eduardo Kinder Almentero 29 Modelo Genérico de Entrevista • Parte III – Entender o Ambiente do Usuário – Quais são os usuários? – Qual seu histórico educacional? – Qual seu nível de conhecimento em relação a computadores? – Os usuários possuem experiência com este tipo de aplicação? – Quais plataformas estão em uso? – Há aplicações em uso relevantes para esta aplicação? Se houver, fale um pouco sobre elas. – Quais as expectativas com relação a usabilidade do produto? – Quais suas expectativas com relação a tempo de treinamento? – Quais tipos de ajuda ao usuário você precisa? 15/04/2015 Prof. Eduardo Kinder Almentero 30 Modelo Genérico de Entrevista • Parte IV – Recapitular para aprofundar o conhecimento – Você me disse: • ... • ... • ... – Isto representa de forma adequada os problemas que você possui atualmente? – Você possui outros problemas? Quais? 15/04/2015 Prof. Eduardo Kinder Almentero 31 Modelo Genérico de Entrevista • Parte V – Apreciação do engenheiro sobre o problema do cliente (suposições validadas e não validadas) (Se ainda não abordados) Quais problemas, se houver, estão associados com: (fornecer uma lista com necessidades ou problemas adicionais que podem interessar o cliente/usuário) – ... – ... • Para cada problema sugerido, faça as seguintes perguntas: – Este é um problema real? – Quais as razões para este problema? – Como ele é resolvido atualmente? – Como você gostaria de resolvê-lo? – Como você priorizaria a solução deste problema em relação aos outros? 15/04/2015 Prof. Eduardo Kinder Almentero 32 Modelo Genérico de Entrevista • Parte VI – Avaliando sua solução (se aplicável) (Resuma os principais pontos da sua proposta de solução) • E se você pudesse: – ... – ... • Como você classificaria a importância destes pontos? 15/04/2015 Prof. Eduardo Kinder Almentero 33 Modelo Genérico de Entrevista • Parte VII – Avaliando a oportunidade – Quem (papel do usuário), na sua organização, necessita desta solução? – Quantos usuários (que desempenham este papel) utilizariam a aplicação? – Como você valoraria uma solução bem sucedida? 15/04/2015 Prof. Eduardo Kinder Almentero 34 Modelo Genérico de Entrevista • Parte VIII – Determinando as necessidades relacionadas a Confiabilidade, Desempenho e Suporte. – Quais suas expectativas com relação a confiabilidade? – Quais suas expectativas com relação a desempenho? – Você irá dar suporte ao produto? Ou outras pessoas serão responsáveis? – Você possui necessidades especiais relacionadas ao suporte? – E com relação a manutenção e 15/04/2015 Prof. Eduardo Kinder Almentero 35 Modelo Genérico de Entrevista • Parte IX – Outros Requisitos • Parte X – Fechamento • Parte XI – Análise dos dados 15/04/2015 Prof. Eduardo Kinder Almentero 36 Entrevista • Vantagens – Contato direto com os atores que possuem o conhecimento sobre o problema. – Possibilidade de validação imediata do conhecimento. – Podem ser encerradas a qualquer momento. • Desvantagens – Demandam tempo. – Requerem trabalho posterior para análise de dados. – Podem produzir conflito de informação. – Conhecimento tácito. – Diferença de cultura entre entrevistador e entrevistado. 15/04/2015 Prof. Eduardo Kinder Almentero 37 Entrevista • Conhecimento tácito • É aquele que foi adquirido com a experiência, ao longo da vida do entrevistado. • Normalmente é difícil de ser documentado, explicado ou transferido, pois é subjetivo e inerente às habilidades do entrevistado. • É trivial para o entrevistado, por isso não é transmitido. • Ex.: Humor, liderança, andar de bicicleta, etc. 15/04/2015 Prof. Eduardo Kinder Almentero 38 Análise de Protocolos • Esta técnica consiste em analisar o trabalho de uma pessoa perguntando a ela como ele é feito. • Normalmente, isto e feito durante o ato do trabalho, ou seja, a pessoa narra em voz alta o que esta fazendo. • Também é possível pedir para a pessoa narrar, a partir de sua memória, o que faz no trabalho. • Ainda é possível colocar a pessoa diante de uma situação, e pedir a ela para descrever como esta seria resolvida. • O objetivo desta estratégia é estabelecer o raciocínio na execução de tarefas.É muito utilizada em Aquisição de Conhecimento (Inteligência Artificial) 15/04/2015 Prof. Eduardo Kinder Almentero 39 Análise de Protocolos • Vantagens – Elicitar fatos que não são facilmente observáveis. – Permite um entendimento mais aprofundado dos fatos, uma vez que estes são explicados e justificados. • Desvantagens – Depende das habilidades do entrevistado. – Não é possível determinar se o que é dito é realmente o que se faz. 15/04/2015 Prof. Eduardo Kinder Almentero 40 Participação Ativa dos Atores do UdI • Técnica que busca juntar ao grupo de engenheiros de software, atores do UdI. • Estes atores precisam entender as linguagens de modelagem utilizadas. – Para poder ler e criticar • É possível uma maior integração com os atores, envolvendo eles na tarefa de modelagem. • Técnica similar à utilizada em metodologias ágeis. 15/04/2015 Prof. Eduardo Kinder Almentero 41 Participação Ativa dos Atores do UdI • Vantagens – Incentiva o envolvimento de clientes usuários no processo de definição dos requisitos; – Facilita o processo de validação; • Desvantagens – Treinamento do cliente; – Uso de modelos mais simples; – Representatividade dos atores envolvidos. 15/04/2015 Prof. Eduardo Kinder Almentero 42 Enfoque Antropológico • A técnica propõe a integração dos engenheiros de requisitos com o UdI. • A ideia é ampliar o conhecimento do problema. • A integração deve ser feita de forma que o engenheiro tenha as mesmas perspectivas que teria o cliente. • Está relacionada ao emprego de técnicas de etnografia na definição de requisitos. 15/04/2015 Prof. Eduardo Kinder Almentero 43 Enfoque Antropológico • Vantagens – Visão de dentro para fora, mais completa e ajustada ao contexto. • Desvantagens – Tempo para aplicação; – Falta de sistematização. 15/04/2015 Prof. Eduardo Kinder Almentero 44 Reutilização • A ideia é reutilizar fatos coletados anteriormente durante a definição dos requisitos. • Neste caso os fatos devem estar associados a um domínio. – Um domínio seria o encapsulamento do conhecimento de toda uma área de aplicação. • Ao definir os requisitos de um software relacionado a um domínio já elicitado, seria possível reaproveitar os fatos. • A primeira elicitação deve prever uma futura reutilização. 15/04/2015 Prof. Eduardo Kinder Almentero 45 Reutilização • Vantagens – Produtividade; – Qualidade. • Desvantagens – Dificuldade de reutilização no nível de abstração dos requisitos; – Custo da primeira elicitação maior. 15/04/2015 Prof. Eduardo Kinder Almentero 46 Recuperação do Desenho do Software • Implica no estudo de software disponíveis na organização. • Muitas vezes o software não possui documentação adequada, o que demanda um trabalho de arqueologia. – Recuperação da arquitetura e requisitos • A reengenharia, como forma de recuperar o que foi feito e otimizar trabalho de manutenção, é um tópico que tem recebido muita atenção. – Principalmente propostas automatizadas. 15/04/2015 Prof. Eduardo Kinder Almentero 47 Recuperação do Desenho do Software • Vantagens – Disponibilidade de informações; – Possibilidade de reuso (uma vez recuperadas as informações). • Desvantagens – Dispersão de informações; – Grande quantidade de trabalho (difícil de automatizar 100% do processo); – Dificuldade de reuso. 15/04/2015 Prof. Eduardo Kinder Almentero 48 Questionários • São utilizados quando se possui um bom conhecimento sobre o problema e se quer consultar um grande número de pessoas. • Se bem planejados, podem permitir análises estatísticas. • Podem ser fechados ou abertos. – Fechados • Possuem respostas pré-definidas; • Possibilitam análise quantitativa (estatística); • Permitem avaliar como certos aspectos do software são percebidos por um grande número de atores. – Aberto • Permitem escrita livre da resposta. • Mais difícil e custoso analisar respostas. 15/04/2015 Prof. Eduardo Kinder Almentero 49 Guia Para Construir Questionários • Seja explicito ao definir os objetivos do seu questionário. – O questionário pode ser criado para suscitar confiança entre os respondentes e influenciar as expectativas sobre benefícios e custos sobre o preenchimento do questionário. – Formas aumentar a confiança em um questionário: • Fornecer sinais de apreço com antecedência; • Indicar claramente que o pedido (para responder o questionário) é legítimo e pode incitar mudanças; • Fazer com que questionário pareça importante; • Indicar como os dados serão utilizados. 15/04/2015 Prof. Eduardo Kinder Almentero 50 Guia Para Construir Questionários • Sugestões para aumentar a recompensa aos respondentes: – Projetar um questionário interessante; – Utilizar linguagem positiva para que o respondente se sinta um colaborador; – Prover recompensas tangíveis; – Agradecer pela ajuda; – Pedir conselhos às pessoas. • Sugestões para reduzir o custo de completar um questionário: – Evitar questões embaraçosas; – Minimizar a necessidade de informação pessoal; – Fazer com que cada questão seja relevante e evitar questionários longos; – Permitir que os respondentes alterem suas respostas de forma fácil (questionário online) 15/04/2015 Prof. Eduardo Kinder Almentero 51 Guia Para Construir Questionários • Crie protótipos do questionário e os revise – A comparação pode ser feita com princípios de projeto de questionário. • Os princípios devem abordar linguagem, relevância, layout, categorias de respostas e ordenação das questões. – É recomendado solicitar para outras pessoas revisarem o questionário. – Utilize o questionário com algumas pessoas que não estão diretamente relacionadas com o processo de definição e observe suas reações. 15/04/2015 Prof. Eduardo Kinder Almentero 52 Guia Para Construir Questionários • Crie um plano para análise de dados – Um erro comum ao projetar um questionário é não definir como as respostas serão contabilizadas. – Exemplos que podem dificultar a análise: • Como você irá lidar com questões não respondidas? • E respostas exóticas? • Pessoas que circulam mais de uma resposta, quando você deseja apenas uma? – Também é importante definir hipóteses (fatos) e definir quais questões serão utilizadas para testá-las. 15/04/2015 Prof. Eduardo Kinder Almentero 53 Guia Para Construir Questionários • Conduzir uma avaliação com usuários reais – Selecionar um conjunto pequeno de usuários; • Ou pessoas o mais próximo dos usuários esperados quanto possível. – Solicitar o preenchimento do questionário sob condições realistas; – Solicitar o feedback; – Realizar as alterações finais no questionário de acordo com o feedback obtido. 15/04/2015 Prof. Eduardo Kinder Almentero 54 Guia Para Construir Questionários • Princípios para o design do questionário – Garantir que sua primeira questão seja relevante para todos, fácil e interessante. – Evite opções de respostas vagas quando é possível utilizar opções mais precisas. • Ex.: • Com que frequência você ____ no último mês? • De: – Nunca – Raramente – Ocasionalmente – Regularmente • Por: – De modo nenhum – 1 a 3 vezes – Uma vez por semana – Uma vez por dia 15/04/2015 Prof. Eduardo Kinder Almentero 55 Questionários • Vantagens – Padronização de perguntas; – Possibilidade de tratamento estatístico das respostas; – Permitem consultar um grande número de atores com menor esforço. • Desvantagens – Limitação do universo de respostas; – Pouca interação (não é possível fazer validação simultânea). 15/04/2015 Prof. Eduardo Kinder Almentero 56 Reuniões • Podem ser classificadas de várias formas, dependendo de sua organização. • Podemser uma extensão do conceito de entrevista ou como uma forma de obter uma participação mais ativa dos atores do UdI. • Técnicas de brainstorm podem ser utilizadas nas fases de exploração de requisitos. • Técnicas como JAD têm sido utilizadas com sucesso para acelerar o processo de definição de requisitos. 15/04/2015 Prof. Eduardo Kinder Almentero 57 Reuniões Brainstorm • É proibido criticar qualquer coisa • É permitido ter ideias. – Melhor ainda se forem boas. • Qualquer um pode aproveitar qualquer ideia proposta e melhorá-la. • As ideias propostas em um brainstorming são de propriedade coletiva e não individual. • Todos os participantes devem conhecer os objetivos do projeto. 15/04/2015 Prof. Eduardo Kinder Almentero 58 Regra geral: É proibido proibir! Reuniões Brainstorm • Técnicas para condução de Brainstorm – Inicie a sessão divulgando CLARAMENTE seus objetivos; – Certifique-se que cada participante compreendeu exatamente os objetivos (obter feedback); – Convide “historiador” para anotar cada ideia quadro; – Anote com clareza e precisão; – Não deixe que se percam as ideias • Havendo várias ideias simultâneas, peça que cada um anote as suas ideias numa folha para depois passá-las para o quadro. 15/04/2015 Prof. Eduardo Kinder Almentero 59 Reuniões Brainstorm • Técnicas para condução de Brainstorm – Incentive a participação de todos; – Evite que ideias sejam discutidas, seja qual for o pretexto; – Não tente esmiuçar, detalhar ou entender uma ideia; – Não permita que hajam justificativas para uma ideia; – A sessão deve durar entre 15 e 60 minutos; – O clima deve ser descontraído, mas evite a confusão; – Após a sessão de brainstorming, deve haver um estudo de viabilidade e adequação para cada ideia. • Organização de ideias 15/04/2015 Prof. Eduardo Kinder Almentero 60 Reuniões Brainstorm • O que não fazer – Isso não é possível ... – Não temos tempo para ... – Tudo isso já foi tentado ... – No momento não estamos em condições ... – Na prática as coisas são diferentes ... – Se isso fosse útil, alguém já teria tido a ideia ... – Isso é muito antiquado ... – Isso é moderno demais ... – Vamos voltar a conversar no início do próximo ano ... – Já temos muitos projetos ... – Você sabe que isso não funciona ... – Não temos nada com isso ... 15/04/2015 Prof. Eduardo Kinder Almentero 61 Reuniões Brainstorm • O que não fazer: – Vamos esperar os acontecimentos ... – Melhor seria pensarmos um pouco mais ... – Se você acha que no nosso País isso vai funcionar ... – Isso é contra o regulamento ... – Parece bom, mas ... duvido que funcione ... – Isso só vai dar mais trabalho ... – Acho que alguém vai ficar furioso quando souber disso ... 15/04/2015 Prof. Eduardo Kinder Almentero 62 Reunião JAD (Joint Application Design) • Estrutura as reuniões, de forma que é possível obter um clima de cooperação. • O conceito de JAD surgiu na IBM em 1977, e entrou no Brasil na década de 80. • A ideia principal é que, orientados por um guia, usuários e especialistas projetam o sistema juntos, através de sessões estruturadas, onde cada um tem seu papel bem definido. 15/04/2015 Prof. Eduardo Kinder Almentero 63 JAD x Tradicional • Abordagem com JAD – Compromisso – Coesão do Grupo – Reuniões Produtivas – Papéis bem definidos – Processo de trabalho estruturado – Recursos visuais dinamizam o trabalho 15/04/2015 Prof. Eduardo Kinder Almentero 64 • Abordagem Tradicional – Um conjunto de entrevistas individuais – Pessoas chaves não são facilmente encontradas – Terminologia pessoal e técnica – Comunicação lenta – Tempo de feedback muito demorado – O problema do “Nós x Eles” – O problema do “ Eu mudei de ideia ...” – O problema das visões separadas Reunião JAD • Participantes – Patrocinador executivo • Pessoa da organização do cliente que tem a autoridade final para tomar decisões sobre o projeto. • Principais responsabilidades: resolver conflitos com regulamentações do negócio, honrar os resultados da reunião JAD, assegurar o acesso da equipe aos detentores de conhecimento e garantir seu comprometimento – Facilitador • Principais responsabilidades: organizar e agendar as atividades JAD, mediar disputas, encorajar a participação, manter o foco, permitir a tomada de decisão através da sumarização das discussões, não deve ter interesse pessoal no resultado da reunião. 15/04/2015 Prof. Eduardo Kinder Almentero 65 Reunião JAD • Participantes (cont.) – Usuário • Principais responsabilidades: prover conhecimento sobre o negócio, representar as direções técnicas, estratégicas e operacionais do negócio, representar os principais grupos de usuários, representar múltiplos níveis da organização. – Representante de TI • Principais responsabilidades: dar conselho técnico quando necessário, ajudar a desenvolver modelos e especificações lógicas e construir protótipos, ajudar o usuário a converter ideias em modelos de requisitos, assegurar que as restrições técnicas estejam representadas, desenvolver entendimento sobre os objetivos do negócio, prioridades e estratégias. 15/04/2015 Prof. Eduardo Kinder Almentero 66 Reunião JAD • Participantes (cont.) – Historiador • Principais responsabilidades: esclarecer pontos e capturá- los corretamente, não deve atuar como facilitador em nenhum momento, pode solicitar ao facilitador a interrupção da sessão para obter esclarecimentos. – Observador • Principais responsabilidades: assistir e ouvir, aprender sobre as necessidades dos usuários e decisões tomadas, interagir com os participantes e facilitador apenas durante intervalos. 15/04/2015 Prof. Eduardo Kinder Almentero 67 Reunião JAD • Ciclo de vida JAD genérico – Planejamento/Definição – Preparação – Projetar sessões – Finalização 15/04/2015 Prof. Eduardo Kinder Almentero 68 Planejamento/Definição • Atividades – Designar o patrocinador executivo; – Estabelecer a necessidade para o sistema; • Quais são os benefícios esperados? • Quais oportunidades atende? • Quais problemas resolve? • Quais são os riscos? – Definir a equipe que irá participar da fase de definição. 15/04/2015 Prof. Eduardo Kinder Almentero 69 Preparação • Atividades – Agendar sessões de projeto; – Realizar os treinamentos necessários; • Uma técnica específica será empregada nas reuniões e todos devem conhecê-la. – Preparar o material necessário: software, sala, etc. – Preparar agenda de sessões; – Conduzir a reunião de início. 15/04/2015 Prof. Eduardo Kinder Almentero 70 Projetar sessões • Atividades – Revisar o escopo do projeto, seus objetivos e o documento de definição; – Identificar dados, processos e requisitos do sistema; – Identificar interfaces do sistema; – Desenvolver protótipo – Documentar decisões, problemas, e definições de termos; – Designar pessoas para resolver todos os problemas encontrados. 15/04/2015 Prof. Eduardo Kinder Almentero 71 Finalização • Atividades – Completar os documentos de projeto; – Realizar apresentação para o patrocinador executivo; – Demonstrar o protótipo criado; – Obter autorização do patrocinador executivo para prosseguir; – Avaliar o processo JAD. 15/04/2015 Prof. Eduardo Kinder Almentero 72 Benefícios de reuniões JAD • Acelera o projeto; • Melhora a qualidade; • Promove um trabalho em equipe envolvendo o cliente; • Cria um projeto da perspectiva do cliente; • Por que esses benefícios? – Tomadores de decisão envolvidos; – O facilitador mantém o grupo focado nos objetivos; – Conflitos de pontos de vista são resolvidos rapidamente; – Problemas são resolvidos rapidamente; – Decisões são documentadase entendidas; – O sistema reflete os desejos dos usuários. 15/04/2015 Prof. Eduardo Kinder Almentero 73 Reuniões • Vantagens – Dispor de múltiplas opiniões; – Criação coletiva. • Desvantagens – Possibilidade de dispersão; – Custo. 15/04/2015 Prof. Eduardo Kinder Almentero 74 Heurísticas Gerais de Coleta de Fatos • Perguntar, perguntar e perguntar; • Sempre perguntar: o que? Porque? Como? Por quem? • Pergunte o óbvio; • Se possível, viva do UdI por um tempo; • Observe; • Seja humilde, procure aprender; • Registre o rastro entre fontes de informação e fatos. 15/04/2015 Prof. Eduardo Kinder Almentero 75 Comunicação • Para que a elicitação ocorra com sucesso, é essencial que os engenheiros de requisitos se comuniquem de forma eficaz com atores do UdI. • Existem barreiras para esta comunicação, que não são fáceis de resolver. – Diferença de conhecimento; – Culturas diferentes – Conhecimento tácito 15/04/2015 Prof. Eduardo Kinder Almentero 76 Comunicação 15/04/2015 Prof. Eduardo Kinder Almentero 77 Técnicas para Comunicação • Diversos aspectos devem ser considerados para facilitar a comunicação entre atores e engenheiros de requisitos. • Apresentação – Maneira com ao informação é apresentada. – Diferentes formas de apresentação dificultam ou auxiliam a compreensão. • Depende da cultura, conhecimento, experiência, etc. – Aspecto válido em ambas as direções: engenheiroclientes e clientesengenheiros. 15/04/2015 Prof. Eduardo Kinder Almentero 78 Técnicas para Comunicação • Entendimento – Estabelecer um contexto comum facilita o entendimento. • Ex.: 5, 10, 2, 9, 8, 6, 7, 3, 1 – Portanto este deve ser o objetivo principal para se iniciar um entendimento mútuo entre clientes e engenheiros. • Linguagens – São reflexos de culturas. Culturas diferentes tem linguagens diferentes. – O engenheiro deve entender primeiro a linguagem, antes de procurar entender o problema. – O entendimento da linguagem do cliente é importante como facilitador da comunicação. 15/04/2015 Prof. Eduardo Kinder Almentero 79 Técnicas para Comunicação • Nível de abstração – Mesmo dentro de uma única cultura a comunicação pode ter ruído, se os indivíduos dialogarem em diferentes níveis de abstração. • Retroalimentação – Uma forma eficaz de assegurar a transferência correta de informações é pedir ao receptor para explicar, com suas palavras, o que foi informado. – Isto deve ser feito até que o emissor esteja satisfeito com a resposta. 15/04/2015 Prof. Eduardo Kinder Almentero 80 Modelo de Precisão (Bostrom, 1989) • Técnica de programação neurolinguística, que tem como objetivo reduzir os ruídos na comunicação entre engenheiros e atores durante a definição de requisitos. • O Modelo de Precisão identifica três grupos de problemas em comunicação, e apresenta heurísticas para evitá-los. 15/04/2015 Prof. Eduardo Kinder Almentero 81 Modelo de Precisão • Padrões de referência: similar ao problema do entendimento (contexto). – Resultados • Sugere a confirmação dos objetivos entre os participantes. • Ex.: qual a intenção desta reunião? O que queremos atingir com a reunião? – Retrocesso • Retroalimentação – verificação de afirmação anterior • Ex.: vamos resumir o que foi discutido até o momento... – Se • Padrão que procura estimular a criatividade, criando situações fictícias • Ex.: Se você fosse o usuário, como agiria nesta situação? 15/04/2015 Prof. Eduardo Kinder Almentero 82 Modelo de Precisão • Procedimentos: conjunto de afirmações verbais, ou questões que permitem orientar a entrevista, assegurando que a discussão permaneça dentro do padrão de resultados previsto. – Evidência – Define as características de um estado desejado. • Como identificar que o resultado foi alcançado? Que evidências sugerem isso? – Relevância - Manter o foco no que é importante (objetivos) • Ex.: A pergunta é interessante, mas não tem ligação com o objetivo. 15/04/2015 Prof. Eduardo Kinder Almentero 83 Modelo de Precisão • Ponteiros: tem como objetivo tornar mais claro expressões vagas. – A Especificidade é crucial para a identificação precisa de requisitos. – Ex.: O sistema deve ser rápido • Gera um relatório em 10 min? Ou em 10 segundos? – O uso de ponteiros reduz a lacuna semântica • O que você quer dizer com o sistema deve ser rápido? • Quanto tempo a forma atual demora? • Quanto tempo você espera que o sistema demore? 15/04/2015 Prof. Eduardo Kinder Almentero 84 Heurísticas Gerais de Comunicação • Utilize, sempre que possível, figuras; • Utilize via dupla de comunicação (retroalimentação); • Evite ruídos; • Evite metáforas com sua área de conhecimento (computação); • Procure identificar o ponto de vista de seu interlocutor. 15/04/2015 Prof. Eduardo Kinder Almentero 85 Perguntas?
Compartilhar