Software Engineering Research Approaches zBalancing theory and praxis zHow engineering research differs from scientific research zThe role of empirical.

Slides:



Advertisements
Similar presentations
The Robert Gordon University School of Engineering Dr. Mohamed Amish
Advertisements

The Social Scientific Method An Introduction to Social Science Research Methodology.
Intelligence Step 5 - Capacity Analysis Capacity Analysis Without capacity, the most innovative and brilliant interventions will not be implemented, wont.
ACTION DESIGN RESEARCH Ola Henfridsson Viktoria Institute & University of Oslo (in collaboration with M. Sein, S. Purao, M. Rossi, and R. Lindgren)
1 A Methodological Approach to IS Research Presented by: Dr. Jay Nunamaker, Jr.
Software Development Life-Cycle Models
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
CS487 Software Engineering Omar Aldawud
Chapter 4 Design Approaches and Methods
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, Inc. All rights reserved. Introduction to Organizational Behavior Chapter One.
Mapping Studies – Why and How Andy Burn. Resources The idea of employing evidence-based practices in software engineering was proposed in (Kitchenham.
Quantitative vs. Qualitative Research Method Issues Marian Ford Erin Gonzales November 2, 2010.
 delivers evidence that a solution developed achieves the purpose for which it was designed.  The purpose of evaluation is to demonstrate the utility,
Engineering Research Methodology
USABILITY AND EVALUATION Motivations and Methods.
Why don’t innovation models help with informatics implementations? Rod Ward University of the West of England Medinfo 2010.
Experimental Evaluation in Computer Science: A Quantitative Study Paul Lukowicz, Ernst A. Heinz, Lutz Prechelt and Walter F. Tichy Journal of Systems and.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Design and Evaluation of Iterative Systems n For most interactive systems, the ‘design it right first’ approach is not useful. n The 3 basic steps in the.
Analysis Concepts and Principles
Team Composition and Team Role Allocation in Agile Project Teams Brian Turrel 30 March 2015.
Introduction to Communication Research
Prepared by: Asma’ Abu Qubeita and Raghdah Al- Hamed 1.
Educational Research: Action Research in Schools
Computational Thinking Related Efforts. CS Principles – Big Ideas  Computing is a creative human activity that engenders innovation and promotes exploration.
Fig Theory construction. A good theory will generate a host of testable hypotheses. In a typical study, only one or a few of these hypotheses can.
On Roles of Models in Information Systems (Arne Sølvberg) Gustavo Carvalho 26 de Agosto de 2010.
Chapter 8: Problem Solving
“Knowing Revisited” And that’s how we can move toward really knowing something: Richard Feynman on the Scientific Method.
Towards an activity-oriented and context-aware collaborative working environments Presented by: Ince T Wangsa Supervised by:
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
Human-centered Design Methodology Petra Badke-Schaub Peter Lloyd Remko van der Lugt Norbert Roozenburg Design Theory and Methodology Faculty of Industrial.
Designing and implementing of the NQF Tempus Project N° TEMPUS-2008-SE-SMHES ( )
CBR 101 An Introduction to Community Based Research.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Evaluation of software engineering. Software engineering research : Research in SE aims to achieve two main goals: 1) To increase the knowledge about.
Scientific Inquiry Mr. Wai-Pan Chan Scientific Inquiry Research & Exploratory Investigation Scientific inquiry is a way to investigate things, events.
Nursing Research Prof. Nawal A. Fouad (5) March 2007.
Learning outcomes for BUSINESS INFORMATCIS Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST)
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Assessing the Frequency of Empirical Evaluation in Software Modeling Research Workshop on Experiences and Empirical Studies in Software Modelling (EESSMod)
Advanced Topics in Software Engineering Cmpe 550 Fall 2008.
SoftLab Boğaziçi University Department of Computer Engineering Software Engineering Research Lab
Introduction to Science Informatics Lecture 1. What Is Science? a dependence on external verification; an expectation of reproducible results; a focus.
ADS511 RESEARCH METHODOLOGY AND DATA ANALYSYS
CS529 Multimedia Networking Experiments in Computer Science.
Nursing research Is a systematic inquiry into a subject that uses various approach quantitative and qualitative methods) to answer questions and solve.
HiST Tacitly developed research methods in ICS Ivar Tormod Berg Ørstavik.
1 Gdansk, Poland, June 5, 20072nd Symposium on Systems Analysis and Design A Critical Review of Software Engineering Research on Open Source Software Development.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
OVERVIEW OF RESEARCH METHODS Dr. Kimaro. INTRODUCTION Why Research; Increase body of knowledge Explain social phenomena Test theoretical hypothesis Explain.
Theme 2: Data & Models One of the central processes of science is the interplay between models and data Data informs model generation and selection Models.
1 Book Cover Here Copyright © 2014, Elsevier Inc. All Rights Reserved Chapter 14 RECONSTRUCTING THE PAST Methods, Evidence, Examples Criminal Investigation:
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Three Critical Matters in Big Data Projects for e- Science Kerk F. Kee, Ph.D. Assistant Professor, Chapman University Orange, California
1.3: Scientific Thinking & Processes Key concept: Science is a way of thinking, questioning, and gathering evidence.
Research Word has a broad spectrum of meanings –“Research this topic on ….” –“Years of research has produced a new ….”
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Lecture №4 METHODS OF RESEARCH. Method (Greek. methodos) - way of knowledge, the study of natural phenomena and social life. It is also a set of methods.
Copyright © 2011 Wolters Kluwer Health | Lippincott Williams & Wilkins Chapter 1 Research: An Overview.
1 Prepared by: Laila al-Hasan. 1. Definition of research 2. Characteristics of research 3. Types of research 4. Objectives 5. Inquiry mode 2 Prepared.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Science, Technology, Technic
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
General Meeting cern, 10-12/10/2017 CREATIONS Demonstrators
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Advanced Topics in Software Engineering
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Formulating Research Questions (RQ’s) Refer EXERCISE # 1
Presentation transcript:

