Agenda Alline de Melo Lemos alline@ufpa.br Márcio Kuroki Gonçalves kuroki@ufpa.br! Introdução!! Estudo de Caso! Considerações Finais Agenda! Introdução!! Estudo de Caso! Considerações Finais Introdução! Desafio em desenvolvimento de software "Qualidade " Baixo custo "Entrega no prazo! Desenvolvimento de novas metodologias, ferramentas, técnicas, etc.
Introdução! Engenharia de Requisitos (ER) "Área da ES responsável pelo estudo e desenvolvimento de técnicas que auxiliam no processo de definição e manutenção dos requisitos de software durante todo o projeto (Sommerville 2005) Introdução! Processo de Engenharia de Requisitos " Elicitação, análise, especificação, modelagem, validação " Elicitação de requisitos! Estudos etnográficos! Entrevistas! Cenários! Prototipagem! Teste de usabilidade, etc. Introdução! Estudos etnográficos " Os softwares são utilizados em um contexto social e organizacional e os seus requisitos podem ser influenciados ou limitados por esse contexto! Requisitos implícitos -> refletem os processos! Crucial quando não se tem embasamento teórico sobre o domínio do problema! Alteração no comportamento das pessoas! Visão parcial da realidade (envolvimento) Introdução! Entrevistas (muito utilizada) [Dewalt & Dewalt 2002] " O engenheiro de requisitos discute o sistema com diferentes usuários, a partir do qual elabora um entendimento de seus requisitos.! Informais! Não estruturadas! Semi-estruturadas! Estruturada! Questionários
Introdução! Cenários " Seqüência de eventos -> Propósitos de uso do sistema " Acrescentam detalhes aos esboços dos requisitos! Segundo Weidenhaupt et al (1998), os cenários podem ser: " Texto narrativo, texto estruturado, diagramas, imagens, animações e simulações Introdução! Exemplos da vida real melhor assimiladas do que descrições abstratas! Melhor compreensão " É sexta feira à tarde e Joe está de vôo marcado para Sidney. Ele não tem dinheiro suficiente do táxi para o aeroporto, e ele está atrasado. Ele vai a um terminal de auto-atendimento e se identifica. Ele especifica que quer $100 de sua conta poupança. Ele gostaria que o dinheiro viesse em notas de $20 para que assim ele pudesse pagar o motorista de táxi. Ele não quer um recibo impresso, porque não se importa em se manter a par de transações nesta conta. Introdução! Prototipagem [Pfleeger 2004] "Melhorar o sistema antes de ele ser finalizado " Freqüente troca de requisitos! Versões concretas mas parciais da aplicação " Geralmente utilizados para! User Interfaces, e! Validação dos requisitos Introdução! Teste de Usabilidade " Usuários tentam realizar tarefas típicas do sistema enquanto alguém os observa (olha, ouve, toma nota)! Relatório com recomendações à equipe de design "Heurística do 5W1H para coleta dos dados! What? Who? When? Where? Why? How?
Introdução! Processo de Engenharia de Requisitos " Análise e negociação dos requisitos! Categorizar e organizar os requisitos! Verificando consistências, omissões e ambigüidades! Lidar com requisitos conflitantes (reuniões com os interessados) " Especificação dos requisitos! Documentação dos requisitos analisados " Usuário em linguagem natural " Desenvolvedores com termos técnicos # Função, desempenho e restrições " Modelagem do sistema! Modelos baseados nos requisitos para representar o que o sistema deve fazer Diagrama de fluxo de um sistema CBR Fonte: Vergara, 2005 Introdução! Processo de Engenharia de Requisitos " Validação dos requisitos! Verifica se os requisitos estão de acordo com a especificação! Assegurando que os requisitos atendem as necessidades dos clientes " Atividades de Apoio! Gestão de requisitos " Identificar, controlar, rastrear requisitos e modificações " Matriz de rastreabilidade " Qualidade Matriz de rastreabilidade Fonte: Pressman, 2002, p. 255
Introdução! Engenharia de Requisitos " Técnicas para o desenvolvimento correto dos requisitos do sistema.! Garantia contra falhas?!! Não! Apenas reduz a probabilidade Introdução! Pesquisa da Standish Group 1995-96 " Problemas relacionados aos requisitos " Apesar do investimento pesado em ER! Muitos projetos ainda falham Razões pelas quais os projetos falham Fonte: Pfleeger, 2004, p. 112 Introdução! Curtis et al. [1988] " Dificuldades em determinar funcionalidades! Desconsidera o meio em que o sistema atuará "Usuário! Expressar de forma clara " Engenheiros! Interpretação (áreas de conhecimento diferentes)
Introdução! Projeto Centrado no Usuário (User- Centered Design - UCD) "Citado pela primeira vez em 1986 por Norman & Draper! Projetar sistemas refletindo a forma como os usuários desenvolvem seus trabalhos cotidianamente Introdução! "Parte do princípio da UCD! Auxilia na Engenharia de Requisitos " Coleta de dados detalhados! Pessoas! Sistemas de Informação! Auxilia projetistas " Visão geral do trabalho pela organização estudada Agenda! Introdução!! Estudo de Caso! Considerações Finais Introdução
! Processo centrado no usuário ou no cliente (customer-centered process) " Projeto de sistemas que refletem a forma como os usuários realizam suas tarefas cotidianamente! é um PCU " Projetistas entendem como o cliente trabalha " Coleta e interpretação de dados " Aptidão para desenvolver sistemas que atendam aos requisitos destes clientes de forma satisfatória Investigação Contextual Etapas Converse com os usuários enquanto trabalham
! Investigação Contextual " Entrevistar os usuários enquanto trabalham " Modelo de relacionamento: Mestre / Aprendiz! Contexto! Parceria! Interpretação! Foco " Artefato: notas de campo, arquivos de áudio, etc. Sessão de Interpretação Interprete os dados junto a uma equipe multifuncional! Sessão de Interpretação "Projetistas compartilham seus entendimentos acerca dos usuários! Entrevistador! Modeladores (flip-chart)! Registrador ou escriba! Participantes (moderador / observadores)! Sessão de Interpretação " Modelos de trabalho! Modelo de fluxo! Modelo de seqüência! Modelo de artefato! Modelo cultural! Modelo físico "Artefato: modelos de trabalho
! Sessão de Interpretação "Modelo de fluxo Fonte: Adaptado de Beyer & Holtzblatt, 1998, p.92! Sessão de Interpretação " Modelo de seqüência Intenção Evento disparador Passos Ordens (loops ou branchs) Interrupções Fonte: Adaptado de Beyer & Holtzblatt, 1998, p.98
! Sessão de Interpretação " Modelo de artefato Informação Partes Estrutura Anotações Apresentação Utilização Interrupções Fonte: Adaptado de Beyer & Holtzblatt, 1998, p.104! Sessão de Interpretação " Modelo cultural Influenciadores Influência Interrupções Fonte: Adaptado de Beyer & Holtzblatt, 1998, p.114
! Sessão de Interpretação " Modelo físico Lugares Estruturas Uso / Movimento Ferramentas Artefatos Interrupções Fonte: Adaptado de Beyer & Holtzblatt, 1998, p.121! Sessão de Interpretação Uma sessão de interpretação não pode ser considerada como desperdício de tempo. Ela deve ser vista como uma forma eficiente de transformar uma simples entrevista em dados extremamente úteis, registrados em um formato que pode ser salvo, comunicado e usado como guia para o projeto de um sistema Consolidação Consolide os dados coletados a partir das entrevistas com os usuários
! Consolidação! " Sistemas são desenvolvidos para uma população de clientes " Identificar pontos em comum (patterns) nas atividades destas pessoas " Elaborar um único conjunto de modelos de trabalho e um único diagrama de afinidades " Artefatos: modelos de trabalho consolidados + diagrama de afinidades Consolidação " Mas o que é um diagrama de afinidades?!! Consolidação " Modelos Fonte: http://www.npd-solutions.com/affinitydiagram.html de trabalho consolidados
Modelo cultural consolidado Modelo de fluxo consolidado Fonte: Adaptado de Beyer & Holtzblatt, 1998, p.242 Fonte: Adaptado de Beyer & Holtzblatt, 1998, p.196 Redesenho do trabalho Invente soluções baseadas nas práticas de trabalho do usuário! Redesenho do trabalho " Um sistema bem-sucedido deve aperfeiçoar a prática de trabalho de seus usuários " Desafio da equipe de projetistas: inventar e estruturar um sistema bem-sucedido, que não foque somente em soluções tecnológicas " Aceitação mais rápida e natural: permitir que os usuários enxerguem o impacto que o novo sistema exercerá em suas tarefas " Artefato: Storyboards
! Redesenho do trabalho " Redefinição de papéis " Treinamento de clientes " Mudança no ambiente físico " Mudança nos artefatos " Adoção de melhores práticas de trabalho "Etc.! Redesenho do trabalho " Storyboards! Mostram como as pessoas trabalhariam com o novo sistema! Asseguram que os modelos de trabalho sejam considerados! Mostram QUAIS passos acontecem e não COMO acontecem Projeto de Ambiente do Usuário Estruture o sistema de forma a apoiar as novas práticas de trabalho Fonte: Sison, 2003
! Projeto de ambiente do usuário "Equivale à planta de uma casa na arquitetura " Arquitetos: enxergar todos os cômodos de uma casa e a relação entre eles " Projetistas: enxergar todos os módulos do sistema, quais funcionalidades estão presentes em cada módulo, como estes módulos se relacionam " Artefato: UED (user environment diagram)! Projeto de ambiente do usuário " Mas o que é um UED?!! Diagrama de ambiente do usuário (UED)! Assegura que a estrutura do sistema está correta e de acordo com as exigências de seus usuários! Ignora quaisquer detalhes de interface com usuário e implementação Prototipagem em Papel Itere com o cliente por meio de rascunhos em papel Fonte: Adaptado de Beyer & Holtzblatt, 1998, p.307
! Prototipagem em papel " Última fase da metodologia ( teste do sistema ) "(Flashback: a é um PCU!) " Protótipos em papel (Projeto Participativo) " Clientes podem experimentar e refinar o sistema de forma mais real, a um baixíssimo custo, e sem commitar uma única linha de código Quando eu clicar neste botão,deve acontecer isto...! Prototipagem em papel " Processo simples: muitas iterações " Identificação precoce de problemas " Baixo custo para reparar erros "Notas de Post-it ou rascunhos no papel! Menus! Janelas! Botões! Caixas de diálogos! Etc. Fonte: http://www.sapdesignguild.org/resources/glossary_web/index2.html Fonte: http://www.snyderconsulting.net/article_paperprototyping.htm
! Resumão das etapas: Consolidação Sessão de Interpretação Investigação Contextual Transição para Implementação Storyboards Mudanças nas práticas de trabalho UED Como organizar o sistema para apoiar uma determinada tarefa Prototipagem em papel Aparência e layout Trabalhe com a equipe de desenvolvimento para tornar real o projeto! Transição para implementação "Projeto é só a primeira etapa, mas é crítica! " Projeto completo = descrição estável, consistente e funcional do sistema a ser construído "Existe uma série de técnicas que auxiliam a implementação de um sistema! Especificação funcional (storyboards)! Desenvolvimento ágil (prototipagem em papel)! Etc. Agenda! Introdução!! Estudo de Caso! Considerações Finais
Estudo de Caso! Contexto " Empresa de móveis para escritório há sete anos no mercado! 14 funcionários: diretor, gerente administrativa, gerente financeiro, vendedoras internas e externas, designer, entregadores, montador interno e servente! 6 departamentos: administração, compra, venda, finanças, projetos e estoque / entrega! 2 sistemas em uso: atividades varejistas e atividades contábeis. Estudo de Caso! Estrutura da Empresa " Administração! Gerente Administrativo " Compromissos do Diretor " Solução de problemas emergenciais " Emissão de NF " Fechamento diário do caixa " Coordenação das entregas do dia " Atualização de preço no sistema " Compra! Diretor e Gerente Administrativo " Pedido de compra aos fornecedores " Atualização do estoque quando a mercadoria chega " Venda (Interna e Externa)! Vendedores Estudo de Caso Estudo de Caso! Estrutura da Empresa " Finanças! Gerente Financeiro " Responsável pelo dinheiro auferido " Pagamento de contas, impostos, funcionários, etc. " Compra de material de expediente " Projetos! Designer (Arquiteto) " Estudo e criação de projetos CAD de acordo com o ambiente do cliente " Estoque / entrega! Entregadores e Gerente Administrativa " Recebimento de mercadorias " Manutenção do estoque " Entregas! Investigação Contextual "Duração de 2 meses " 6 entrevistas semi-estruturadas (20 a 30 minutos)! Diretor, gerente administrativa, duas vendedoras internas, designer e vendedora externa! Gravadas em arquivos digitais de áudio " Consentimento dos entrevistados
Guia para entrevistas Estudo de Caso 1. Qual é seu CARGO? 2. Quais são suas TAREFAS? 1. Quanto TEMPO, em média, você gasta para realizá-las? 3. Como cada tarefa é realizada (DESCRIÇÃO)? Por favor, descrevaas. 4. Quais FERRAMENTAS são utilizadas na realização de suas tarefas? 1. SISTEMAS da empresa? 1. Onde o sistema da empresa é vantajoso? 2. Onde o sistema da empresa é desvantajoso? 2. WORD? 5. Quais os ARTEFATOS de ENTRADA? 6. Quais os ARTEFATOS de SAÍDA? 7. Suas tarefas DEPENDEM DE ALGUÉM? 8. Alguém DEPENDE DE VOCÊ para realizar suas tarefas?! Investigação Contextual "6 entrevistas contextuais (1 a 2 horas)! Apenas anotadas! Vendedora A também é a Design Estudo de Caso! Interpretação " Elaboração dos modelos de trabalho individuais! de fluxo, de seqüência, de artefato, cultural e físico " Por meio dos dados da Investigação Contextual foi possível identificar! Papéis;! Relacionamento Interpessoais;! Artefatos;! Seqüência nas atividades;! Relações culturais; e! Restrições físicas Estudo de Caso! Interpretação " Inicialmente Divisão de Funcionários por papéis " Os papéis relevantes englobavam atividades relacionadas! Compra, Venda e Entrega aos clientes. " Setor Administrativo e Financeiro! Foram desconsiderados! Envolviam informações sigilosas
Estudo de Caso! Interpretação " Assim, os funcionários que deveriam ter os modelos construídos foram:! Gerente administrativa, designer, vendedores internos, vendedores externos e entregadores " Modelo de Fluxo e Físico Modelo de Fluxo Gerente Administrativa " Modelos de Artefatos! Inseridos aos Modelos quando necessários para a compreensão do texto. Modelo de Fluxo Designer Modelo de Fluxo Vendedora Interna A
Modelo de Fluxo Vendedora Externa A Modelo de Fluxo Vendedora Externa B Modelo de Fluxo Entregador Estudo de Caso! Interpretação " Modelo Físico! Gerente Administrativa! Designer! Vendedoras Internas " Vendedoras Externas e Entregadores! Modelos físicos não construídos
Modelo Físico Gerente Administrativa Modelo Físico Designer / Vendedora Interna A Estudo de Caso Modelo de Seqüência Compra! Interpretação " Modelo de Seqüência! Compra! Venda! Entrega
Modelo de Seqüência Venda Modelo de Seqüência Entrega Estudo de Caso Modelo Cultural Compra! Interpretação " Modelo Cultural! Compra! Venda! Entrega
Modelo Cultural Venda Modelo Cultural Entrega Estudo de Caso Modelo de Fluxo Consolidado! Modelos Consolidados " Elaboração dos Modelos de Fluxo, Físico e Cultural consolidados "Idéia central é de unir todas as informações coletadas em um único modelo! Melhor visualização e! Compreensão da organização estudada
Modelo Físico Consolidado Estudo de Caso! Problemas identificados " Vendedoras! Realizar consultas " " Usar sistema desktop Interromper a designer " Vendedoras! internas externas Realizar todas as tarefas " Todas as tarefas dependem de um PC " Entregadores! Localizar endereços " Falta de conhecimento da cidade, de comunicação entre vendedores e entregadores e de organização no planejamento das entregas Modelo Cultural Consolidado Estudo de Caso! Redesenho do trabalho " Proposta de solução
Estudo de Caso! Redesign do modelo físico " Aquisição de uma impressora multifuncional! Xerox " Realocação da Impressora e do Fax! Redesign organizacional " Contratação! Recepcionista " Auxiliar a Gerente Administrativa " Design sem o papel de Vendedora! Foco na criação dos projetos " Relatório para evitar falhas na entrega! Punição para os responsáveis Estudo de Caso! Projeto de Ambiente do Usuário (UED) " Funcionalidades e estrutura do sistema sem se preocupar com IU e implementação
Estudo de Caso Agenda! Resultados " Validados pelo Diretor, com algumas observações importantes! Já tinha em mente algumas sugestões " Vendedoras e entregadores utilizarem PDAs! Entretanto não detinha a visão do impacto que elas causariam nas práticas de trabalho de sua empresa " Trabalho será avaliado pela empresa junto ao prestador de serviços de TI! Introdução!! Estudo de Caso! Considerações Finais Considerações Finais! Avaliação geral da técnica (positiva) " Proximidade alcançada entre projetistas e clientes e riqueza de informações " Representação formal de dados qualitativos facilitada pela notação sugerida pela técnica! Facilidade na elaboração dos modelos de fluxo, de seqüência e físicos " Ilustração das soluções por meio de storyboards Considerações Finais! Avaliação geral da técnica (cont.) " Alto poder de adaptabilidade da técnica! Adequação à equipe reduzida! Adição de entrevistas semi-estruturadas! Ausência de obrigatoriedade na execução de alguns passos " Elaboração de alguns modelos de trabalho " Realização de sessões de interpretação " Utilização de diagramas de afinidade
Considerações Finais! Contribuições do trabalho "Avaliação da técnica Contextual Design indicando vantagens e adaptações realizadas "Disseminação de uma técnica de processo centrado no cliente Alline de Melo Lemos alline@ufpa.br Márcio Kuroki Gonçalves kuroki@ufpa.br