SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
The Role of
Scientific Method in
Software Development
Natalia Juristo
Universidad Politécnica de Madrid
Spain
Content
1.
2.
3.
4.
5.

State of Software Development
The Scientific Method
Experimental Software Engineering
ESE Brief History
The SE Lab
State of Software Development
Some Data on Sw Development


16.3% of software projects are successful
The project is completed on time and within budget, and has all the features and
functions specified at the start



52.7% of software projects cost more, take longer
or do less
The project is completed and operational, but it cost more than budgeted (189%
more), took longer than estimated and offers fewer features and functions than
originally specified (42%)



31% are cancelled
The project is called off at some point during development before the system is
put into operation
SE Knowledge






Do we know why some projects are successful and
others are cancelled?
Can we predict which project will fail and which one will
not ?
Do we know why some products (requirements, design,
code) are obtained with higher quality than others?
Can we predict it ?

Are we able to predict anything about
software development?
State of Software Development


State of software development knowledge





Today the results of applying software development methods are
unpredictable
There is no evidence to support most of the beliefs on which
software systems development is based

State of software development practice


Method selection for and decision making on software
production is based on suppositions and subjective opinions




When, by chance (or thanks to practitioners’ personal and nontransferable know-how), the right methods are used, the software
construction projects run smoothly and output the desired product
When the wrong methods are applied, the project develops
haphazardly and the output product tends to be of poor quality
From Craft to Engineering


SE must lay aside perceptions, bias and marketspeak to provide fair and impartial analysis and
information



Decisions should be based on scientific and
reasoned foundations. The gurus’ claims should
not be docilely accepted
Other Engineering Disciplines


All engineering disciplines have taken a similar
step that has released them from the craft status
“The information used to build artefacts goes through stages,
ranging from beliefs, speculations and lucky guesses to scientific
knowledge by means of which an engineering discipline
achieves predictable results”
Mary Shaw
Prospects for an engineering discipline of software
IEEE Software
1990
Perceptions vs. Objectivity


Engineering disciplines are grounded on
objectivity



Objective data are helpful for finding out more
about reality, whereas subjective opinions can
lead to mistaken perceptions of reality



Only by working with scientific evidences rather
than assumptions will software development
become a real engineering discipline
The Scientific Method
Science


Science is a process to understand the
world



To understand a phenomenon, it is
necessary to conduct methodical,
thorough, meticulous and objective study
In Search of Knowledege
Science is a way of thinking,
more than a set of facts
Carl Sagan
1934 – 1996
Science


Science seeks explanations about





how the world works
why the world works as we perceive

Such explanations are known as laws or
theories
Scientific Laws




Are patterns of behaviour
Describe cause-effect relationships
Explain



why some events are related
how the mechanism linking the events
behaves
Scientific Law


The concept of law took a long time to come to fruition in human
thought


Aristotle² discussed the motion of material bodies, but his natural laws
of motion were just descriptions of how the final causes were supposed
to behave
“A stone falls because the “natural place” for heavy objects is the centre of
the Earth”



Appreciate the difference on how Galileo studied that same topic
Galileo³ dropped balls of the same material, but different masses, from the
Leaning Tower of Pisa and observed that their time of descent was
independent of their mass.
This was contrary to what Aristotle had taught: that heavy objects fall faster
than lighter ones, in direct proportion to weight

² 384BC – 322BC
³ 1564 - 1642
Scientific Law


Newton’s gravitation and motion laws ushered in the
scientific era
 Newton's postulate of an invisible force able to act over vast
distances led to him being criticized for introducing "occult
agencies" into science



We cannot perceive laws directly through our senses


1643-1727

Anyone can see an apple fall, but Newton’s inverse-square law
of gravitation only becomes apparent through special systematic
measurements
Causal Understanding




Gravity is the explanation of why bodies
fall
The relationships between the two bodies:
the one falling and the one attracting it
Falsification




Falsification is the refutation of a hypothesis or
theory by empirical evidence
Karl Popper:





Universal hypotheses are falsifiable, but not verifiable
“All swans are white” can be accepted as a tentative hypothesis,
until the first non-white swan is sighted
The longer a (falsifiable) hypothesis resists falsification, the more
reliable it is seen