Software Engineering Research Approaches zBalancing theory and praxis zHow engineering research differs from scientific research zThe role of empirical studies zModels for SE research

The need to link research with practice zWhy after 25 years of SE has SE research failed to influence industrial practice and the quality of resulting software? zPotts argues that this failure is caused by treating research and its application by industry as separate, sequential activities. zWhat he calls the research-then-transfer approach. The solution he proposes is the industry-as-laboratory approach.. Colin Potts, Software Engineering Research Revisited, IEEE Software, September 1993

Research-then-Transfer Incremental Refinement of research solutions Problem evolves invisibly to the research community Problem V1 Wide gulf bridged by indirect, anecdotal knowledge Research Solution V1 Technology transfer Gap bridged by hard, but frequently inappropriate technology Problem V2 Problem V3 Problem V4 Research Solution V2 Research Solution V3 Research Solution V4

Research-then-Transfer Problems zBoth research and practice evolve separately zMatch between current problems in industry and research solutions is haphazard zNo winners

Disadvantages of Research-then- Transfer zResearch problems described and understood in terms of solution technology - whatever is current research fashion. Connection to practice is tenuous. zConcentration is on technical refinement of research solution - OK but lacks industrial need as focus, so effort may be misplaced. zEvaluation is difficult as research solutions may use technology that is not commonly used in industry zDelay in evaluation means problem researchers are solving has often evolved through changes in business practice, technology etc. zTransfer is difficult because industry has little basis for confidence in proposed research solution.

Industry-as-Laboratory Approach to SE research Problem V2 Problem V1 Problem V3 Problem V4 Research Solution V1 Research Solution V2 Research Solution V3 Research Solution V4

Advantages of Industry-as- Laboratory Approach zStronger connection at start because knowledge of problem is acquired from the real practitioners in industry, often industrial partners in a research consortium. zConnection is strengthened by practitioners and researchers constantly interacting to develop the solution z Early evaluation and usage by industry lessens the Technology Transfer Gap. zReliance on Empirical Research yshift from solution-driven SE to problem-focused SE ysolve problems that really do matter to practitioners

