Empirical Software Engineering - What is it and why do we need it?

Daniel Mendez
Daniel MendezBlekinge Institute of Technology
Empirical Software Engineering
What is it and why do we need it?
Blekinge Institute of Technology, Sweden
fortiss GmbH, Germany
www.mendezfe.org
mendezfe
Daniel Méndez
About me // Daniel Mendez
Head of research division
Requirements Engineering
daniel.mendez@bth.se
www.mendezfe.org
📍Munich
📍 Karlskrona
Full Professor in
Software Engineering
Research areas / interests
▪ (Empirical Software Engineering)
▪ Requirements engineering, software quality
management, and processes improvement
▪ Strong focus on Academia-Industry
Collaborations and Technology Transfer
Research Networks and Initiatives
▪ Naming the Pain in Requirements Engineering
(www.napire.org)
▪ IREB Research working group
▪ International Software Engineering Research
Network (ISERN)
Ground rules
As we have to use ,
please feel free to interrupt me any time as I
might not see you raising your hand.
Whenever you have questions / remarks,
please don’t ask , but
share them with the whole group.
(1)
(2)
What could be wrong with such a study?
Research Question: Which car has the best driving performance?
H_0: There is no difference.
20 people without a driving licence participate.
They are taught to drive in a lecture of 2 hours.
Results: The BMW is significantly better than the Audi (p<0.01)
Adopted from: Dag I.K. Sjøberg, Keynote at the International Conference on Product-Focused SW Process Improvement 2016, Trondheim, Norway.
Image soruces: Manufacturer websites
Empirical research is
more than simplyapplying statistical
equations
Goal of the lecture
What is this little thing called “Empirical Software Engineering”?
What we will discuss
• In a nutshell:
• Broader perspective on Software Engineering (SE) as a scientific discipline
• A few principles, concepts, and terms in Empirical SE
• Why we need empiricism in Software Engineering research
• What the perspectives are for the research community and for you
Focus:
What & Why
Basis for…
• Course on research methods
• Master Thesis projects
• The time afterwards
Focus:
How
Outline
• What is Empirical Software Engineering?
• Why do we need Empirical Software Engineering?
• What are the perspectives in Empirical Software Engineering?
Outline
• What is Empirical Software Engineering?
• Why do we need Empirical Software Engineering?
• What are the perspectives in Empirical Software Engineering?
Let’s start step by step….
What is science?
-- What do you think? --
“Science” wasn’t built in a day…
384-322 BC 1561-1626 1694-1778 1724-1804 1896-1980 1902-1994… … … …
Aristoteles Bacon Voltaire Kant Piaget Popper
• Search for laws and
reasoning for phenomena
• Understanding the nature
of phenomena
• Progress of
knowledge of
nature (reality)
• Draw benefits from
knowledge growth
• Emancipation from
gods and beliefs
• System of
Epistemology (theory
of knowledge)
• Era of constructivism
• Falsification as
demarcation
criterion
• Birth of null
hypothesis testing
Science is understood as the human undertaking for the search of
knowledge (through systematic application of scientific methods)
àNeeds to be considered in a historical context
àIncreased understanding of scientific practice (and what science eventually is)
Scientific practices and research methods have
changed over time, the role of empiricism* not
Today
* Gaining knowledge through sensory experiences
384-322 BC
Le Petit Prince (1943) Large Hadron Collider
Scientific knowledge and practice
(Necessary) postulates for scientific practice:
• There are certain rules, principles, and norms for scientific practices
• Rationalism: Reasoning by argument / logical inference / mathematical proof
• Empiricism: Reasoning by sensory experiences (case studies, experiments,…)
• There is nothing absolute about truth
• There is a scientific community to judge about the quality of empirical studies
• Although empirical observations may be faulty, it is possible (in the long run)
to make reliable observations and to falsify incorrect statements about reality
Scientific knowledge is the portrait of
our understanding of reality (via scientific theories).
What is Software Engineering research?
Is it scientific?
-- What do you think? --
Different purposes in science
• Gaining and validating new
insights
• Often theoretical character
• Typically addressed by natural
and social sciences
Basic Science
• Applying scientific methods to
practical ends
• Often practical (& pragmatic)
character
• Typically addressed by
engineering disciplines
In software engineering research, we
• apply scientific methods to practical ends (treating design science problems)
• treat insight-oriented questions, thus, we are an insight-oriented science, too
Applied Science
Different purposes in science
Fundamental / basic research Applied research
Image Sources: Wikipedia (l), Apple (r)
Basic Science Applied Science
* Graph theory
(Königsberg Bridge problem)
What is Software Engineering research?
Is it scientific?
-- Yes, Software Engineering research is scientific! --
Software Engineering research
• Software engineering is about development (not production),
inherently complex, and human-centric
• Only empirical research allows us to advance our knowledge:
• Reason about the discipline and (e.g. social) phenomena involved
• Recognise and understand limits and effects of artefacts in their contexts
(e.g. by evaluating technologies, techniques, processes, models, etc.)
àExemplary questions:
• There exist over 200 documented requirements elicitation techniques
• Which one(s) work in my context?
• To which extent? Under which conditions?
• There is a new method for requirements elicitation
• What are the strengths and limitations?
Empirical Software Engineering
Practitioners “versus” Researchers
• Researchers usually concerned with
understanding the nature of artefacts and
their relationship in the context
• What is the effect?
• Why is it so?
• Practitioners usually concerned with
improving their engineering practices and
outcomes, using available knowledge
• What is the problem?
• What is the best solution?
The ultimate goal of Empirical Software Engineering is theory
building and evaluation to advance our body of knowledge.
In our field, theoretical and
practical relevance have often
a special symbiotic relation
But what is a Scientific Theory?
-- What do you think? --
Theories (generally speaking)
Examples (following this general notion of theory):
• “Vaccinations lead to autism”
• “Global warming is a hoax by ecologists to harm the industry”
• “Earth is flat”
• “Wearing face masks does more harm than the effects of COVID-19”
• …
A theory is a belief that there is a pattern in phenomena.
Are these theories scientific?
No: Speculations based on imagination, hopes and fears, and resulting in
opinions that often cannot be refuted (i.e. logical fallacies)
Scientific Theories
1. Tests
• Experiments, simulations, …
• Replications
2. Criticism
• Peer reviews / acceptance in the community
• Corroborations / extensions with further theories
A scientific theory is a belief that there is a pattern in phenomena while
having survived
1. tests against sensory experiences
2. criticism by critical peers
Note: Addresses so-called
Demarcation Problem to
distinguish science from non-
science (as per introduction by K.
Popper)
In scope of empirical research methods
(but out of scope for today)
Scientific Theories have…
… a purpose:
… quality criteria:
• Testability
• Empirical support / (high) level of confidence
• Explanatory power
• Usefulness to researchers and / or practitioners
• …
Analytical Explanatory Predictive Explanatory &
Predictive
Scope Descriptions and
conceptualisation,
including
taxonomies,
classifications, and
ontologies
- What is?
Identification of
phenomena by
identifying causes,
mechanisms or
reasons
- Why is?
Prediction of what
will happen in the
future
- What will happen?
Prediction of what
will happen in the
future and
explanation
- What will happen
and why?
Note: “Law” versus “Theory”
A law is a descriptive theory
without explanations (i.e. an
analytical theory)
Adapted from: Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010.
Further information on: https://goo.gl/SQQwxt
Exemplary framework for describing theories
in Software Engineering
• Constructs: What are the basic elements?
(Actors, technologies, activities, system entities, context factors)
• Propositions: How do the constructs interact?
• Explanations: Why are the propositions as specified?
• Scope: What is the universe of discourse in which the theory is
applicable?
Source (framewrk): Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010.
Exemplary framework for describing theories
in Software Engineering
• Constructs: What are the basic elements?
(Actors, technologies, activities, system entities, context factors)
• Propositions: How do the constructs interact?
• Explanations: Why are the propositions as specified?
• Scope: What is the universe of discourse in which the theory is
applicable?
Source (example): Wagner, Mendez et al. Status Quo in Requirements Engineering: A Theory and a Global Family of Surveys, TOSEM 2018.
Source (framewrk): Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010.
Example
Proposition:
“Structured requirements lists are documented
textually in free form or textually with constraints.”
Explanation and Scope:
“Free-form and constraint textual requirements are
sufficient for many contexts such as in agile projects
where they only act as reminders for further
conversations.”
Theories and hypotheses
Scientific theory
• “[…] based on hypotheses tested and verified
multiple times by detached researchers” (J. Bortz
and N. Döring, 2003)
Hypothesis
• “[…] a statement that proposes a possible
explanation to some phenomenon or event” (L.
Given, 2008)
• Grounded in theory, testable and falsifiable
• Often quantified and written as a conditional
statementEmpirical Approaches
Theory / Theories
(Tentative) Hypothesis
Falsification /
Corroboration
Theory (Pattern)
Building
Hypothesis
Building
If cause/assumption (independent variables)
then (=>) consequence (dependent variables)
Note: We don’t “test theories”, but
their consequences via hypotheses
(i.e. testable propositions)
From real world phenomena to theories and back:
The empirical life cycle
Empirical Approaches
Theory / Theories
(Tentative) Hypothesis
Falsification /
Corroboration
Theory (Pattern)
Building
Units of Analysis
Sampling Frame
Sampling
Hypothesis
Building
Empirical Inquiries
Induction
Inference of a
general rule
from a particular
case/result
(observation)
Abduction
(Creative) Synthesis of an
explanatory case from a general rule
and a particular result (observation)
Deduction
Application of a general rule
to a particular case,
inferring a specific result
Source: Mendez and Passoth. Empirical Software
Engineering: from Discipline to Interdiscipline, 2018.
From real world phenomena to theories and back:
The empirical life cycle
Empirical Approaches
Theory / Theories
(Tentative) Hypothesis
Falsification /
Corroboration
Theory (Pattern)
Building
Units of Analysis
Sampling Frame
Sampling
Hypothesis
Building
Empirical Inquiries
Induction
Inference of a
general rule
from a particular
case/result
(observation)
Abduction
(Creative) Synthesis of an
explanatory case from a general rule
and a particular result (observation)
Deduction
Application of a general rule
to a particular case,
inferring a specific result
Source: Mendez and Passoth. Empirical Software
Engineering: from Discipline to Interdiscipline, 2018.
Further reading and outlook
• Epistemological setting of Empirical Software Engineering
• Theory building and evaluation
• Challenges in Empirical Software Engineering
Preprint: https://arxiv.org/abs/1805.08302
Outline
• What is Empirical Software Engineering?
• Why do we need Empirical Software Engineering?
• What are the perspectives in Empirical Software Engineering?
Importance of
Empirical Software Engineering
We need a reliable body of knowledge about
• our discipline and (e.g. social) phenomena involved, and
• limits and effects of artefacts (technologies, techniques,
processes, models, etc.) in their practical contexts.
Building and evaluating theories is crucial
for Software Engineering research and practice
Recap
What are exemplary scientific
Software Engineering Theories?
-- Which ones do you know? --
Scientific Theories in Software Engineering
Image Source: https://www.worldwildlife.org/habitats/deserts
Disclaimer: Symbolic statement, might be slightly over exaggerated
Transferred verbatim from other
disciplines (i.e. not adopted)
Example: Theory of Gatekeeping
Isolated and vague (i.e. universal)
Example: “Frontloading efforts
decreases overall development costs”
Not backed by evidence (i.e. non-
scientific conventional wisdom)
Example: “GoTo statements are harmful”
Current state of evidence in Software Engineering
“[…] judging a theory by assessing the number,
faith, and vocal energy of its supporters […] basic
political credo of contemporary religious maniacs”
— Imre Lakatos, 1970
* Addressing the situation in the quantum mechanics research community, an analogy
Example: Goal-oriented RE
[1] Horkoff et al. Goal-Oriented Requirements Engineering: A Systematic Literature Map, 2016
Papers published [1]: 966
Papers including a case study [1]: 131
Studies involving practitioners [2]: 20
Practitioners actually using GORE [3]: ~ 5%
[3] Mendez et al. Naming the Pain in Requirements Engineering Initiative – www.napire.org
[2] Mavin, et al. Does Goal-Oriented Requirements Engineering Achieve its Goal?, 2017
Example: Goal-oriented RE
[1] Horkoff et al. Goal-Oriented Requirements Engineering: A Systematic Literature Map, 2016
Papers published [1]: 966
Papers including a case study [1]: 131
Studies involving practitioners [2]: 20
Practitioners actually using GORE [3]: ~ 5%
[3] Mendez et al. Naming the Pain in Requirements Engineering Initiative – www.napire.org
[2] Mavin, et al. Does Goal-Oriented Requirements Engineering Achieve its Goal?, 2017
Current state of evidence in SE
Available studies often…
• … remain isolated
• … discuss little (to no) relation
to existing evidence
• … strengthen confidence on own hopes
(and don’t report anything around)
• … don’t report negative results
Source (levels of evidence): Wohlin. An Evidence Profile for Software Engineering Research and Practice, 2013.
In most cases, we
are here
Conventional Wisdom in SE
“Leprechauns”: Folklore turned into facts
• Emerge from times where claims by
authorities were treated as “facts”
• Reasons manifold:
• Lack of empirical awareness
• Neglecting particularities
of practical contexts
• Neglecting relation to existing evidence
• No proper citations
(one side of the medal, over-conclusions, etc.)
• Lack of data
• …
Exemplary “leprechaun”:
Go To statements considered harmful
[1] Edsger Dijkstra . Go To Statement Considered Harmful. Communications of the ACM, 1968.
• Public exchange based on reasoning by argument (rationalist arguments)...
[4] Nagappan et al. An empirical study of goto in C code from GitHub repositories, 2015.
[2] Frank Rubin. ”GOTO Considered Harmful" Considered Harmful. Communications of the ACM, 1969.
[3] Donald Moore et al. " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" Communications of the ACM, 1987.
1968 1969 1987
• … finally tackled by one empirical study nearly 50 years later.
Exemplary “leprechaun”:
Go To statements considered harmful
[1] Edsger Dijkstra . Go To Statement Considered Harmful. Communications of the ACM, 1968.
• Public exchange based on reasoning by argument (rationalist arguments)...
[4] Nagappan et al. An empirical study of goto in C code from GitHub repositories, 2015.
[2] Frank Rubin. ”GOTO Considered Harmful" Considered Harmful. Communications of the ACM, 1969.
[3] Donald Moore et al. " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" Communications of the ACM, 1987.
2015
• … finally tackled by one empirical study nearly 50 years later.
“We conclude that developers
limit themselves to using goto
appropriately, [not] like Dijkstra
feared, [thus] goto does not
appear to be harmful in practice.”
Key Takeaway
• The current state of evidence in
Software Engineering is still weak
• Practical relevance and impact?
• Potential for transfer into practice and
adoption?
• But there is hope…
• Importance of empirical research
recognised
• Growth of a strong research
community over last two decades
Outline
• What is Empirical Software Engineering?
• Why do we need Empirical Software Engineering?
• What are the perspectives in Empirical Software Engineering?
Empirical Software Engineering Community
Empirical Software Engineering research community 2018 (Oulu, Finland)
Goals and perspectives in
Empirical Software Engineering
1. Provide tools and methods for empirical research
2. Establish strong Software Engineering theories
3. Eradicate conventional wisdom (“leprechauns”)
Various settings
• Industry settings
• Research initiatives from the community
• Publicly funded research projects
Example 1:
Industry setting
(as part of a Academia-industry collaboration)
Challenge: Role and Relevance of RE to Business Success unclear
Goal: “Find the proper Problem before solving it properly”
Exemplary question: “How does Customer Satisfaction depend on RE?”
How does Customer Satisfaction depend on RE?
• Interviews of different roles in different project settings
• Root cause analysis of customer satisfaction to phenomena in RE
How does Customer Satisfaction depend on RE?
• Interviews of different roles in different project settings
• Root cause analysis of customer satisfaction to phenomena in RE
How does Customer Satisfaction depend on RE?
• Interviews of different roles in different project settings
• Root cause analysis of customer satisfaction to phenomena in RE
… effective product and portfolio management, feature sizing, and project organisation
(feature planning, prioritisation, and sizing, resource and expertise planning, technology prioritisations)
… clear (dev.) process interfaces, responsibilities, and liability in distributed environments
… (regulatory) compliance: safety, security, and usability
… effective risk management and identification of moving target (and wicked problems)
(basis for “good-enough RE” and potential infusion of new RE techniques such as Design Thinking)
… increased stakeholder involvement and participation (accountability but also motivation)
… (…)
RE is a recognised basis for…
Example 2:
Research initiatives
Background: Requirements Engineering research often dominated by
conventional wisdom
Challenge: What research topics are of high practical relevance?
Exemplary initiatives in context of IREB working group (“IREB Research”)
NaPiRE
What are practices and problems in practical
Requirements Engineering environments?
How do practitioners perceive the relevance of
contributions by the RE research community?
How do practitioners perceive the relevance of
RE standards?
Naming the Pain in Requirements Engineering
Objectives: Build theory on RE practices used in industry and
on problems practitioners experience
Research method: Large-scale survey research
NaPiRE
www.napire.org
Practices Problems, causes, and effects
Context
Causes
Problems
Effects
First theory on Requirements Engineering practices and
problems supporting problem-driven research
See yourself and play with the interactive data visualisation:
www.napire.org
Interactive data visualisation
See yourself and play with the interactive data visualisation:
www.napire.org
Filter data by various variables
See yourself and play with the interactive data visualisation:
www.napire.org
Quiz
What is the most frequently stated
problem companies face in RE when
using a rather agile software
development process model?
?
Unprecise / Unmeasurable requirements
Incomplete or hidden requirements
Communication problems
?
?
See yourself and play with the interactive data visualisation:
www.napire.org
* Prize
Ericsson Space sweater J
Quiz
What is the most frequently stated
problem companies face in RE when
using a rather agile software
development process model?
Unprecise / Unmeasurable requirements
Incomplete or hidden requirements
Communication problems
See yourself and play with the interactive data visualisation:
www.napire.org
* Prize
Ericsson Space sweater J
Example 3:
Publicly funded research projects
https://rethought.se
Background: Empirical software engineering is advancing already, but it
needs to integrate multiple competences:
• Data-centric automation
• Value orientation
• Human-centricity
Goal: Extend empirical SE to solve next generation SE problems.
See yourself: www.rethought.se
Approach SERLresearchers (us!) to find
out more (e.g. mastertheses)!
Outline
• What is Empirical Software Engineering?
• Why do we need Empirical Software Engineering?
• What are the perspectives in Empirical Software Engineering?
Key Takeaways
Empirical research is important to turn
software engineering into a scientific discipline
The state of evidence in Software
Engineering is still weak
The growth of a community of empirical
researchers and practitioners is promising
We are now entering the next generation of
empirical Software Engineering research
• Many opportunities:
Courses, master theses, and
beyond• Interested in knowing
more? The doors to our
offices are always open
1 of 58