1902 - 1994
Knowledge can Always Improve


Einstein’s relativity revised Newton’s theory
of gravity


With better predictions under new conditions (light
speed, etc.) that Newton’s gravitation Law did not
consider



Deeper understanding




In a way gravity does not exist. Gravity is a subproduct of the
spacetime warping produced by heavy objects

Newton’s gravitation law are still used today for nonrelativistic gravitational calculations
From Nexus to Laws


We cannot perceive laws directly through
our senses



Two activities are necessary



Systematic objective observation
Inference of links between cause & effect
The Scientific Method


Collection of Empirical Data




Theoretical Interpretation of Data




Systematic observation to appreciate the nexus

Form a hypothesis (right or wrong) about the
mechanisms relating the events

Collection of Empirical Data


Hypothesis need to be tested against reality to know
if they are true or not
What Makes a Method Scientific?


Exploration of causality



Objective observation



Methodic variation and control of variables



Repeatability
Objective Observation
When you can measure what you are speaking about and express it in
numbers, you know something about it; but when you cannot measure it,
your knowledge is of a meager and unsatisfactory kind; it may be the
beginning of knowledge, but you have scarcely in your thoughts advanced to
the state of Science
Lord Kelvin
1824 - 1907
Prescientific Stages


Before existing scientific knowledge
humans are able to build interesting
artifacts



Building does not mean understanding the
mechanisms
Building without Understanding
1st Step: Objective Observation
Empirical
Information

Prediction

Theoretical
Interpretation

Mechanism
Understanding
Predicting without Understanding
Data

Theory



The accumulation of data, without
inferential leap to the theory, never
reaches a mechanism understanding



In the absence of empirical data, theories
are moving in the realm of speculation
2nd Step: Objective Observation
Empirical
Information

Prediction

Theoretical
Interpretation

Mechanism
Understanding
Wrong Explanation


Geocentric Theory
 Systematic observation


Two common observations were believed to support the idea
that the Earth is in the center of the Universe






The perception that as the Earth is solid and stable it is not
moving but is at rest

Hypothesis of explanation




The stars, sun, and planets appear to revolve around the Earth
each day, with the stars circling around the pole and those
stars nearer the equator rising and setting each day and
circling back to their rising point

Ptolemaic Planets System

Similar ideas were held in ancient China
Wrong but Useful


Even shallow causal understanding is much
better than nothing



Ptolemaic Planets (wrong explanation based
on data) were useful for prediction
 Antikythera mechanism (an ancient
mechanical calculator built about 150–100
BC) was designed to calculate astronomical
positions based on Ptolemaic Planet
System
 Predicted solar eclipses
 Calculated the timing of the Ancient
Olympic Games
 …
Scientific Method: A Definition


A body of techniques for investigating
phenomena and acquiring new knowledge



To be termed scientific, a method of
inquiry must be based on gathering
observable, empirical and measurable
evidence subject to specific principles of
reasoning
Scientific Method: Another View




A rigorous process for properly developing
and evaluating explanations for
observable phenomena based on reliable
empirical evidence and neutral, unbiased
independent verification
Not based on arguments from authority or
popular preferences
Experimental Software Engineering
Experimental SE


Brings the scientific method through the
experimental paradigm into SE



Generate scientific statements about
software building through experimentation
Why Experimenting in SE?


Too many methods and tools exist to allow each
developer or software industry to determine the best
choice of tools and methods by trial and error




Yet this choice is obviously important

A general feeling of unease with the “advocacy style” of
software research


The “Try it, you’ll like it”-method is not feasible anymore: too
many alternatives to try
Claims for SE Experimentation: Old


Did Anyone Study Any real Programmers?




Experimentation can help build a reliable base of knowledge and
thus reduce uncertainty about which theories, methods, and tools
are adequate




Bill Curtis, Paper tile at Empirical Studies of Programmers Workshop, 1986

Tichy, Computer, 1998

Experimentation in SE is necessary, common wisdom, intuition,
speculation, and proofs of concepts are not reliable sources of
credible knowledge


