Você está na página 1de 29

+

Empirical Methods for Software


Engineering Research
(Involving Humans)

Aula 1

Métodos Empíricos de Fundamentos


Pesquisa (Envolvendo
Pessoas) em Engenharia
de Software

Fabio Q. B. da Silva
Centro de Informática
Universidade Federal de Pernambuco
E-mail: fabio@cin.ufpe.br
www.haseresearch.com
Agradecimentos

Este curso é “inspirado” em várias conversas de café e outros


encontros que eu tive o prazer de ter com Steve Easterbrook,
Charles (Chuck) Knutson, Carolyn Seaman, Guilherme
Travassos, Helen Sharp, Tayana Conte, Cleidson de Souza, Rafael
P........., e vários outros amigos e colegas.

Em particular, alguns (vários) slides são traduções quase literais


de apresentações de Steve Easterbrook (que me inspirou a ver a
pesquisa empírica na engenharia de software sob uma ótica
muito mais ampla, relevante e produtiva).

Os alunos e alunas que eu desoriento foram responsáveis pela


maioria dos insights relevantes que eu tive na minha pesquisa
sobre fatores humanos, mesmo aqueles que eles nem
desconfiam.
Perguntas
?
Seu sucesso como
pesquisador
(e como pessoa)
está diretamente
relacionado com sua
capacidade de fazer
boas perguntas?
+
Objetivos deste curso

n  Para alunos de pós-graduação:


n  Problemas centrais na seleção de métodos empíricos
n  Conceituação básica de alguns métodos
n  Algumas razões pelas quais você deve se preocupar em produzir pesquisa Uau!!!!
sem se preocupar com o Lattes e o Qualis

n  Para os orientadores destes alunos:


n  Os três objetivos acima ...
n  Subsídios para vocês poderem ajudar seus alunos a atingirem os objetivos acima
n  Argumentos para rejeitar/aceitar artigos submetidos para revistas e eventos
científicos

n  Para profissionais:


n  Alguns elementos básicos para ajudar na avaliação do que é apresentado como
resultado de pesquisa (artigos) em engenharia de software
n  Papel dos profissionais como participantes em pesquisas em engenharia de software
+
Tópicos

Conceitos Iniciais Métodos


n  Fundamentos da pesquisa n  Métodos Quantitativos
científica
n  Métodos Qualitativos
n  Planejando seu Estudo
(envolvendo pessoas) n  Replicações

n  Validade e Ética


+
Qual é o seu Plano de Pesquisa?

Revisão da
Literatura

Construção de
Ferramenta*

* Também funciona para


processos, framework, ???
modelo, guidelines, etc.

Publicação
(Qualis A1)

Waterfall
+
Qual é o seu Plano de Pesquisa?

Revisão da Literatura

Construção de Ferramenta

???

Publicação Publicação Publicação


(Qualis C) (Qualis B2) (Qualis A1)

Iterativo-Incremental
+
Qual é o seu Plano de Pesquisa?

Revisão da Literatura

Publicação
(quem liga pro
Qualis?)

Construção de Ferramenta

???

Ágil
+ 10

Cientistas deveriam fazer isto ...

Observação

Teoria Mundo

Teste

Baseado em Steve Easterbrook: www.cs.toronto.edu/~sme/CSC2130.


Observe!
+ 12

Pesquisa Científica
Conhecimento
Atual

Observar
(o que está errado com
a teoria atual?)

Experimentar Teorizar
(manipular as (refinar/criar nova
variáveis) teoria)

Projetar
(desenhar teste para
nova teoria)
Baseado em Steve Easterbrook: www.cs.toronto.edu/~sme/CSC2130.
+ 13

Projetos de Engenharia

Sistema Atual

Observar
(o que está errado com
o sistema atual?)

Experimentar Modelar
(substituir o sistema (descrever/explicar os
antigo) problemas)

Projetar
(inventar um sistema
melhor)
Baseado em Steve Easterbrook, RE2007 Conference Tutorial T1.
+ 14

Ciência e Prática

Resultados  e  
Prática Benefícios  
para  Prática

Observação  
e   Coleta  de  Dados
Descoberta  

Interpretação  dos   Análise  pela  


Dados Comunidade  
e  Feedback
Formulação  e  Teste  de  Hipóteses

Resultados  e  
Ciência Benefícios  
para  Ciência
+ 15

Algumas Características da
Ciência
n  Procura melhorar nosso entendimento do mundo

n  Explicações são baseadas em observações

n  Teoria e observação afetam uma a outra:


n  Nossas percepções afetam nosso entendimento
n  Nosso entendimento afeta como percebemos