Early SEI industrial survey research zWhat a SEI survey* learned from industry: yThere was a thin spread of domain knowledge in most projects yCustomer requirements were extremely volatile. zThese findings point towards research combining work on requirements engineering with reuse - instead of the approach of researching these topics by separate SE research communities - as is still found today! * From ‘A field study of the Software Development Process for Large Systems’, CACM, November 1988.

Further Results from Potts et al Early 90s Survey 23 software development organizations (during ). (Survey focused on Requirements Modeling process) zRequirements were invented not elicited. zMost development is maintenance. zMost specification is incremental. zDomain knowledge is important. zThere is a gulf between the developer and user zUser-interface requirements continually change. zThere is a preference for office-automation tools over CASE tools to support development. I.e. developers found using a WP + DB more useful than any CASE tools.

Industry-as-Laboratory emphasizes Real Case Studies Advantages of case studies over studying problems in research lab. zScale and complexity - small, simple (even simplistic) cases avoided - these often bear little relation to real problems. zUnpredictability - assumptions thrown out as researchers learn more about real problems zDynamism - a ‘real’ case study is more vital than a textbook account The real-world complications of industrial case studies are more likely to throw up representative problems and phenomena than research laboratory examples influenced by the researchers’ preconceptions.

Need to consider Human/Social Context in SE research zNot all solutions in software engineering are solely technical. zThere is a need to examine organizational, social and cognitive factors systematically as well. zMany problems are “people problems”, and require “people-orientated” solutions.

Theoretical SE research zWhile there is still a place for innovative, purely speculative research in Software Engineering, research which studies real problems in partnership with industry needs to be given a higher profile. zThese various forms of research ideally complement one another. zNeither is particularly successful if it ignores the other. zToo industrially focused research may lack adequate theory! zAcademically focused research may miss the practice!

Research models for SE zProblem highlighted by Glass*: Most SE Research in 1990s was Advocacy Research. Better research models needed. zThe software crisis provided the platform on which most 90s research was founded. zSE Research ignored practice, for the most part; lack of practical application and evaluation were gapping holes in most SE research. zAppropriate research models for SE are needed. * Robert Glass, The Software -Research Crisis, IEEE Software, November 1994

Methods underlying Models zScientific method zEngineering method zEmpirical method zAnalytical method From W.R.Adrion, Research Methodology in Software Engineering, ACM SE Notes, Jan. 1993

Scientific method Observe real world Propose a model or theory of some real world phenomena Measure and analyze above Validate hypotheses of the model or theory If possible, repeat

Engineering method Observe existing solutions Propose better solutions Build or develop better solution Measure, analyze, and evaluate Repeat until no further improvements are possible

Empirical method Propose a model Develop statistical or other basis for the model Apply to case studies Measure and analyze Validate and then repeat

Analytical method Propose a formal theory or set of axioms Develop a theory Derive results If possible, compare with empirical observations Refine theory if necessary

Need to move away from purely analytical method zThe analytical method was the most widely used in mid-90s SE research, but the others need to be considered and may be more appropriate in some SE research. zGood research practice combines elements on all these approaches.

4 important phases for any SE research project (Glass) zInformational phase - Gather or aggregate information via yreflection yliterature survey ypeople/organization survey ycase studies zPropositional phase - Propose and build hypothesis, method or algorithm, model, theory or solution zAnalytical phase - Analyze and explore proposal leading to demonstration and/or formulation of principle or theory zEvaluation phase - Evaluate proposal or analytic findings by means of experimentation (controlled) or observation (uncontrolled, such as case study or protocol analysis) leading to a substantiated model, principle, or theory.

Software Engineering Research Approaches zThe Industry-as-Laboratory approach links theory and praxis zEngineering research aims to improve existing processes and/or products zEmpirical studies are needed to validate Software Engineering research zModels for SE research need to shift from the analytic to empirical.