Vic Basili, TSE, 1999
Claims for SE Experimentation: New


The actual software construction isn’t necessarily experimental, but
its conception is. An this is where our focus ought to be. It’s where
our focus always ought to have bee




Tom de Marco, IEEE Software, 2009

The empirical side of software engineering should become a full
member of empirical sciences


Bertrand Mayer, Communications ACM, 2009
Experimentation to the Rescue!


Experiments determine whether claimed
differences among alternative SE techniques
are actually observable




For instance with respect to quality, cost,
maintainability of the software…

Experimentation is maturing




Fraction of empirical studies is rising
More laboratories, more sophistication
More and more papers contain empirical validation
Gaining SE Scientific Knowledge


Identify and understand



the variables that play a role in software development
the connections between variables



Learn cause-effect relationships between the
development process and the obtained products



Establish laws and theories about software
construction that explain development behaviour
What can we hope?









Knowledge about which methods work better than
others, under what circumstances, and why
Trustworthy theoretical models that explain and predict
Professional developers who can judge the validity of
empirical studies...
… who can ask meaningful questions about experiments
and theories and understand the answers
New methods and tools that provably simplify the
programmers work and we know why

Experimentalism is central to Software Research!
ESE Brief History
ESE: Origins


The origins of ESE can be traced back to Weinberg and
Tichy’s work in the 1970s advocating scientific
approaches that encouraged careful observation and
evaluation of software development methods



The first experiments were not run until the early 1980s
by Victor Basili’s group at the University of Maryland
with NASA’s Software Engineering Laboratory



Since then the use of experiments to examine the
applicability of SE technologies has gradually gained in
importance as a research methodology
ESE At Present
Journals & Conferences


A specialized journal and conference have
been founded over recent years





Empirical Software Engineering Journal
Empirical SE and Measurement Conference

Experiments are reported in leading SE
journals and conferences


For example, as many as 93 experiments were
published in journals and conferences from 1993 to
2003
ESE At Present
Textbooks


There are also a couple of books that
explain how to apply experimental tests to
software development


Experimentation in SE: An Introduction
Wohlin, Runeson, Höst, Ohlsson, Regnell, Wesslén
2000



Basics of SE Experimentation
Juristo & Moreno
2001
The SE Lab
What makes a Method Scientific?


Exploration of causality



Objective observation



Methodic variation and control of variables



Repeatability
Experiment


Experiment






Models key characteristics of a reality in a controlled
environment and manipulating them iteratively to
investigate the impact of such variations and get a
better understanding of a phenomenon
Formal, rigorous and controlled investigation in which
the variables under study are given different values to
find out what effect each value has

The properties of a complex system are
explained by analysing the behaviour of its parts
The Laboratory


Laboratory




Chemistry laboratory





Simplified and controllable reality where the phenomenon under
study can be manipulated and studied

Flasks and pipettes where temperatures and pressures are
controlled
Real world: Real substances with temperature and pressures

Economics laboratory



Sets of individuals playing games to earn toy benefits
Real-world: Markets (built of thousands of agents) where real
rewards are pursued
SE Experiment



Development decomposed into its parts
Manipulated variables






Techniques (design, testing, etc.),
Developers (experience, knowledge, etc.)
…

Impacts investigated



Effectiveness, efficiency, productivity, quality
Depending on the experiment, these response variables can be
instantiated as, for example, number of detected defects,
number of code lines, etc.
SE Laboratory





Students rather than professionals
Toy software rather than real systems
Exercises rather than real projects
Academy or a tutorial in industry rather
than real life in industry



Phases, techniques rather than project



…
Perceptions vs. Facts:
Example



An experiment in our V&V course which studies
techniques effectiveness
Are perceptions reliable?


Perception





Facts





Students like much more functional testing technique
They hate reading technique
Functional and structural are equally effective
Reading usually are more effective

Tastes, previous knowledge, easiness,
laziness are influencing their perceptions
Other Examples


Experiments falsify hypotheses




E.g. the assumption of failure independence in multiversion programming
John Knight and Nancy Leveson (1986) -- An
experimental evaluation of the assumption of
independence in multiversion programming. IEEE
TSE
From Lab to Clinic