n  Criatividade é tão importante quanto na arte:


n  Teorias, hipóteses, desenhos experimentais
n  Busca pela elegância e simplicidade

Baseado em Steve Easterbrook: www.cs.toronto.edu/~sme/CSC2130.


it does. In this case, Newton used the term hypothesis to represent an imma
BECOME THEORIES THAT IN TURN BECOME LAWS
theory.

+ withAsincreased
a solution to the hypothesis problem, Sonleitner (1989) suggested t
Mitos sobre a Ciência (I)
e general belief that tentative
e through which scientific
referredideas
evidence there is a
or trial laws be called generalizing hypotheses with provisional the
pass on hypotheses.
to as explanatory their way Another
to finalapproach would be to aband
1) as mature laws. The word implication is that
hypothesis in favor hypotheses
of terms and law or speculative theo
such as speculative
than laws. A formerevidence,
U.S. generalizing hypotheses may become laws and speculative theorie
president expressed his
theories, but under no circumstances do theories become laws. Finally, when
ence by saying that he are was
askednot troubled
to propose by theduring
a hypothesis ideaa laboratory
of experience, the term n
n  Mito: hipótesesmeans
levama aprediction.
teorias As n for...those
mashypotheses
na verdade funciona
s, in his words, “just a theory.” The president’s misstatement that are really forecasts, perha
que eventualmente
shouldsesimply be called whatassim:
they are, predictions.
yth; an transformam
idea is not worthy
em leis... of consideration until “lawness” has
Law LAW THEORY
Which might become a Which might become a

A Prediction
A Generalizing An Explanatory
Theory
Hypothesis Hypothesis

Hypothesis The Word


“Hypothesis”
Could Mean

Facts and
Figure 2. “Family tree” of hypotheses, illustrating the multiple definitions
Observations
term. Temos uma “Lei da Temos uma “Teoria da
Gravidade” mas Evolução” mas
rarchical relationshipMYTH
between facts, hypotheses, theories and
4: A GENERAL
nenhuma "teoria da
AND UNIVERSAL
gravidade”.
nenhuma “lei da
SCIENTIFIC METHOD EXISTS
evolução".
William F. McComas.
The Principal Elements of The Nature Of Science: Dispelling the Myths
+
Algumas definições

n  Modelo: uma representação abstrata de um fenômeno ou


conjunto de fenômenos

n  Teoria: “a melhor explicação para um conjunto de


fenômenos” (Steve Easterbrook)
n  Idealmente, uma teoria tem poder preditivo

n  Hipótese: uma afirmação testável derivada de uma teoria


n  Não é uma teoria, mas é construída a partir dela

Em ES, temos poucas Teorias.

Baseado em Steve Easterbrook, RE2007 Conference Tutorial T1.


+
Mitos sobre a Ciência (II)

n  “Cientistas seguem o método científico”


n  Não existe “o método”
n  Vários métodos estão disponíveis, cada um com o seu conjunto
de falhas.
n  Cientistas usam imaginação, criatividade, conhecimento prévio,
perseverança e, de vez em quando, um pouco de sorte...

n  “Conhecimento científico é geral e absoluto”


n  Usamos indução para construir evidência
n  No processo, cientistas frequentemente erram, mas a Ciência
(como processo) se auto corrige
n  Todas a leis e teorias científicas tem escopo limitado

Baseado em Steve Easterbrook, RE2007 Conference Tutorial T1.


+
O que é uma contribuição de
pesquisa?
n  Um melhor entendimento de como engenheiros de software
trabalham?

n  Identificação de problemas com o estado-da-arte?

n  Caracterização de propriedades de ferramentas ou técnicas?

n  Evidência de que o enfoque A é melhor do que B?

Como você vai validar suas afirmações?

Baseado em Steve Easterbrook: www.cs.toronto.edu/~sme/CSC2130.


+
Todos os métodos tem falhas

n  Experimentos em laboratórios


n  Não é possível estudar desenvolvimento de software em larga escala
no laboratório.
n  Muitas variáveis; impossível controlar todas.

n  Estudos de Caso


n  Como sabemos que o que é verdade em um caso pode ser
generalizado para outros?
n  O pesquisador escolhe as perguntas, portanto enviesa o estudo

n  Pesquisa de Campo (Surveys)


n  Auto-seleção enviesa os resultados
n  Participantes dizem o que eles gostariam ou deveriam fazer, não o
que eles realmente fazem

n  Etc.

Baseado em Steve Easterbrook: www.cs.toronto.edu/~sme/CSC2130.


+
Como superar as falhas

n  Construindo teorias


