O documento discute os fundamentos da engenharia de software empírica, incluindo sua história, métodos, questões de pesquisa e estratégias empíricas. Aborda como os estudos empíricos podem ser usados para construir teorias e acumular conhecimento sobre processos e métodos de engenharia de software.
2. 2 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Agenda
• Engenharia de Software Empírica
• Questões de Pesquisa
• Construção de Teorias
• Estratégias Empíricas
• Conclusões e Referências
3. 3 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Engenharia de Software Empírica
• O que é a Engenharia de Software Empírica (ESE)?
– Campo de estudo que enfatiza o uso de estudos empíricos
para acumular conhecimento acerca de métodos,
processos, ferramentas e teorias da Engenharia de
Software
• ESE se tornou parte importante da pesquisa teórica
e prática em ES nos últimos anos
4. 4 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Engenharia de Software Empírica
• Histórico
– 1992 Dagstuhl seminar “Experimental Software Engineering Issues”
– 1993 Rede ISERN (International Software Engineering research Network)
– 1996 Períodico “Journal of Empirical Software Engineering”
– 1997 Conferência “International Conference on Evaluation and
Assessment in Software Engineering (EASE)”
– 2001 Conferência “International Symposium on Empirical Software
Engineering (ISESE)”, desde 2007 chamada ESEM
– 2004 Workshop “Experimental Software Engineering Latin American
Workshop (ESELAW)”
– 2006 Dagstuhl seminar “Empirical Software Engineering Issues”
5. 5 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Engenharia de Software Empírica
• Ciência e Engenharia de Software
– ES é uma área de estudo inter-disciplinar
– ES não é uma “hard science”
– Aspectos técnicos em conjunto com sociais e psicológicos
– Intensivo na participação de pessoas; baseado em creatividade
– Pessoas constroem, mantém e evoluem software
– Pessoas trabalham com software no contexto de empresas ou
projetos livres
– Estudos e análises JUSTAS devem considerar o contexto
organizacional e humano
– Pesquisa em ES precisa usar métodos científicos (WOHLIN et al, 2012)
6. 6 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Engenharia de Software Empírica
• Métodos
– Científico
• Observações → Modelos → Simulações/provas
– Engenharia
• Soluções existentes → Novas soluções → Avaliações
– Empírico
• Observações → Modelos → Estudos de avaliação
– Analítico
• Teorias formais → Cruzamento com observações empíricas
(WOHLIN et al, 2012)
7. 7 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Engenharia de Software Empírica
• Como lidar com fatores sócio-técnicos?
– Buscando estratégias de pesquisa adequadas
– Ciências sociais aplicadas possuem várias abordagens de
pesquisa úteis para ES
• Algumas estratégias empíricas
– Experimentos (ou quasi-experimentos)
– Estudos de Caso (exploratório ou explanatório)
– Levantamentos (surveys)
• Mas antes de escolher a estratégia, o que queremos
descobrir?
8. 8 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Questões de Pesquisa
9. 9 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Questões de Pesquisa
• Exploratórias
– Existenciais
• “Existe X?”
– Classificatórias descritivas
• “Como é X?”, “Quais são as propriedades de X?”, “Quais todos
os tipos de X?”...
– Comparativas descritivas
• “Como X difere de Y?”
• Resultam em melhor entendimento de fenômenos,
definições mais precisas, evidências de medição
10. 10 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Questões de Pesquisa
• Exploratórias
– Frequência e distribuição
• “Com qual frequência X ocorre?”, “Qual a média de X?”
– Descritiva processual
• “Como normalmente X funciona?”, “Em qual processo X
acontece?”, “Como X atinge seu objetivo”
• Resulta em padrões de ocorrência do fenômeno
11. 11 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Questões de Pesquisa
• Correlação
– Relacionamento
• “X e Y estão relacionados?”, “Ocorrências de X se
correlacionam com ocorrências de Y?”
• Causalidade
– Causalidade
• “X causa Y?”, “X preveni Y?”, “O que causa Y?”
– Comparação-causalidade
• “X impacta mais Y do que Z impacta?”, “X preveni melhor Y
do que Z?”
12. 12 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Questões de Pesquisa
• Pesquisa empírica atua nesses tipos de questões
– Tipos anteriores são “questões de conhecimento” focadas em
estudar o mundo como este é
• Pesquisa não-empírica
– Questões de design (proposição)
• “Qual uma forma efetiva de fazer X?”, “Quais estratégias ajuda a
obter X?”
– Pressupõe que as questões de conhecimento associadas já foram
endereçadas
• Pesquisa de longo prazo
– Mescla de questões de conhecimento e de design
13. 13 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Construção de Teorias
• Teoria são os blocos construtores do conhecimento científico
• Positivismo
– Ciência é o processo de verificação de teorias por teste de hipóteses
derivadas das mesmas
• Construtivismo
– Ciência é o processo de busca por teorias locais que emerga e expliquem
dados
• Teoria crítica
– Teorias são asserções de conhecimento a serem criticadas
• Pragmatismo
– Teorias são produto de um processo consensual entre a comunidade de
cientistas, julgadas pela sua utilidade prática
14. 14 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Construção de Teorias
• Teoria científica
– Identifica e define um conjunto de fenômenos
– Faz asserções sobre a natureza dos fernômenos
• Uma boa teoria...
– Precisamente define termos teóricos
– Explica porquê alguns relacionamentos ocorrem
• Em estudos empíricos, teorias são “lentes”
– Teorias impacta a forma de observar e interpretar resultados
– Enxergando o mundo através das “lentes”
– Fenômenos do mundo real são muito ricos, é preciso “filtrar”
15. 15 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Construção de Teorias
• Teorias conectam a pesquisa com literatura
– Conceitos, termos e relacionamentos servem de base
comparativa entre resultados de estudos empíricos
• Teorias suportam a indução empírica
– Estudo individuais nunca oferecem resultados conclusivos
– Cada estudo adiciona mais evidência a favor ou contra as
proposições da teoria
• Teorias dão sentido aos resultados dos estudos
empíricos
16. 16 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Estratégias Empíricas
• Estratégias
– Experimentos
– Estudo de caso
– Surveys
– Múltiplos métodos
– Alguns fatores que influenciam a seleção
– Tipo de questão de pesquisa
– Contexto (pessoas, organizações, produtos, processos)
– Maturidade da pesquisa
17. 17 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Experimentos
• Experimento
– “Um experimento (controlado) é uma investigação de hipóteses
testáveis na qualum ou mais variáveis independentes são manipuladas
a fim de mensurar seus efeitos em um ou mais variáveis dependentes”
• Exemplo simples
– Uma variável independente com dois níveis:
Usar uma ferramenta versus Não usar uma ferramenta
• Mais variáveis e mais níveis → experimentos complexos
• Em ES, experimentos envolvem humanos realizando tarefas
– Muito difícil de controlar variáveis relacionadas diretamente a humanos
ou organizações
18. 18 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Experimentos
• Processo do Experimento
– Definição do escopo
• Hipótese deve ser clara!
– Planejamento
• Determinação do contexto (pessoas e ambiente)
• Formalização da hipótese e determinação das variáveis
– Operação
• Preparação, Execução e Validação de dados
– Análise e interpretação
• Compreensão dos dados
– Apresentação e empacotamento
• Documentação dos resultados
• Empacotamento visando replicação
19. 19 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Estudos de Caso
• Estudo de Caso
– “Uma investigação empírica que estuda um fenômeno contemporâneo dentro do
seu contexto real, especialmente quando as fronteiras/limites entre fenômeno e
contexto não são claramente evidentes”
– Confusão em ES: trabalhos que apresentam um “exemplo que funcionou” são
chamados de “estudos de caso”
• Exemplo simples
– “Como desenvolvedores usam sistemas de chat em equipes distribuídas de
desenvolvimento de software?”
• Exploratórios
– Estudos iniciais dos fenômenos para derivar novas hipóteses e construir teorias
• Confirmatórios
– Estudos para testar (ou refutar) teorias existentes
20. 20 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Estudos de Caso
• Processo de um Estudo de Caso
– Projeto e planejamento
– Preparação de coleta de dados
– Coleta de dados
– Análise dos dados
– Formatação para divulgação
21. 21 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Surveys
• Survey
– “Pesquisa de levantamento é usada para identificar características de uma
população de indivíduos”
• Exemplo simples
– “Quais as práticas de ER mais usadas pelos profissionais de desenvolvimento
de sw no Ceará?”
• Aspectos importantes
– Questão de pesquisa voltada para a natureza de uma população
– Definição da amostra e da unidade de análise
– Técnica de análise de dados que suporte generalização dos resultados
– Evitar distorção da amostra
– Preparar perguntas que levem a dados válidos e úteis
22. 22 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Surveys
• Processo do Survey
– Estabelecimento dos objetivos
– Projeto do survey
– Desenvolver instrumento
– Avaliar o instrumento
– Coletar dados válidos
– Analisar dados
23. 23 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Estratégias Empíricas
• Mixed-methods
– “Uma estratégia de pesquisa mais elaborada que emerge na
compreensão de que todos os métodos possuem limitação, e que a
fraqueza de um método pode ser compensada pelos pontos fortes
de outros”
– Identificar e experimentar formas de combinar dados de múltiplos
estudos são o caminho para construir teorias efetivas em ES
• Estratégias mescladas mais familiares
– Sequencial explanatória: Quantitativa → Qualitativa
– Sequencial exploratório: Qualitativa → Quantitativa
– Triangulação concorrente: em paralelo
24. 24 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Estratégias Empíricas
• BYOM (Bring your own method)
– Etnografia, Pesquisa-ação, ...
• Qual é o seu repertório de métodos?
– Estudos empíricos em ES são oportunísticos
– É necessário encontrar oportunidades certas para
métodos, dados, artefatos, contexto e questões a serem
respondidas
25. 25 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Estratégias Empíricas
• Exemplo de triangulação (ou sequencial
exploratória?):
MANTELI, Christina; VAN DE WEERD, Inge; BRINKKEMPER, Sjaak. An empirical research on the relationships between software
product management and software project management. unpublished, Utrecht University, 2010.
26. 26 | Internal use only
Campus da UFC Quixadá | RE@Quixadá | http://ger.quixada.ufc.br
Referências
• BASILI, V., ROMBACH, D., SCHNEIDER, K., KITCHENHAM, B., PFAHL, D., SELBY, R. Empirical
Software Engineering Issues: Critical Assessment and Future Directions. Springer, 2007.
• WOHLIN, C., RUNESON, P., HÖST, M., OHLSSON, M.C., REGNELL, B., WESSLÉN, A.,
Experimentation in Software Engineering, Springer, 2012.
• SHULL, F., SINGER, J., SJOBERG, D. I. K., Guide to Advanced Empirical Software
Engineering, Springer, 2010.
• EASTERBROOK, S., SINGER, J., STOREY, M., DAMIAN, D., Selecting Empirical Methods for
Software Engineering Research, In: Guide to Advanced Empirical Software Engineering,
Springer, 2010.
• RANDOLPH, J., Writing Up Research Questions, Link:
https://wiki.uef.fi/download/attachments/16581597/Research_questions_Justus_Randolph.pdf?api=
v2