Any lab finding has problems with
representativeness of reality



Different levels of experimental studies




In vitro experiments
In vivo experiments
Clinical trials
THE ROLE OF
SCIENTIFIC METHOD IN
SOFTWARE DEVELOPMENT
Natalia Juristo
Universidad Politécnica de Madrid
Spain
There is a lot more to say about
this...


Lakatos’ “Research programs”





Kuhn’s “Paradigms”







Theory needs time and space to develop
Falsification attempts should be delayed until it is well developed
Science does not follow the falsification path
Instead, there are “revolutions”, in which an established theory is
replaced by a different one
Between revolutions, there is “normal science” (extension,
strengthening, application, rounding out of accepted theory.)

Feyerabend’s “Anarchy”




From a historic perspective, there is no “scientific method”
“anything goes” to find new theories
The scientist must be competent, informed and follow scientific
standards.
Prediction vs. Understanding
Empirical
Information

Prediction

Scientific
Knowledege

Mechanism
Understanding

Contenu connexe

En vedette

Womenspoliticalparticipation law making process
Womenspoliticalparticipation law making processWomenspoliticalparticipation law making process
Womenspoliticalparticipation law making processHansani Sampath
 
Parliament and law making
Parliament and law makingParliament and law making
Parliament and law makingSteve Saffhill
 
Bits of Evidence
Bits of EvidenceBits of Evidence
Bits of EvidenceGreg Wilson
 

En vedette (7)

PROMISE keynote Juristo
PROMISE keynote JuristoPROMISE keynote Juristo
PROMISE keynote Juristo
 
Womenspoliticalparticipation law making process
Womenspoliticalparticipation law making processWomenspoliticalparticipation law making process
Womenspoliticalparticipation law making process
 
CESI Keynote English
CESI Keynote EnglishCESI Keynote English
CESI Keynote English
 
Parliament and law making
Parliament and law makingParliament and law making
Parliament and law making
 
Bits of Evidence
Bits of EvidenceBits of Evidence
Bits of Evidence
 
Introduction to law
Introduction to lawIntroduction to law
Introduction to law
 
Chapter 3-THE RESEARCH PROBLEM
Chapter 3-THE RESEARCH PROBLEMChapter 3-THE RESEARCH PROBLEM
Chapter 3-THE RESEARCH PROBLEM
 

Similaire à The Role of Scientific Method in Software Development

Scientific software engineering methods and their validity
Scientific software engineering methods and their validityScientific software engineering methods and their validity
Scientific software engineering methods and their validityDaniel Mendez
 
Ch 1 research introduciton
Ch 1 research introducitonCh 1 research introduciton
Ch 1 research introducitonTemtim assefa
 
Theory presentation
Theory presentationTheory presentation
Theory presentationcrhildreth
 
What is logic
What is logicWhat is logic
What is logicramled931
 
Information, Knowledge and Prognostic Criteria of Scientific Fundamental Rese...
Information, Knowledge and Prognostic Criteria of Scientific Fundamental Rese...Information, Knowledge and Prognostic Criteria of Scientific Fundamental Rese...
Information, Knowledge and Prognostic Criteria of Scientific Fundamental Rese...Valentyna Andrushchenko
 
Social_Research_Methods_on25Feb2016.pdf
Social_Research_Methods_on25Feb2016.pdfSocial_Research_Methods_on25Feb2016.pdf
Social_Research_Methods_on25Feb2016.pdfprinterwalasales1
 
Natural sciences 2012 13
Natural sciences 2012 13Natural sciences 2012 13
Natural sciences 2012 13Kieran Ryan
 
technical writing Chapter 1 Final (6).ppt
technical writing Chapter 1 Final (6).ppttechnical writing Chapter 1 Final (6).ppt
technical writing Chapter 1 Final (6).pptJenelynPonceAguilo
 
Lecture 3 Computer Science Research SEM1 22_23 (1).pptx
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).pptxNabilaHassan13
 
Data Science definition
Data Science definitionData Science definition
Data Science definitionCarloLauro1
 