Recommended

Test Strategy and Planning by
Test Strategy and PlanningTest Strategy and Planning
Test Strategy and PlanningSachin-QA
290 views13 slides
メトリクスによるソフトウェア品質評価・改善および製品品質実態 by
メトリクスによるソフトウェア品質評価・改善および製品品質実態メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスによるソフトウェア品質評価・改善および製品品質実態Hironori Washizaki
4.8K views40 slides
Risk Management by
Risk ManagementRisk Management
Risk ManagementHinal Lunagariya
420 views24 slides
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~ by
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Yasuharu Nishi
3.5K views26 slides
Career in Software Engineering by
Career in Software EngineeringCareer in Software Engineering
Career in Software EngineeringRajesh Gupta
1.2K views11 slides
Istqb chapter 5 by
Istqb chapter 5Istqb chapter 5
Istqb chapter 5nstprabakaran
3.2K views39 slides

More Related Content

What's hot

キーワード駆動によるシステムテストの自動化について 2015 by
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015Toru Koido
22.7K views63 slides
概説 テスト分析 by
概説 テスト分析概説 テスト分析
概説 テスト分析崇 山﨑
31.7K views51 slides
SOFTWARE PROJECT MANAGEMENT TOOL PPT by
SOFTWARE PROJECT MANAGEMENT TOOL PPTSOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPTSai Charan
4.3K views27 slides
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性 by
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性Noriyuki Mizuno
814 views21 slides
Software Frontloading and QA by
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QAYasuharu Nishi
7.3K views70 slides
はじめてのソフトウェアテスト by
はじめてのソフトウェアテストはじめてのソフトウェアテスト
はじめてのソフトウェアテストRina Fukuda
28.5K views48 slides

