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
Download

slides - Centro de Informática da UFPE