Let's talk about Data Science
Let's talk about Data ScienceLet's talk about Data Science
Let's talk about Data ScienceCarlo Lauro
 
scientific method and the research process
scientific method and the research processscientific method and the research process
scientific method and the research processAdebanji Ayeni
 
chapter-3.pptx
chapter-3.pptxchapter-3.pptx
chapter-3.pptxAsmaRauf5
 
CODATA International Training Workshop in Big Data for Science for Researcher...
CODATA International Training Workshop in Big Data for Science for Researcher...CODATA International Training Workshop in Big Data for Science for Researcher...
CODATA International Training Workshop in Big Data for Science for Researcher...Johann van Wyk
 
Relevance of statistics sgd-slideshare
Relevance of statistics sgd-slideshareRelevance of statistics sgd-slideshare
Relevance of statistics sgd-slideshareSanjeev Deshmukh
 

Similaire à The Role of Scientific Method in Software Development (20)

AstroLecture2
AstroLecture2AstroLecture2
AstroLecture2
 
Scientific software engineering methods and their validity
Scientific software engineering methods and their validityScientific software engineering methods and their validity
Scientific software engineering methods and their validity
 
Ch 1 research introduciton
Ch 1 research introducitonCh 1 research introduciton
Ch 1 research introduciton
 
Theory presentation
Theory presentationTheory presentation
Theory presentation
 
What is logic
What is logicWhat is logic
What is logic
 
science
sciencescience
science
 
science
sciencescience
science
 
Information, Knowledge and Prognostic Criteria of Scientific Fundamental Rese...
Information, Knowledge and Prognostic Criteria of Scientific Fundamental Rese...Information, Knowledge and Prognostic Criteria of Scientific Fundamental Rese...
Information, Knowledge and Prognostic Criteria of Scientific Fundamental Rese...
 
Social_Research_Methods_on25Feb2016.pdf
Social_Research_Methods_on25Feb2016.pdfSocial_Research_Methods_on25Feb2016.pdf
Social_Research_Methods_on25Feb2016.pdf
 
Natural sciences 2012 13
Natural sciences 2012 13Natural sciences 2012 13
Natural sciences 2012 13
 
Information transmission and the mosaic of causal theory
Information transmission and the mosaic of causal theoryInformation transmission and the mosaic of causal theory
Information transmission and the mosaic of causal theory
 
technical writing Chapter 1 Final (6).ppt
technical writing Chapter 1 Final (6).ppttechnical writing Chapter 1 Final (6).ppt
technical writing Chapter 1 Final (6).ppt
 
Lecture 3 Computer Science Research SEM1 22_23 (1).pptx
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
 
Data Science definition
Data Science definitionData Science definition
Data Science definition
 
Let's talk about Data Science
Let's talk about Data ScienceLet's talk about Data Science
Let's talk about Data Science
 
RES701 Research Methodology Lecture 2
RES701 Research Methodology Lecture 2RES701 Research Methodology Lecture 2
RES701 Research Methodology Lecture 2
 
scientific method and the research process
scientific method and the research processscientific method and the research process
scientific method and the research process
 
chapter-3.pptx
chapter-3.pptxchapter-3.pptx
chapter-3.pptx
 
CODATA International Training Workshop in Big Data for Science for Researcher...
CODATA International Training Workshop in Big Data for Science for Researcher...CODATA International Training Workshop in Big Data for Science for Researcher...
CODATA International Training Workshop in Big Data for Science for Researcher...
 
Relevance of statistics sgd-slideshare
Relevance of statistics sgd-slideshareRelevance of statistics sgd-slideshare
Relevance of statistics sgd-slideshare
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