What's hot(20)

キーワード駆動によるシステムテストの自動化について 2015 by Toru Koido
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Toru Koido22.7K views
概説 テスト分析 by 崇 山﨑
概説 テスト分析概説 テスト分析
概説 テスト分析
崇 山﨑31.7K views
SOFTWARE PROJECT MANAGEMENT TOOL PPT by Sai Charan
SOFTWARE PROJECT MANAGEMENT TOOL PPTSOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPT
Sai Charan4.3K views
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性 by Noriyuki Mizuno
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性
実践ソフトウェアエンジニアリング(第9版)~長年積み上げられた体系と各種技術との関連性
Noriyuki Mizuno814 views
Software Frontloading and QA by Yasuharu Nishi
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QA
Yasuharu Nishi7.3K views
はじめてのソフトウェアテスト by Rina Fukuda
はじめてのソフトウェアテストはじめてのソフトウェアテスト
はじめてのソフトウェアテスト
Rina Fukuda28.5K views
Chaos Engineering: Injecting Failure for Building Resilience in Systems by Yury Roa
Chaos Engineering: Injecting Failure for Building Resilience in SystemsChaos Engineering: Injecting Failure for Building Resilience in Systems
Chaos Engineering: Injecting Failure for Building Resilience in Systems
Yury Roa314 views
JIRA Performance Testing in Pictures - Edward Bukoski Michael March by Atlassian
JIRA Performance Testing in Pictures - Edward Bukoski Michael MarchJIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
Atlassian10.3K views
Ch15 software reliability by Abraham Paul
Ch15 software reliabilityCh15 software reliability
Ch15 software reliability
Abraham Paul231 views
テスト観点に基づくテスト開発方法論 VSTePの概要 by Yasuharu Nishi
テスト観点に基づくテスト開発方法論VSTePの概要テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論 VSTePの概要
Yasuharu Nishi9.6K views
Future Research Challenges in Software Evolution by Tom Mens
Future Research Challenges in Software EvolutionFuture Research Challenges in Software Evolution
Future Research Challenges in Software Evolution
Tom Mens1K views
Intro to Manual Testing by Ayah Soufan
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
Ayah Soufan637 views
車載ソフトウェアの品質保証のこれから by Yasuharu Nishi
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
Yasuharu Nishi2.7K views
Introdução à Qualidade de Software by Cloves da Rocha
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de Software
Cloves da Rocha384 views
Software engineering tutorial by Ahmed Elshal
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
Ahmed Elshal913 views
Software testing basic concepts by Hưng Hoàng
Software testing basic conceptsSoftware testing basic concepts
Software testing basic concepts
Hưng Hoàng46K views
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 by Hironori Washizaki
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質 SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
Hironori Washizaki5.7K views
アジャイルオフショア開発モデル by Arata Fujimura
アジャイルオフショア開発モデルアジャイルオフショア開発モデル
アジャイルオフショア開発モデル
Arata Fujimura3.2K views

