Estudo de Atividades Humanas na Engenharia de Requisitos Rafael Seabra Melo Correia [email protected] cin.ufpe.br Roteiro • Engenharia de Requisitos • Estudo de Atividades Humanas na ER • Processos que Integram Estudos Sociais na ER • Desafios • Considerações Finais cin.ufpe.br Engenharia de Requisitos cin.ufpe.br Engenharia de Requisitos • Fase inicial do processo de desenvolvimento de software que compreende desde estudos iniciais sobre a organização até a especificação do futuro sistema a ser implantado [SOMMERVILLE 1997] • Envolve não apenas aspectos técnicos, possuindo também forte influência de fatores organizacionais e sociais [NUSEIBEH 2000] • Estudos mostram que os principais problemas associados ao insucesso dos projetos de software estão relacionados à etapa de Engenharia de Requisitos [THE STANDISH GROUP 1995; EUROPEAN SOFTWARE INSTITUTE 1996] cin.ufpe.br Engenharia de Requisitos (cont.) • Quanto mais tarde problemas com requisitos são detectados no processo de desenvolvimento, maior é o custo para corrigi-los. O sucesso das etapas posteriores do processo de desenvolvimento depende da qualidade da especificação de requisitos gerada [LEFFINGWELL 2000] • Engenharia de Requisitos é classificada como uma das fases mais críticas do desenvolvimento de software. cin.ufpe.br Engenharia de Requisitos (cont.) • Principais problemas associados às especificações de requisitos são [KOTONYA 1998]: – os requisitos não refletem as reais necessidades do usuário; – os requisitos são inconsistentes, incompletos e/ou ambíguos; – é dispendioso fazer mudanças após os requisitos terem sido acordados; – é comum ocorrer diferenças de interpretação entre clientes e equipe de desenvolvimento. • Esses problemas surgem principalmente devido a dificuldades relacionadas à comunicação com os usuários cin.ufpe.br Engenharia de Requisitos (cont.) • O envolvimento do usuário é fator essencial para um processo de Engenharia de Requisitos de qualidade e, conseqüentemente, para o sucesso dos projetos de software em geral • Porém, usuários não conseguem [GOGUEM 1994; HALMER 2000]: – descrever em uma entrevista os seus próprios problemas organizacionais e sociais; – não sabem identificar o que ele necessita de um sistema de software; – e muitas vezes não possui aptidão para expor claramente suas idéias. cin.ufpe.br Engenharia de Requisitos (cont.) • São vários os relatos de situações em que os fatores humanos incidiram diretamente no insucesso das aplicações de tecnologia de software [MYERS 1994] • Esses insucessos são muitas vezes originados por sentimentos negativos causados por sistemas que não são adaptados à realidade do trabalho [RAMOS 2000] • Uma elicitação de requisitos que leve em conta as práticas sociais do trabalho facilita o desenvolvimento de aplicações que satisfaçam os seus usuários, contribuindo para a realização das tarefas de forma efetiva e eficiente cin.ufpe.br Engenharia de Requisitos (cont.) • Engenharia de Requisitos deve ajudar a compreender as necessidades das pessoas de modo a identificar como um sistema de software pode ser usado para reorganizar o trabalho e estabelecer novas práticas [RAMOS 2005b] cin.ufpe.br Engenharia de Requisitos (cont.) • Requisitos são comumente classificados em funcionais e não-funcionais: – RF dizem respeito à definição das funções que um sistema ou um componente de sistema deve fazer – RNF dizem respeito a restrições de projeto ou a atributos de qualidade que não são descritos precisamente e não dizem respeito a uma funcionalidade. Ex: desempenho, usabilidade, confiabilidade, segurança, portabilidade • Requisitos de usabilidade definem metas do sistema relacionadas à facilidade de o usuário ser atraído pelo software, entender seu funcionamento ou aprender a usá-lo [Maguire 2001b] cin.ufpe.br Engenharia de Requisitos (cont.) • A elicitação de requisitos de usabilidade está fortemente relacionada à realização de análises sobre o contexto social de uso dos sistemas • Fatores cognitivos como satisfação, conforto e facilidade de compreensão estão diretamente atrelados ao fato de o sistema estar adaptado às capacidades pessoais, atividades e ambiente físico dos usuários [ISO-9126 1991] cin.ufpe.br Engenharia de Requisitos (cont.) • Além dos RF e RNF, também é comum o uso de uma classificação específica para os fatores organizacionais da empresa que incidem sobre o sistema, os chamados requisitos organizacionais [YU 1995; MAGUIRE 2001; CASTRO 2002] • Tais requisitos dizem respeito às metas da empresa, suas políticas e estratégias adotadas, os relacionamentos entre seus atores, as leis impostas pelo ambiente e os processos da organização cin.ufpe.br Engenharia de Requisitos (cont.) • Processo Tradicional de Engenharia Requisitos cin.ufpe.br Estudos de Atividades Humanas na ER cin.ufpe.br Estudos de Atividades Humanas na ER • Estudos de campo qualitativos têm sido administrados como uma forma de atacar as disparidades existentes entre as intenções dos usuários e as intenções dos projetistas • O contexto de uso de um sistema atual engloba [KAPTELININ 2006]: – o uso colaborativo da tecnologia por grupos e comunidades; – variados ambientes físicos e virtuais; – um conjunto expandido de atividades (incluindo aquelas conduzidas em casa); – e a consideração sobre um amplo leque de experiências dos usuários cin.ufpe.br Estudos de Atividades Humanas na ER (cont.) • Em um estudo de campo, os seguintes elementos são procurados nos dados coletados [BLY 1997]: – Entender como o trabalho é realizado no contexto de uso das tecnologias. – Descobrir como a tecnologia gera tensões para as atividades humanas. – Não se basear na intuição e desmistificar as verdades que assumimos, ou o que nós esperamos que sejam importantes – Compreender como a tecnologia e as atividades do trabalho desenvolvem-se em conjunto (co-desenvolvimento) – Identificar atividades novas, ou não antecipadas, do trabalho que começam a ocorrer. cin.ufpe.br Estudos de Atividades Humanas na ER (cont.) • Uma pesquisa qualitativa de campo compreende: – o planejamento da coleta dos dados, – o uso de uma grande variedade de técnicas para levantamento de informações (entrevistas, observações, análise de documentos, entre outras), – a aplicação de métodos de análise de dados com apoio de ferramentas computacionais [RICHARDS 1998; MILEN 2000], – e formas de estruturar e documentar os resultados [DENZIN 1998; MILEN 2000] cin.ufpe.br Estudos de Atividades Humanas na ER (cont.) • Na literatura de Engenharia de Requisitos tradicionalmente se utiliza a palavra etnografia para denominar estudos de campo qualitativos • Definições do que é uma etnografia na opinião de etnógrafos profissionais: – Etnografia é uma tentativa de entender o que é a vida diária das pessoas do ponto de vista daqueles estão sendo observados [LAREAU 1996 apud MACAULAY 2000]. – Etnografia é uma forma de coleta e reportagem das observações com o propósito de realizar análises culturais [GEERTZ 1993 apud MACAULAY 2000]. – (...) os etnógrafos não simplesmente reportam o que observam, mas também interpretam [MACAULAY 2000] cin.ufpe.br Estudos de Atividades Humanas na ER (cont.) • Na área de Engenharia de Software [SOMMERVILLE 2003], o conceito de etnografia está associado a algumas restrições (impostas por vários autores ligados a etnometodologia) para um estudo de campo qualitativo • Algumas restrições [BALL 2000; HARPER 2000; DOURISH 2006] : – não imposição de questões pré-definidas de pesquisa aos participantes, – documentação detalhada e descritiva das práticas analisadas, – um longo período de observação, entre outros pontos cin.ufpe.br Estudos de Atividades Humanas na ER (cont.) • Porém, alguns trabalhos utilizam nomenclaturas, tais como, “Estudos em Ambientes de Trabalho” [NILSSON 2005], “Estudos de Campo” [KUJALA 2003], “Etnografia Rápida e Suja” [HUGHES 1995] e “Etnografia Rápida” [MILEN 2000] para classificar abordagens que não levam necessariamente em consideração todas as restrições da etnografia. cin.ufpe.br Processos que Integram Estudos Sociais na ER cin.ufpe.br Processos que Integram Estudos Sociais na ER • Existem diversos processos que integram estudos de atividades humanas na Engenharia de Requisitos. Classifica-se esses processos em três tipos [CRUZ 2008]: – centrados no uso de estudos etnográficos, – baseados em especificações do contexto de uso, – e direcionados por re-engenharias organizacionais cin.ufpe.br Uso de Estudos Etnográficos • Representação de uma visão de um processo de integração de estudos etnográficos na Engenharia de Requisitos [VILLER 1999]: cin.ufpe.br Uso de Estudos Etnográficos (cont.) • Button e Dourish [BUTTON 1996] mencionam três possibilidades que a relação entre etnógrafo-projetista possa ocorrer: – fazer com que os próprios etnógrafos sejam o meio de ligação entre o campo de estudo e os projetistas de sistemas – o uso dos resultados retóricos (documentos) gerados pelas etnografias para informar o projeto de sistemas – usar a etnometodologia para informar diretamente o processo de design [mentalidade analítica x praticidade] cin.ufpe.br Uso de Estudos Etnográficos (cont.) • Apesar da importância dada aos estudos etnográficos, ainda existem algumas limitações que dificultam o uso destes estudos [VILLER 2000]: – o longo processo requerido pelos etnógrafos pode tornar-se inaceitável para os cronogramas apertados dos engenheiros; – estudos etnográficos tendem a produzir resultados muito descritivos, difíceis de serem compreendidos pelos projetistas; – é difícil realizar generalizações (ou gerar representações de design) a partir de dados situacionais; – a falta de sistemática da pesquisa de campo pode tornar o sucesso dos métodos muito dependentes das habilidades individuais do etnógrafo. cin.ufpe.br Compreensão e Especificação do Contexto de Uso • Os próprios projetistas realizam os estudos de campo com o intuito de torná-los mais objetivos para os propósitos de design • Existem processos que dão ênfase a realização de uma etapa anterior à elicitação dos requisitos voltada especificamente à análise e especificação do contexto atual cin.ufpe.br Compreensão e Especificação do Contexto de Uso (cont.) • O padrão ISO 13407 para projetos centrados no usuário incorpora o Entendimento e Especificação do Contexto de Uso como uma etapa inicial do ciclo de desenvolvimento de sistemas interativos – A norma ISO 9241 define que: “contexto de uso consiste dos usuários, tarefas, equipamentos (hardware, software e materiais), bem como dos ambientes físico e social que afetam o uso do produto”. cin.ufpe.br Compreensão e Especificação do Contexto de Uso (cont.) • Contudo, usualmente tais processos (realizados por designers) não propiciam uma análise rica do campo de estudo devido ao direcionamento à construção de modelos [sistematização da observação] e ao uso de esquemas pré-definidos de classificação de fatores do contexto [entrevistas direcionadas]. cin.ufpe.br Re-engenharias Organizacionais • Engenharia de Requisitos se viu com a necessidade de considerar não apenas o entendimento do contexto atual, mas também a análise dos efeitos das mudanças no ambiente organizacional • Processos de Engenharia de Requisitos incorporaram a prospecção de futuras re-engenharias sociais no intuito de predizer os efeitos das mudanças e analisar alternativas de sistemas que venham a ser melhor adequadas ao contexto “futuro” de uso da tecnologia [CASTRO 2002; GRAU 2005] cin.ufpe.br Re-engenharias Organizacionais (cont.) • Processos consideram como as organizações precisam ser transformadas e projetam os requisitos dos sistemas sabendo como os mesmos afetam estas transformações [RAMOS 2005b]. • A solução a ser oferecida não é apenas um conjunto de requisitos para um dado sistema, mas sim também uma re-engenharia organizacional da empresa na qual o sistema é apenas uma parte da solução. cin.ufpe.br Re-engenharias Organizacionais (cont.) • Processo de requisitos baseado em re-engenharias sociais [RAMOS 2005b]: cin.ufpe.br Desafios cin.ufpe.br Desafios • Um dos pontos centrais associados aos desafios de aplicação de um estudo qualitativo do usuário na Engenharia de Software é que a atividade de design traz questões importantes que a diferenciam de um trabalho etnográfico tradicional, cujo objeto de análise é simplesmente descrever e interpretar culturas [MACAULAY 2000] • Três fatores são relevantes para uso de estudos de campo qualitativos no projeto de sistemas: – Atitude; – Validade; – Praticidade. cin.ufpe.br Desafios (cont.) • Uma forma de trabalhar o problema da atitude é garantir que o trabalho seja realizado de uma forma rigorosa e que o pesquisador de campo se engaje em um constante processo de reflexão sobre suas atividades, descobrimentos e posições [WOLCOTT 1995] • A validade depende do uso de métodos apropriados de coleta [escolhas realizadas] e análise [decisões/generalizações teóricas] dos dados para uma dada situação • O terceiro problema é o da praticidade. Sabe-se que existem normalmente diferenças entre as representações usadas para descrever as práticas sociais [concretismo e complexidade] e os sistemas de computação [abstração e simplificação] que dificultam a aplicação de estudos sociais de campo na Engenharia de Software [GOGUEM 1994] cin.ufpe.br Desafios (cont.) • Fazem-se necessárias abordagens que não só promovam a geração de requisitos a partir de estudos de campo, mas também possam propiciar reflexões sobre a realização de mudanças em cada lado, um em resposta do outro [BLY 1997] • Estudos de campo qualitativos nos fornecem novas maneiras de projetar sistemas repudiando a forma tradicional de separar o usuário do designer, e a tecnologia de sua prática [DOURISH 2006] cin.ufpe.br Considerações Finais cin.ufpe.br Considerações Finais • A Engenharia de Requisitos é um processo centrado nas pessoas, por isto o resultado do processo é um sistema que irá ser útil, mas alterará as atividades humanas que suportam. Assim, a Engenharia de Requisitos deve ser sensível para entender como as pessoas percebem e entendem o mundo ao redor delas, como elas interagem, e como a sociologia do ambiente de trabalho afeta suas ações [NUSEIBEH 2000] cin.ufpe.br Referências • Todas as referências estão na monografia “ESTUDOS DE ATIVIDADES HUMANAS NA ENGENHARIA DE REQUISITOS” cin.ufpe.br Estudo de Atividades Humanas na Engenharia de Requisitos Rafael Seabra Melo Correia [email protected] cin.ufpe.br