The Role of Scientific Method in Software Development

  • 1. The Role of Scientific Method in Software Development Natalia Juristo Universidad Politécnica de Madrid Spain
  • 2. Content 1. 2. 3. 4. 5. State of Software Development The Scientific Method Experimental Software Engineering ESE Brief History The SE Lab
  • 3. State of Software Development
  • 4. Some Data on Sw Development  16.3% of software projects are successful The project is completed on time and within budget, and has all the features and functions specified at the start  52.7% of software projects cost more, take longer or do less The project is completed and operational, but it cost more than budgeted (189% more), took longer than estimated and offers fewer features and functions than originally specified (42%)  31% are cancelled The project is called off at some point during development before the system is put into operation
  • 5. SE Knowledge     Do we know why some projects are successful and others are cancelled? Can we predict which project will fail and which one will not ? Do we know why some products (requirements, design, code) are obtained with higher quality than others? Can we predict it ? Are we able to predict anything about software development?
  • 6. State of Software Development  State of software development knowledge    Today the results of applying software development methods are unpredictable There is no evidence to support most of the beliefs on which software systems development is based State of software development practice  Method selection for and decision making on software production is based on suppositions and subjective opinions   When, by chance (or thanks to practitioners’ personal and nontransferable know-how), the right methods are used, the software construction projects run smoothly and output the desired product When the wrong methods are applied, the project develops haphazardly and the output product tends to be of poor quality
  • 7. From Craft to Engineering  SE must lay aside perceptions, bias and marketspeak to provide fair and impartial analysis and information  Decisions should be based on scientific and reasoned foundations. The gurus’ claims should not be docilely accepted
  • 8. Other Engineering Disciplines  All engineering disciplines have taken a similar step that has released them from the craft status “The information used to build artefacts goes through stages, ranging from beliefs, speculations and lucky guesses to scientific knowledge by means of which an engineering discipline achieves predictable results” Mary Shaw Prospects for an engineering discipline of software IEEE Software 1990
  • 9. Perceptions vs. Objectivity  Engineering disciplines are grounded on objectivity  Objective data are helpful for finding out more about reality, whereas subjective opinions can lead to mistaken perceptions of reality  Only by working with scientific evidences rather than assumptions will software development become a real engineering discipline
  • 11. Science  Science is a process to understand the world  To understand a phenomenon, it is necessary to conduct methodical, thorough, meticulous and objective study
  • 12. In Search of Knowledege Science is a way of thinking, more than a set of facts Carl Sagan 1934 – 1996
  • 13. Science  Science seeks explanations about    how the world works why the world works as we perceive Such explanations are known as laws or theories
  • 14. Scientific Laws    Are patterns of behaviour Describe cause-effect relationships Explain   why some events are related how the mechanism linking the events behaves
  • 15. Scientific Law  The concept of law took a long time to come to fruition in human thought  Aristotle² discussed the motion of material bodies, but his natural laws of motion were just descriptions of how the final causes were supposed to behave “A stone falls because the “natural place” for heavy objects is the centre of the Earth”  Appreciate the difference on how Galileo studied that same topic Galileo³ dropped balls of the same material, but different masses, from the Leaning Tower of Pisa and observed that their time of descent was independent of their mass. This was contrary to what Aristotle had taught: that heavy objects fall faster than lighter ones, in direct proportion to weight ² 384BC – 322BC ³ 1564 - 1642
  • 16. Scientific Law  Newton’s gravitation and motion laws ushered in the scientific era  Newton's postulate of an invisible force able to act over vast distances led to him being criticized for introducing "occult agencies" into science  We cannot perceive laws directly through our senses  1643-1727 Anyone can see an apple fall, but Newton’s inverse-square law of gravitation only becomes apparent through special systematic measurements
  • 17. Causal Understanding   Gravity is the explanation of why bodies fall The relationships between the two bodies: the one falling and the one attracting it
  • 18. Falsification   Falsification is the refutation of a hypothesis or theory by empirical evidence Karl Popper:    Universal hypotheses are falsifiable, but not verifiable “All swans are white” can be accepted as a tentative hypothesis, until the first non-white swan is sighted The longer a (falsifiable) hypothesis resists falsification, the more reliable it is seen 1902 - 1994
  • 19. Knowledge can Always Improve  Einstein’s relativity revised Newton’s theory of gravity  With better predictions under new conditions (light speed, etc.) that Newton’s gravitation Law did not consider  Deeper understanding   In a way gravity does not exist. Gravity is a subproduct of the spacetime warping produced by heavy objects Newton’s gravitation law are still used today for nonrelativistic gravitational calculations
  • 20. From Nexus to Laws  We cannot perceive laws directly through our senses  Two activities are necessary   Systematic objective observation Inference of links between cause & effect
  • 21. The Scientific Method  Collection of Empirical Data   Theoretical Interpretation of Data   Systematic observation to appreciate the nexus Form a hypothesis (right or wrong) about the mechanisms relating the events Collection of Empirical Data  Hypothesis need to be tested against reality to know if they are true or not
  • 22. What Makes a Method Scientific?  Exploration of causality  Objective observation  Methodic variation and control of variables  Repeatability
  • 23. Objective Observation When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure it, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science Lord Kelvin 1824 - 1907
  • 24. Prescientific Stages  Before existing scientific knowledge humans are able to build interesting artifacts  Building does not mean understanding the mechanisms
  • 26. 1st Step: Objective Observation Empirical Information Prediction Theoretical Interpretation Mechanism Understanding
  • 28. Data Theory  The accumulation of data, without inferential leap to the theory, never reaches a mechanism understanding  In the absence of empirical data, theories are moving in the realm of speculation
  • 29. 2nd Step: Objective Observation Empirical Information Prediction Theoretical Interpretation Mechanism Understanding
  • 30. Wrong Explanation  Geocentric Theory  Systematic observation  Two common observations were believed to support the idea that the Earth is in the center of the Universe    The perception that as the Earth is solid and stable it is not moving but is at rest Hypothesis of explanation   The stars, sun, and planets appear to revolve around the Earth each day, with the stars circling around the pole and those stars nearer the equator rising and setting each day and circling back to their rising point Ptolemaic Planets System Similar ideas were held in ancient China
  • 31. Wrong but Useful  Even shallow causal understanding is much better than nothing  Ptolemaic Planets (wrong explanation based on data) were useful for prediction  Antikythera mechanism (an ancient mechanical calculator built about 150–100 BC) was designed to calculate astronomical positions based on Ptolemaic Planet System  Predicted solar eclipses  Calculated the timing of the Ancient Olympic Games  …
  • 32. Scientific Method: A Definition  A body of techniques for investigating phenomena and acquiring new knowledge  To be termed scientific, a method of inquiry must be based on gathering observable, empirical and measurable evidence subject to specific principles of reasoning
  • 33. Scientific Method: Another View   A rigorous process for properly developing and evaluating explanations for observable phenomena based on reliable empirical evidence and neutral, unbiased independent verification Not based on arguments from authority or popular preferences
  • 35. Experimental SE  Brings the scientific method through the experimental paradigm into SE  Generate scientific statements about software building through experimentation
  • 36. Why Experimenting in SE?  Too many methods and tools exist to allow each developer or software industry to determine the best choice of tools and methods by trial and error   Yet this choice is obviously important A general feeling of unease with the “advocacy style” of software research  The “Try it, you’ll like it”-method is not feasible anymore: too many alternatives to try
  • 37. Claims for SE Experimentation: Old  Did Anyone Study Any real Programmers?   Experimentation can help build a reliable base of knowledge and thus reduce uncertainty about which theories, methods, and tools are adequate   Bill Curtis, Paper tile at Empirical Studies of Programmers Workshop, 1986 Tichy, Computer, 1998 Experimentation in SE is necessary, common wisdom, intuition, speculation, and proofs of concepts are not reliable sources of credible knowledge  Vic Basili, TSE, 1999
  • 38. Claims for SE Experimentation: New  The actual software construction isn’t necessarily experimental, but its conception is. An this is where our focus ought to be. It’s where our focus always ought to have bee   Tom de Marco, IEEE Software, 2009 The empirical side of software engineering should become a full member of empirical sciences  Bertrand Mayer, Communications ACM, 2009
  • 39. Experimentation to the Rescue!  Experiments determine whether claimed differences among alternative SE techniques are actually observable   For instance with respect to quality, cost, maintainability of the software… Experimentation is maturing    Fraction of empirical studies is rising More laboratories, more sophistication More and more papers contain empirical validation
  • 40. Gaining SE Scientific Knowledge  Identify and understand   the variables that play a role in software development the connections between variables  Learn cause-effect relationships between the development process and the obtained products  Establish laws and theories about software construction that explain development behaviour
  • 41. What can we hope?      Knowledge about which methods work better than others, under what circumstances, and why Trustworthy theoretical models that explain and predict Professional developers who can judge the validity of empirical studies... … who can ask meaningful questions about experiments and theories and understand the answers New methods and tools that provably simplify the programmers work and we know why Experimentalism is central to Software Research!
  • 43. ESE: Origins  The origins of ESE can be traced back to Weinberg and Tichy’s work in the 1970s advocating scientific approaches that encouraged careful observation and evaluation of software development methods  The first experiments were not run until the early 1980s by Victor Basili’s group at the University of Maryland with NASA’s Software Engineering Laboratory  Since then the use of experiments to examine the applicability of SE technologies has gradually gained in importance as a research methodology
  • 44. ESE At Present Journals & Conferences  A specialized journal and conference have been founded over recent years    Empirical Software Engineering Journal Empirical SE and Measurement Conference Experiments are reported in leading SE journals and conferences  For example, as many as 93 experiments were published in journals and conferences from 1993 to 2003
  • 45. ESE At Present Textbooks  There are also a couple of books that explain how to apply experimental tests to software development  Experimentation in SE: An Introduction Wohlin, Runeson, Höst, Ohlsson, Regnell, Wesslén 2000  Basics of SE Experimentation Juristo & Moreno 2001
  • 47. What makes a Method Scientific?  Exploration of causality  Objective observation  Methodic variation and control of variables  Repeatability
  • 48. Experiment  Experiment    Models key characteristics of a reality in a controlled environment and manipulating them iteratively to investigate the impact of such variations and get a better understanding of a phenomenon Formal, rigorous and controlled investigation in which the variables under study are given different values to find out what effect each value has The properties of a complex system are explained by analysing the behaviour of its parts
  • 49. The Laboratory  Laboratory   Chemistry laboratory    Simplified and controllable reality where the phenomenon under study can be manipulated and studied Flasks and pipettes where temperatures and pressures are controlled Real world: Real substances with temperature and pressures Economics laboratory   Sets of individuals playing games to earn toy benefits Real-world: Markets (built of thousands of agents) where real rewards are pursued
  • 50. SE Experiment   Development decomposed into its parts Manipulated variables     Techniques (design, testing, etc.), Developers (experience, knowledge, etc.) … Impacts investigated   Effectiveness, efficiency, productivity, quality Depending on the experiment, these response variables can be instantiated as, for example, number of detected defects, number of code lines, etc.
  • 51. SE Laboratory     Students rather than professionals Toy software rather than real systems Exercises rather than real projects Academy or a tutorial in industry rather than real life in industry  Phases, techniques rather than project  …
  • 52. Perceptions vs. Facts: Example   An experiment in our V&V course which studies techniques effectiveness Are perceptions reliable?  Perception    Facts    Students like much more functional testing technique They hate reading technique Functional and structural are equally effective Reading usually are more effective Tastes, previous knowledge, easiness, laziness are influencing their perceptions
  • 53. Other Examples  Experiments falsify hypotheses   E.g. the assumption of failure independence in multiversion programming John Knight and Nancy Leveson (1986) -- An experimental evaluation of the assumption of independence in multiversion programming. IEEE TSE
  • 54. From Lab to Clinic  Any lab finding has problems with representativeness of reality  Different levels of experimental studies    In vitro experiments In vivo experiments Clinical trials
  • 55. THE ROLE OF SCIENTIFIC METHOD IN SOFTWARE DEVELOPMENT Natalia Juristo Universidad Politécnica de Madrid Spain
  • 56. There is a lot more to say about this...  Lakatos’ “Research programs”    Kuhn’s “Paradigms”     Theory needs time and space to develop Falsification attempts should be delayed until it is well developed Science does not follow the falsification path Instead, there are “revolutions”, in which an established theory is replaced by a different one Between revolutions, there is “normal science” (extension, strengthening, application, rounding out of accepted theory.) Feyerabend’s “Anarchy”    From a historic perspective, there is no “scientific method” “anything goes” to find new theories The scientist must be competent, informed and follow scientific standards.