Similar to Empirical Software Engineering - What is it and why do we need it?

Building and Evaluating Theories 
 in Software Engineering by
Building and Evaluating Theories 
 in Software EngineeringBuilding and Evaluating Theories 
 in Software Engineering
Building and Evaluating Theories 
 in Software EngineeringDaniel Mendez
1.2K views60 slides
An Introduction into Philosophy of Science for Software Engineers by
An Introduction into Philosophy of Science for Software Engineers An Introduction into Philosophy of Science for Software Engineers
An Introduction into Philosophy of Science for Software Engineers Daniel Mendez
4.1K views181 slides
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La... by
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...CS, NcState
756 views51 slides
Scientific software engineering methods and their validity by
Scientific software engineering methods and their validityScientific software engineering methods and their validity
Scientific software engineering methods and their validityDaniel Mendez
902 views45 slides
NUS PhD e-open day 2020 by
NUS PhD e-open day 2020NUS PhD e-open day 2020
NUS PhD e-open day 2020Abhik Roychoudhury
30.6K views25 slides
ABC-PhD program-Politecnico di Milano by
ABC-PhD program-Politecnico di MilanoABC-PhD program-Politecnico di Milano
ABC-PhD program-Politecnico di MilanoEnrico DeAngelis
1.3K views133 slides

Similar to Empirical Software Engineering - What is it and why do we need it?(20)

Building and Evaluating Theories 
 in Software Engineering by Daniel Mendez
Building and Evaluating Theories 
 in Software EngineeringBuilding and Evaluating Theories 
 in Software Engineering
Building and Evaluating Theories 
 in Software Engineering