n  Testar hipóteses isoladas não faz sentido (ponto único de falha)
n  ... a não ser que construam evidência para uma teoria claramente definida

n  Fazendo Indução Empírica


n  Séries de estudos ao longo do tempo
n  Cada um desenhado para testar um aspecto da teoria
n  ... que juntos constroem evidência para uma teoria claramente definida

n  Utilizando Múltiplos Métodos


n  Usar múltiplos métodos para investigar o mesmo problema de pesquisa
n  Cada método compensa as falhas dos outros
n  ... juntos constroem evidência para uma teoria claramente definida

Baseado em Steve Easterbrook: www.cs.toronto.edu/~sme/CSC2130.


+
O papel das teorias

n  Teorias permitem comparar trabalhos semelhantes


n  Definição precisa de termos
n  Justificativa para quais fenômenos medir

n  Teorias suportam generalização analítica


n  Compreensão mais profunda dos resultados empíricos
n  ... e portanto como aplica-los de forma mais geral
n  Mais poderoso que generalização estatística

n  Na engenharia de software:


n  Nossos princípios, guias, melhores práticas (vagos e incompletos)
poderiam ser melhorados com teorias
n  Toda ferramenta que construímos representa uma teoria

Baseado em Steve Easterbrook, RE2007 Conference Tutorial T1.


+ 23

Teorias são boas para


generalização
Generalização Estatística Generalização Teórica
n  Da amostra para a população n  Dos resultados para a teoria

n  Só com variáveis quantitativas n  Pode ser feita com variáveis
qualitativas e quantitativas
n  Baseada em amostragem
aleatória n  Compara fatos com teoria

n  Não é útil quando não se n  Suporta indução empírica


pode/consegue:
n  caracterizar a população
n  Mais poderosa que a
generalização estatística
n  fazer amostragem aleatória
n  obter dados suficientes

Baseado em Steve Easterbrook, RE2007 Conference Tutorial T1.


+
Resumindo ...

n  Uma teoria científica:


n  É mais do que uma descrição (e.g. Taxonomia): ela explica e prevê
n  Deve ser logicamente completa, internamente consistente e passível
de falseamento
n  ... simples e elegante

n  Componentes
n  Terminologia precisa
n  Conceitos, relações e inferências causais
n  Definição operacional dos termos teóricos

n  Teorias orientam a pesquisa empírica


n  Não é possível observar o mundo sem alguma perspectiva teórica

Baseado em Steve Easterbrook, RE2007 Conference Tutorial T1.


+
O Que é um estudo empírico
Uau!!!!!!?
n  Vai além dos procedimentos n  Considera perspectivas alternativas
metodológicos (puritanismo metodológico
ou estatística sanitária) n  Inclui considerações de proposições
rivais e a análise de evidência sob a
perspectiva destas rivais
n  Deve ser relevante:
n  O problema deve ser importante em n  Mostra evidências suficientes
termos teóricos e práticos
n  Relata evidências suficientes para
n  Para o conhecimento científico (Qualis)
e para decisões (políticas e que o leitor possa avaliar o mérito e
organizacionais) a validade dos resultados
n  Usa evidência para convencer o
n  Deve ser “completo” leitor que o pesquisador “sabe do
que está falando”
n  As fronteiras do estudo devem ter sido
consideradas com atenção n  Mostra a validade do que está sendo
apresentado
n  Esforço amplo deve ter sido feito para
coletar todas as evidências relevantes
n  O estudo não foi terminado por causa
n  A apresentação é Uau!!!
de restrições não relacionadas com a n  Um bom estudo deveria manter o
pesquisa (precisou publicar Qualis leitor motivado para ler o artigo
para permanecer no colegiado) (mesmo que não seja Qualis A)

Baseado em Steve Easterbrook, RE2007 Conference Tutorial T1.


+
Como começar?

n  Hoje, já...


n  Defina o título da sua tese/dissertação
n  Construa a página de título
n  Escreva seu argumento:
n  O contexto

n  O problema
n  O que a literatura diz sobre o problema
n  Como você pretende resolver o problema
n  Qual o resultado esperado

n  Tudo pode mudar, mas você precisa começar em algum


lugar, até para poder mudar mais tarde.
Perguntas
!!!!
Se você não fez até
agora, é tarde
demais...
+
Empirical Methods for Software
Engineering Research
(Involving Humans)

Aula 1

Métodos Empíricos de Fundamentos


Pesquisa (Envolvendo
Pessoas) em Engenharia
de Software

Fabio Q. B. da Silva
Centro de Informática
Universidade Federal de Pernambuco
E-mail: fabio@cin.ufpe.br
www.haseresearch.com

Você também pode gostar