Daniel Mendez1.2K views
An Introduction into Philosophy of Science for Software Engineers by Daniel Mendez
An Introduction into Philosophy of Science for Software Engineers An Introduction into Philosophy of Science for Software Engineers
An Introduction into Philosophy of Science for Software Engineers
Daniel Mendez4.1K views
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La... by CS, NcState
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...
PROMISE 2011: Seven Habits of High Impactful Empirical Software Engineers (La...
CS, NcState756 views
Scientific software engineering methods and their validity by Daniel Mendez
Scientific software engineering methods and their validityScientific software engineering methods and their validity
Scientific software engineering methods and their validity
Daniel Mendez902 views
ABC-PhD program-Politecnico di Milano by Enrico DeAngelis
ABC-PhD program-Politecnico di MilanoABC-PhD program-Politecnico di Milano
ABC-PhD program-Politecnico di Milano
Enrico DeAngelis1.3K views
Survey Research in Software Engineering by Daniel Mendez
Survey Research in Software EngineeringSurvey Research in Software Engineering
Survey Research in Software Engineering
Daniel Mendez1.7K views
Requirements Engineering Research: How good are we at solving practical prob... by Daniel Mendez
Requirements Engineering Research:  How good are we at solving practical prob...Requirements Engineering Research:  How good are we at solving practical prob...
Requirements Engineering Research: How good are we at solving practical prob...
Daniel Mendez228 views
Designing Useful and Usable Augmented Reality Experiences by Yan Xu
Designing Useful and Usable Augmented Reality Experiences Designing Useful and Usable Augmented Reality Experiences
Designing Useful and Usable Augmented Reality Experiences
Yan Xu217 views
Lecture 3 Computer Science Research SEM1 22_23 (1).pptx by NabilaHassan13
Lecture 3 Computer Science Research SEM1 22_23 (1).pptxLecture 3 Computer Science Research SEM1 22_23 (1).pptx
Lecture 3 Computer Science Research SEM1 22_23 (1).pptx
NabilaHassan13198 views
Case studies in industry - fundamentals and lessons learnt by Daniel Mendez
Case studies in industry - fundamentals and lessons learntCase studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learnt
Daniel Mendez1.6K views
Software Engineering Research: Leading a Double-Agent Life. by Lionel Briand
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.
Lionel Briand13.9K views
Data Sets as Facilitator for new Products and Services for Universities by Hendrik Drachsler
Data Sets as Facilitator for new Products and Services for UniversitiesData Sets as Facilitator for new Products and Services for Universities
Data Sets as Facilitator for new Products and Services for Universities
Hendrik Drachsler639 views
Data Science Master Specialisation by Arjen de Vries
Data Science Master SpecialisationData Science Master Specialisation
Data Science Master Specialisation
Arjen de Vries559 views
Field Studies as evaluation method for socio-technical interventions in Techn... by Viktoria Pammer-Schindler
Field Studies as evaluation method for socio-technical interventions in Techn...Field Studies as evaluation method for socio-technical interventions in Techn...
Field Studies as evaluation method for socio-technical interventions in Techn...
Ch 1 research introduciton by Temtim assefa
Ch 1 research introducitonCh 1 research introduciton
Ch 1 research introduciton
Temtim assefa127 views

More from Daniel Mendez

Design Thinking for Requirements Engineering by
Design Thinking for Requirements EngineeringDesign Thinking for Requirements Engineering
Design Thinking for Requirements EngineeringDaniel Mendez
1.6K views70 slides
In Quest of Requirements Engineering Research that Industry Needs by
In Quest of Requirements Engineering Research that Industry NeedsIn Quest of Requirements Engineering Research that Industry Needs
In Quest of Requirements Engineering Research that Industry NeedsDaniel Mendez
957 views87 slides
Surveys in Software Engineering by
Surveys in Software EngineeringSurveys in Software Engineering
Surveys in Software EngineeringDaniel Mendez
3K views111 slides
Theory Building in RE - The NaPiRE Initiative by
Theory Building in RE - The NaPiRE InitiativeTheory Building in RE - The NaPiRE Initiative
Theory Building in RE - The NaPiRE InitiativeDaniel Mendez
433 views41 slides
Where do we stand in Requirements Engineering Improvement Today? First Result... by
Where do we stand in Requirements Engineering Improvement Today? First Result...Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...Daniel Mendez
354 views11 slides
Naming the Pain in Requirements Engineering - Design of a Global Family of Su... by
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Daniel Mendez
508 views18 slides

More from Daniel Mendez(16)

Design Thinking for Requirements Engineering by Daniel Mendez
Design Thinking for Requirements EngineeringDesign Thinking for Requirements Engineering
Design Thinking for Requirements Engineering
Daniel Mendez1.6K views
In Quest of Requirements Engineering Research that Industry Needs by Daniel Mendez
In Quest of Requirements Engineering Research that Industry NeedsIn Quest of Requirements Engineering Research that Industry Needs
In Quest of Requirements Engineering Research that Industry Needs
Daniel Mendez957 views
Surveys in Software Engineering by Daniel Mendez
Surveys in Software EngineeringSurveys in Software Engineering
Surveys in Software Engineering
Daniel Mendez3K views
Theory Building in RE - The NaPiRE Initiative by Daniel Mendez
Theory Building in RE - The NaPiRE InitiativeTheory Building in RE - The NaPiRE Initiative
Theory Building in RE - The NaPiRE Initiative
Daniel Mendez433 views
Where do we stand in Requirements Engineering Improvement Today? First Result... by Daniel Mendez
Where do we stand in Requirements Engineering Improvement Today? First Result...Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...
Daniel Mendez354 views
Naming the Pain in Requirements Engineering - Design of a Global Family of Su... by Daniel Mendez
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Daniel Mendez508 views
Who cares about Software Process Modelling? A First Investigation about the P... by Daniel Mendez
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...
Daniel Mendez405 views
Improving Requirements Engineering by Artefact Orientation by Daniel Mendez
Improving Requirements Engineering by Artefact OrientationImproving Requirements Engineering by Artefact Orientation
Improving Requirements Engineering by Artefact Orientation
Daniel Mendez323 views
On the Distinction of Functional and Quality Requirements in Practice by Daniel Mendez
On the Distinction of Functional and Quality Requirements in PracticeOn the Distinction of Functional and Quality Requirements in Practice
On the Distinction of Functional and Quality Requirements in Practice
Daniel Mendez588 views
Software Engineering Excellence - The key to mastering the Digital Transforma... by Daniel Mendez
Software Engineering Excellence - The key to mastering the Digital Transforma...Software Engineering Excellence - The key to mastering the Digital Transforma...
Software Engineering Excellence - The key to mastering the Digital Transforma...
Daniel Mendez997 views
Case Studies in Industry - What We Have Learnt by Daniel Mendez
Case Studies in Industry - What We Have LearntCase Studies in Industry - What We Have Learnt
Case Studies in Industry - What We Have Learnt
Daniel Mendez604 views
A Case Study on Artefact-based RE Improvement in Practice by Daniel Mendez
A Case Study on Artefact-based RE Improvement in PracticeA Case Study on Artefact-based RE Improvement in Practice
A Case Study on Artefact-based RE Improvement in Practice
Daniel Mendez775 views
Theories in Empirical Software Engineering by Daniel Mendez
Theories in Empirical Software EngineeringTheories in Empirical Software Engineering
Theories in Empirical Software Engineering
Daniel Mendez1.1K views
An Exploratory Study on Technology Transfer in Software Engineering by Daniel Mendez
An Exploratory Study on Technology Transfer in Software EngineeringAn Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software Engineering
Daniel Mendez998 views
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra... by Daniel Mendez
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...
Daniel Mendez787 views
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur... by Daniel Mendez
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...
Daniel Mendez877 views

Recently uploaded

Effect of deep chemical mixing columns on properties of surrounding soft clay... by
Effect of deep chemical mixing columns on properties of surrounding soft clay...Effect of deep chemical mixing columns on properties of surrounding soft clay...
Effect of deep chemical mixing columns on properties of surrounding soft clay...AltinKaradagli
6 views10 slides
sam_software_eng_cv.pdf by
sam_software_eng_cv.pdfsam_software_eng_cv.pdf
sam_software_eng_cv.pdfsammyigbinovia
5 views5 slides
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L... by
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...Anowar Hossain
12 views34 slides
SPICE PARK DEC2023 (6,625 SPICE Models) by
SPICE PARK DEC2023 (6,625 SPICE Models) SPICE PARK DEC2023 (6,625 SPICE Models)
SPICE PARK DEC2023 (6,625 SPICE Models) Tsuyoshi Horigome
17 views218 slides
Codes and Conventions.pptx by
Codes and Conventions.pptxCodes and Conventions.pptx
Codes and Conventions.pptxIsabellaGraceAnkers
7 views5 slides

Recently uploaded(20)

Effect of deep chemical mixing columns on properties of surrounding soft clay... by AltinKaradagli
Effect of deep chemical mixing columns on properties of surrounding soft clay...Effect of deep chemical mixing columns on properties of surrounding soft clay...
Effect of deep chemical mixing columns on properties of surrounding soft clay...
AltinKaradagli6 views
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L... by Anowar Hossain
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...
Anowar Hossain12 views
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,... by AakashShakya12
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...
AakashShakya1263 views
Update 42 models(Diode/General ) in SPICE PARK(DEC2023) by Tsuyoshi Horigome
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Generative AI Models & Their Applications by SN
Generative AI Models & Their ApplicationsGenerative AI Models & Their Applications
Generative AI Models & Their Applications
SN6 views
Advances in micro milling: From tool fabrication to process outcomes by Shivendra Nandan
Advances in micro milling: From tool fabrication to process outcomesAdvances in micro milling: From tool fabrication to process outcomes
Advances in micro milling: From tool fabrication to process outcomes
MSA Website Slideshow (16).pdf by msaucla
MSA Website Slideshow (16).pdfMSA Website Slideshow (16).pdf
MSA Website Slideshow (16).pdf
msaucla58 views
_MAKRIADI-FOTEINI_diploma thesis.pptx by fotinimakriadi
_MAKRIADI-FOTEINI_diploma thesis.pptx_MAKRIADI-FOTEINI_diploma thesis.pptx
_MAKRIADI-FOTEINI_diploma thesis.pptx
fotinimakriadi7 views
Machine Element II Course outline.pdf by odatadese1
Machine Element II Course outline.pdfMachine Element II Course outline.pdf
Machine Element II Course outline.pdf
odatadese18 views
fakenews_DBDA_Mar23.pptx by deepmitra8
fakenews_DBDA_Mar23.pptxfakenews_DBDA_Mar23.pptx
fakenews_DBDA_Mar23.pptx
deepmitra812 views
Instrumentation & Control Lab Manual.pdf by NTU Faisalabad
Instrumentation & Control Lab Manual.pdfInstrumentation & Control Lab Manual.pdf
Instrumentation & Control Lab Manual.pdf
NTU Faisalabad 5 views
zincalume water storage tank design.pdf by 3D LABS
zincalume water storage tank design.pdfzincalume water storage tank design.pdf
zincalume water storage tank design.pdf
3D LABS5 views
Design of machine elements-UNIT 3.pptx by gopinathcreddy
Design of machine elements-UNIT 3.pptxDesign of machine elements-UNIT 3.pptx
Design of machine elements-UNIT 3.pptx
gopinathcreddy29 views
Thermal aware task assignment for multicore processors using genetic algorithm by IJECEIAES
Thermal aware task assignment for multicore processors using genetic algorithm Thermal aware task assignment for multicore processors using genetic algorithm
Thermal aware task assignment for multicore processors using genetic algorithm
IJECEIAES31 views

Empirical Software Engineering - What is it and why do we need it?

  • 1. Empirical Software Engineering What is it and why do we need it? Blekinge Institute of Technology, Sweden fortiss GmbH, Germany www.mendezfe.org mendezfe Daniel Méndez
  • 2. About me // Daniel Mendez Head of research division Requirements Engineering daniel.mendez@bth.se www.mendezfe.org 📍Munich 📍 Karlskrona Full Professor in Software Engineering Research areas / interests ▪ (Empirical Software Engineering) ▪ Requirements engineering, software quality management, and processes improvement ▪ Strong focus on Academia-Industry Collaborations and Technology Transfer Research Networks and Initiatives ▪ Naming the Pain in Requirements Engineering (www.napire.org) ▪ IREB Research working group ▪ International Software Engineering Research Network (ISERN)
  • 3. Ground rules As we have to use , please feel free to interrupt me any time as I might not see you raising your hand. Whenever you have questions / remarks, please don’t ask , but share them with the whole group. (1) (2)
  • 4. What could be wrong with such a study? Research Question: Which car has the best driving performance? H_0: There is no difference. 20 people without a driving licence participate. They are taught to drive in a lecture of 2 hours. Results: The BMW is significantly better than the Audi (p<0.01) Adopted from: Dag I.K. Sjøberg, Keynote at the International Conference on Product-Focused SW Process Improvement 2016, Trondheim, Norway. Image soruces: Manufacturer websites Empirical research is more than simplyapplying statistical equations
  • 5. Goal of the lecture What is this little thing called “Empirical Software Engineering”? What we will discuss • In a nutshell: • Broader perspective on Software Engineering (SE) as a scientific discipline • A few principles, concepts, and terms in Empirical SE • Why we need empiricism in Software Engineering research • What the perspectives are for the research community and for you Focus: What & Why Basis for… • Course on research methods • Master Thesis projects • The time afterwards Focus: How
  • 6. Outline • What is Empirical Software Engineering? • Why do we need Empirical Software Engineering? • What are the perspectives in Empirical Software Engineering?
  • 7. Outline • What is Empirical Software Engineering? • Why do we need Empirical Software Engineering? • What are the perspectives in Empirical Software Engineering?
  • 8. Let’s start step by step…. What is science? -- What do you think? --
  • 9. “Science” wasn’t built in a day… 384-322 BC 1561-1626 1694-1778 1724-1804 1896-1980 1902-1994… … … … Aristoteles Bacon Voltaire Kant Piaget Popper • Search for laws and reasoning for phenomena • Understanding the nature of phenomena • Progress of knowledge of nature (reality) • Draw benefits from knowledge growth • Emancipation from gods and beliefs • System of Epistemology (theory of knowledge) • Era of constructivism • Falsification as demarcation criterion • Birth of null hypothesis testing Science is understood as the human undertaking for the search of knowledge (through systematic application of scientific methods) àNeeds to be considered in a historical context àIncreased understanding of scientific practice (and what science eventually is)
  • 10. Scientific practices and research methods have changed over time, the role of empiricism* not Today * Gaining knowledge through sensory experiences 384-322 BC Le Petit Prince (1943) Large Hadron Collider
  • 11. Scientific knowledge and practice (Necessary) postulates for scientific practice: • There are certain rules, principles, and norms for scientific practices • Rationalism: Reasoning by argument / logical inference / mathematical proof • Empiricism: Reasoning by sensory experiences (case studies, experiments,…) • There is nothing absolute about truth • There is a scientific community to judge about the quality of empirical studies • Although empirical observations may be faulty, it is possible (in the long run) to make reliable observations and to falsify incorrect statements about reality Scientific knowledge is the portrait of our understanding of reality (via scientific theories).
  • 12. What is Software Engineering research? Is it scientific? -- What do you think? --
  • 13. Different purposes in science • Gaining and validating new insights • Often theoretical character • Typically addressed by natural and social sciences Basic Science • Applying scientific methods to practical ends • Often practical (& pragmatic) character • Typically addressed by engineering disciplines In software engineering research, we • apply scientific methods to practical ends (treating design science problems) • treat insight-oriented questions, thus, we are an insight-oriented science, too Applied Science
  • 14. Different purposes in science Fundamental / basic research Applied research Image Sources: Wikipedia (l), Apple (r) Basic Science Applied Science * Graph theory (Königsberg Bridge problem)
  • 15. What is Software Engineering research? Is it scientific? -- Yes, Software Engineering research is scientific! --
  • 16. Software Engineering research • Software engineering is about development (not production), inherently complex, and human-centric • Only empirical research allows us to advance our knowledge: • Reason about the discipline and (e.g. social) phenomena involved • Recognise and understand limits and effects of artefacts in their contexts (e.g. by evaluating technologies, techniques, processes, models, etc.) àExemplary questions: • There exist over 200 documented requirements elicitation techniques • Which one(s) work in my context? • To which extent? Under which conditions? • There is a new method for requirements elicitation • What are the strengths and limitations?
  • 17. Empirical Software Engineering Practitioners “versus” Researchers • Researchers usually concerned with understanding the nature of artefacts and their relationship in the context • What is the effect? • Why is it so? • Practitioners usually concerned with improving their engineering practices and outcomes, using available knowledge • What is the problem? • What is the best solution? The ultimate goal of Empirical Software Engineering is theory building and evaluation to advance our body of knowledge. In our field, theoretical and practical relevance have often a special symbiotic relation
  • 18. But what is a Scientific Theory? -- What do you think? --
  • 19. Theories (generally speaking) Examples (following this general notion of theory): • “Vaccinations lead to autism” • “Global warming is a hoax by ecologists to harm the industry” • “Earth is flat” • “Wearing face masks does more harm than the effects of COVID-19” • … A theory is a belief that there is a pattern in phenomena. Are these theories scientific? No: Speculations based on imagination, hopes and fears, and resulting in opinions that often cannot be refuted (i.e. logical fallacies)
  • 20. Scientific Theories 1. Tests • Experiments, simulations, … • Replications 2. Criticism • Peer reviews / acceptance in the community • Corroborations / extensions with further theories A scientific theory is a belief that there is a pattern in phenomena while having survived 1. tests against sensory experiences 2. criticism by critical peers Note: Addresses so-called Demarcation Problem to distinguish science from non- science (as per introduction by K. Popper) In scope of empirical research methods (but out of scope for today)
  • 21. Scientific Theories have… … a purpose: … quality criteria: • Testability • Empirical support / (high) level of confidence • Explanatory power • Usefulness to researchers and / or practitioners • … Analytical Explanatory Predictive Explanatory & Predictive Scope Descriptions and conceptualisation, including taxonomies, classifications, and ontologies - What is? Identification of phenomena by identifying causes, mechanisms or reasons - Why is? Prediction of what will happen in the future - What will happen? Prediction of what will happen in the future and explanation - What will happen and why? Note: “Law” versus “Theory” A law is a descriptive theory without explanations (i.e. an analytical theory) Adapted from: Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010. Further information on: https://goo.gl/SQQwxt
  • 22. Exemplary framework for describing theories in Software Engineering • Constructs: What are the basic elements? (Actors, technologies, activities, system entities, context factors) • Propositions: How do the constructs interact? • Explanations: Why are the propositions as specified? • Scope: What is the universe of discourse in which the theory is applicable? Source (framewrk): Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010.
  • 23. Exemplary framework for describing theories in Software Engineering • Constructs: What are the basic elements? (Actors, technologies, activities, system entities, context factors) • Propositions: How do the constructs interact? • Explanations: Why are the propositions as specified? • Scope: What is the universe of discourse in which the theory is applicable? Source (example): Wagner, Mendez et al. Status Quo in Requirements Engineering: A Theory and a Global Family of Surveys, TOSEM 2018. Source (framewrk): Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010. Example Proposition: “Structured requirements lists are documented textually in free form or textually with constraints.” Explanation and Scope: “Free-form and constraint textual requirements are sufficient for many contexts such as in agile projects where they only act as reminders for further conversations.”
  • 24. Theories and hypotheses Scientific theory • “[…] based on hypotheses tested and verified multiple times by detached researchers” (J. Bortz and N. Döring, 2003) Hypothesis • “[…] a statement that proposes a possible explanation to some phenomenon or event” (L. Given, 2008) • Grounded in theory, testable and falsifiable • Often quantified and written as a conditional statementEmpirical Approaches Theory / Theories (Tentative) Hypothesis Falsification / Corroboration Theory (Pattern) Building Hypothesis Building If cause/assumption (independent variables) then (=>) consequence (dependent variables) Note: We don’t “test theories”, but their consequences via hypotheses (i.e. testable propositions)
  • 25. From real world phenomena to theories and back: The empirical life cycle Empirical Approaches Theory / Theories (Tentative) Hypothesis Falsification / Corroboration Theory (Pattern) Building Units of Analysis Sampling Frame Sampling Hypothesis Building Empirical Inquiries Induction Inference of a general rule from a particular case/result (observation) Abduction (Creative) Synthesis of an explanatory case from a general rule and a particular result (observation) Deduction Application of a general rule to a particular case, inferring a specific result Source: Mendez and Passoth. Empirical Software Engineering: from Discipline to Interdiscipline, 2018.
  • 26. From real world phenomena to theories and back: The empirical life cycle Empirical Approaches Theory / Theories (Tentative) Hypothesis Falsification / Corroboration Theory (Pattern) Building Units of Analysis Sampling Frame Sampling Hypothesis Building Empirical Inquiries Induction Inference of a general rule from a particular case/result (observation) Abduction (Creative) Synthesis of an explanatory case from a general rule and a particular result (observation) Deduction Application of a general rule to a particular case, inferring a specific result Source: Mendez and Passoth. Empirical Software Engineering: from Discipline to Interdiscipline, 2018. Further reading and outlook • Epistemological setting of Empirical Software Engineering • Theory building and evaluation • Challenges in Empirical Software Engineering Preprint: https://arxiv.org/abs/1805.08302
  • 27. Outline • What is Empirical Software Engineering? • Why do we need Empirical Software Engineering? • What are the perspectives in Empirical Software Engineering?
  • 28. Importance of Empirical Software Engineering We need a reliable body of knowledge about • our discipline and (e.g. social) phenomena involved, and • limits and effects of artefacts (technologies, techniques, processes, models, etc.) in their practical contexts. Building and evaluating theories is crucial for Software Engineering research and practice Recap
  • 29. What are exemplary scientific Software Engineering Theories? -- Which ones do you know? --
  • 30. Scientific Theories in Software Engineering Image Source: https://www.worldwildlife.org/habitats/deserts Disclaimer: Symbolic statement, might be slightly over exaggerated Transferred verbatim from other disciplines (i.e. not adopted) Example: Theory of Gatekeeping Isolated and vague (i.e. universal) Example: “Frontloading efforts decreases overall development costs” Not backed by evidence (i.e. non- scientific conventional wisdom) Example: “GoTo statements are harmful”
  • 31. Current state of evidence in Software Engineering “[…] judging a theory by assessing the number, faith, and vocal energy of its supporters […] basic political credo of contemporary religious maniacs” — Imre Lakatos, 1970 * Addressing the situation in the quantum mechanics research community, an analogy
  • 32. Example: Goal-oriented RE [1] Horkoff et al. Goal-Oriented Requirements Engineering: A Systematic Literature Map, 2016 Papers published [1]: 966 Papers including a case study [1]: 131 Studies involving practitioners [2]: 20 Practitioners actually using GORE [3]: ~ 5% [3] Mendez et al. Naming the Pain in Requirements Engineering Initiative – www.napire.org [2] Mavin, et al. Does Goal-Oriented Requirements Engineering Achieve its Goal?, 2017
  • 33. Example: Goal-oriented RE [1] Horkoff et al. Goal-Oriented Requirements Engineering: A Systematic Literature Map, 2016 Papers published [1]: 966 Papers including a case study [1]: 131 Studies involving practitioners [2]: 20 Practitioners actually using GORE [3]: ~ 5% [3] Mendez et al. Naming the Pain in Requirements Engineering Initiative – www.napire.org [2] Mavin, et al. Does Goal-Oriented Requirements Engineering Achieve its Goal?, 2017
  • 34. Current state of evidence in SE Available studies often… • … remain isolated • … discuss little (to no) relation to existing evidence • … strengthen confidence on own hopes (and don’t report anything around) • … don’t report negative results Source (levels of evidence): Wohlin. An Evidence Profile for Software Engineering Research and Practice, 2013. In most cases, we are here
  • 35. Conventional Wisdom in SE “Leprechauns”: Folklore turned into facts • Emerge from times where claims by authorities were treated as “facts” • Reasons manifold: • Lack of empirical awareness • Neglecting particularities of practical contexts • Neglecting relation to existing evidence • No proper citations (one side of the medal, over-conclusions, etc.) • Lack of data • …
  • 36. Exemplary “leprechaun”: Go To statements considered harmful [1] Edsger Dijkstra . Go To Statement Considered Harmful. Communications of the ACM, 1968. • Public exchange based on reasoning by argument (rationalist arguments)... [4] Nagappan et al. An empirical study of goto in C code from GitHub repositories, 2015. [2] Frank Rubin. ”GOTO Considered Harmful" Considered Harmful. Communications of the ACM, 1969. [3] Donald Moore et al. " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" Communications of the ACM, 1987. 1968 1969 1987 • … finally tackled by one empirical study nearly 50 years later.
  • 37. Exemplary “leprechaun”: Go To statements considered harmful [1] Edsger Dijkstra . Go To Statement Considered Harmful. Communications of the ACM, 1968. • Public exchange based on reasoning by argument (rationalist arguments)... [4] Nagappan et al. An empirical study of goto in C code from GitHub repositories, 2015. [2] Frank Rubin. ”GOTO Considered Harmful" Considered Harmful. Communications of the ACM, 1969. [3] Donald Moore et al. " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" Communications of the ACM, 1987. 2015 • … finally tackled by one empirical study nearly 50 years later. “We conclude that developers limit themselves to using goto appropriately, [not] like Dijkstra feared, [thus] goto does not appear to be harmful in practice.”
  • 38. Key Takeaway • The current state of evidence in Software Engineering is still weak • Practical relevance and impact? • Potential for transfer into practice and adoption? • But there is hope… • Importance of empirical research recognised • Growth of a strong research community over last two decades
  • 39. Outline • What is Empirical Software Engineering? • Why do we need Empirical Software Engineering? • What are the perspectives in Empirical Software Engineering?
  • 40. Empirical Software Engineering Community Empirical Software Engineering research community 2018 (Oulu, Finland)
  • 41. Goals and perspectives in Empirical Software Engineering 1. Provide tools and methods for empirical research 2. Establish strong Software Engineering theories 3. Eradicate conventional wisdom (“leprechauns”) Various settings • Industry settings • Research initiatives from the community • Publicly funded research projects
  • 42. Example 1: Industry setting (as part of a Academia-industry collaboration) Challenge: Role and Relevance of RE to Business Success unclear Goal: “Find the proper Problem before solving it properly” Exemplary question: “How does Customer Satisfaction depend on RE?”
  • 43. How does Customer Satisfaction depend on RE? • Interviews of different roles in different project settings • Root cause analysis of customer satisfaction to phenomena in RE
  • 44. How does Customer Satisfaction depend on RE? • Interviews of different roles in different project settings • Root cause analysis of customer satisfaction to phenomena in RE
  • 45. How does Customer Satisfaction depend on RE? • Interviews of different roles in different project settings • Root cause analysis of customer satisfaction to phenomena in RE
  • 46. … effective product and portfolio management, feature sizing, and project organisation (feature planning, prioritisation, and sizing, resource and expertise planning, technology prioritisations) … clear (dev.) process interfaces, responsibilities, and liability in distributed environments … (regulatory) compliance: safety, security, and usability … effective risk management and identification of moving target (and wicked problems) (basis for “good-enough RE” and potential infusion of new RE techniques such as Design Thinking) … increased stakeholder involvement and participation (accountability but also motivation) … (…) RE is a recognised basis for…
  • 47. Example 2: Research initiatives Background: Requirements Engineering research often dominated by conventional wisdom Challenge: What research topics are of high practical relevance? Exemplary initiatives in context of IREB working group (“IREB Research”) NaPiRE What are practices and problems in practical Requirements Engineering environments? How do practitioners perceive the relevance of contributions by the RE research community? How do practitioners perceive the relevance of RE standards?
  • 48. Naming the Pain in Requirements Engineering Objectives: Build theory on RE practices used in industry and on problems practitioners experience Research method: Large-scale survey research NaPiRE www.napire.org Practices Problems, causes, and effects
  • 49. Context Causes Problems Effects First theory on Requirements Engineering practices and problems supporting problem-driven research
  • 50. See yourself and play with the interactive data visualisation: www.napire.org Interactive data visualisation
  • 51. See yourself and play with the interactive data visualisation: www.napire.org Filter data by various variables
  • 52. See yourself and play with the interactive data visualisation: www.napire.org
  • 53. Quiz What is the most frequently stated problem companies face in RE when using a rather agile software development process model? ? Unprecise / Unmeasurable requirements Incomplete or hidden requirements Communication problems ? ? See yourself and play with the interactive data visualisation: www.napire.org * Prize Ericsson Space sweater J
  • 54. Quiz What is the most frequently stated problem companies face in RE when using a rather agile software development process model? Unprecise / Unmeasurable requirements Incomplete or hidden requirements Communication problems See yourself and play with the interactive data visualisation: www.napire.org * Prize Ericsson Space sweater J
  • 55. Example 3: Publicly funded research projects https://rethought.se Background: Empirical software engineering is advancing already, but it needs to integrate multiple competences: • Data-centric automation • Value orientation • Human-centricity Goal: Extend empirical SE to solve next generation SE problems.
  • 56. See yourself: www.rethought.se Approach SERLresearchers (us!) to find out more (e.g. mastertheses)!
  • 57. Outline • What is Empirical Software Engineering? • Why do we need Empirical Software Engineering? • What are the perspectives in Empirical Software Engineering?
  • 58. Key Takeaways Empirical research is important to turn software engineering into a scientific discipline The state of evidence in Software Engineering is still weak The growth of a community of empirical researchers and practitioners is promising We are now entering the next generation of empirical Software Engineering research • Many opportunities: Courses, master theses, and beyond• Interested in knowing more? The doors to our offices are always open