+ All Categories
Home > Documents > The 3rd SEMAT Workshop on General Theories of Software...

The 3rd SEMAT Workshop on General Theories of Software...

Date post: 14-Oct-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
32
The 3rd SEMAT Workshop on General Theories of Software Engineering (GTSE 2014)
Transcript
Page 1: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

The 3rd SEMAT Workshop on General Theories of Software Engineering (GTSE 2014)

Page 2: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

”General Theory” An ostensive definition

Page 3: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

The Theory of Relativity

Einstein, Albert (1905a), "Zur Elektrodynamik bewegter Körper", Annalen der Physik 322

Page 4: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Maxwell’s Equations

James Clerk Maxwell, A Treatise on Electricity and Magnetism, 1873

Page 5: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

The Standard Model

5

Page 6: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Theory of the Cell

T. Schwann, M. J. Schleiden, Microscopical researches into the accordance in the structure and growth of animals and plants, 1847

Page 7: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Jonathan Turner’s sociological theory (2012)

sociology a social science that studies human societies, their interactions, and the

processes that preserve and change them.

Encyclopædia Britannica

Page 8: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Jonathan Turner’s sociological theory (2010) The Dynamics of Consolidation and Centralization of Power

Page 9: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Equilibrium theory The general theory of economics

economics social science that seeks to analyze and describe the production, distribution, and consumption of wealth.

Encyclopædia Britannica

Page 10: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Economic theory, extensions

10

Oligopoly theory Marginal productivity theory Social choice theory Theory of taxation Growth theory Theory of international trade Theory of wealth Theory of value Theory of agency Theory of finance

Price theory Theory of economic markets Inflation theory Risk theory The theory of risk bearing The theory of capital markets Portfolio theory Theory of investment Theory of rationing

Page 11: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Jeffrey Young’s Schema Theory

EARLY MALADAPTIVE SCHEMAS

A. Disconnection and Rejection1. Abandonment/Instability 2. Mistrust/Abuse3. Emotional Deprivation 4. Defectiveness/Shame 5. Social Isolation/Alienation

B. Impaired Autonomy and Performance 6. Dependence/Incompetence 7. Vulnerability to Harm or Illness 8. Enmeshment/Undeveloped Self 9. Failure

!

C. Impaired Limits10. Entitlement/Grandiosity11. Insufficient Self-Control/Self-Discipline

D. Other-Directedness 12. Subjugation 13. Self-Sacrifice 14. Approval-Seeking/Recognition-Seeking

E. Overvigilance and Inhibition 15. Negativity/Pessimism 16. Emotional Inhibition17. Unrelenting Standards/Hypercriticalness18. Punitiveness

!

CORE EMOTIONAL NEEDS1. Secure attachments to others2. Autonomy, competence, and sense of identity 3. Freedom to express valid needs and emotions4. Spontaneity and play5. Realistic limits and self-control

COPING STYLES

Surrender Overcompensation Avoidance

Page 12: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

General Theories according to Scopus

Page 13: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

General Theories published 2013

13

A general theory of acute and chronic heart failure International Journal of Cardiology

A general theory of business marketing Industrial Marketing Management

A more general theory of commodity bundling Journal of Economic Theory

Life history theory and the general theory of crime Journal of Social, Evolutionary, and Cultural Psychology

General theory of environment-assisted entanglement distillation IEEE Transactions on Information Theory

Towards a general theory of implementation Implementation Science

Outline of a general theory of behavior and brain coordination Neural Networks

Who needs a general theory of social reality? Contemporary Sociology

An almost general theory of mean size perception Vision Research

...

Page 14: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

General Theories published 2014

14

Public Management, Context, and Performance: In Quest of a More General Theory Journal of Public Administration Research and Theory

Towards a General Theory of Anger and Emotional Aggression Perspectives on Anger and Emotion: Advances in Social Cognition

General theory for the mechanics of confined microtubule asters New Journal of Physics

General Theory of Optimal Rocket Trajectories Optimal Control with Aerospace Applications

General theory of stigmergy: Modelling stigma semantics Cognitive Systems Research

SPT I.: Identifying Fundamental Systems Processes for a General Theory of Systems Proceedings of the 56th Annual Meeting of the ISSS

Does the offline bully-victimization influence cyberbullying behavior among youths? Application of General Strain TheoryComputers in Human Behavior

...

Page 15: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Why are all these disciplines spewing out general theories while we have so few?

15

Page 16: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

A GTSE Challenge

Page 17: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Theoretical Scope

17

ObservationGrand theory

Middle range theory

Empirical generalization

SE Today

TOE

GTSE

Page 18: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

The Endres-Rombach compilation

18

Page 19: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Glass’ law Boehm’s first law Boehm’s second law Davis’ law Booch’s first hypothesis Curtis’ law Simon’s law Constantine’s law Parnas’ law Denert’s law Fitts–Shneiderman law Booch’s second hypothesis Bauer–Zemanek hypothesis Gamma’s hypothesis DeRemer’s law

Corbató’s law Dijkstra–Mills–Wirth law Lanergan’s law McIlroy’s law Conway’s law Dahl–Goldberg hypothesis Beck–Fowler hypothesis Basili–Boehm COTS hypothesis Fagan’s law Porter–Votta law Basili’s law Hetzel–Myers law Mills–Jones hypothesis May’s hypothesis

Hoare’s hypothesis Sackman’s first law Dijkstra’s law Weinberg’s law Pareto–Zipf-type laws Gray–Serlin law Nielsen–Norman law Gutjahr’s hypothesis Weyuker’s hypothesis Endres–Glatthaar hypothesis Hamlet’s hypothesis Lehman’s first law Lehman’s second law Lehman’s third law Basili–Möller law

McCabe’s hypothesis Wilde’s hypothesis Sackman’s second law Nelson–Jones law Boehm’s third law DeMarco–Glass law Humphrey’s law Brooks’ law Baumol’s disease Boehm’s hypothesis Kupfmüller’s law Gestalt laws Miller’s law Krause’s law Librarian’s law

19

Endres, Rombach, A Handbook of Software and Systems Engineering, 2003

Brooks’ law: Adding manpower to a late project makes it later. Glass’ law: Requirement deficiences are the prime source of project failures. Simon’s law: Hierarchical structures reduce complexity. Dijkstra-Mills-Wirth law: Well-structured programs have fewer errors and are easier to maintain. Mills-Jones hypothesis: Quality entails productivity. …

The Endres-Rombach compilation

Page 20: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Brooks’ law and the Brook’s law theory

20

Adding manpower to a late project makes it later.

Page 21: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

The Endres-Rombach compilation

2121

The Endres-Rombach compilation

The one-liner is typically an empirical generalization, while the underlying reasoning may

approach a middle-range theory 2121

ObservationGrand theory

Middle range theory

Empirical generalization TOEGTSE

Brooks’ law: Adding manpower to a late project makes it later. Glass’ law: Requirement deficiences are the prime source of project failures. Simon’s law: Hierarchical structures reduce complexity. Dijkstra-Mills-Wirth law: Well-structured programs have fewer errors and are easier to maintain. Mills-Jones hypothesis: Quality entails productivity. …

Page 22: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Explanations of explanations

22

Observation

Middle range theoryEmpirical generalization TOEGTSE

explains explains explains explains

Grand theory

explains

The sky is generally blue on cloudless days

Rayleigh scattering Electromagnetic theory

The sky is blue today

explains explains explains

Page 23: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

The GTSE Challenge

Which general theory of software engineering provides the best explanations of the established empirical generalizations of software engineering?

23

Page 24: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Explaining the Endres-Rombach compilation

2424

Brooks’ law: Adding manpower to a late project makes it later. Glass’ law: Requirement deficiences are the prime source of project failures. Simon’s law: Hierarchical structures reduce complexity. Dijkstra-Mills-Wirth law: Well-structured programs have fewer errors and are easier to maintain. Mills-Jones hypothesis: Quality entails productivity. …

The Endres-Rombach compilation

2424

ObservationGrand theory

Middle range theory

Empirical generalization TOEGTSE

explains

Your favorite GTSE

Page 25: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Summary of papers

Page 26: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Refinement

Protocol

Algorithm

Machine

ContextInstrument Model

Perry

Stol-Fitzgerald

Smolander-Päivärinta

Ng-Huang-Wu

World

Theory Hypothesis

Evaluation RegimenData

SubstantiveConceptual

Methodological

Learning

Development ContextRationale Impact

Theory

Opportunity

Stakeholder

Team

Requirements

Software System

Way of Working

Study Design PathObservational Path

Hypothetical PathA Practice

System

Memory Boundary Objects

Implementation

Sensemaking

Cognitive Bias

Work Products

ErbasRalph

Uncertainty

Asset-specificity

Cost

Software

Requirements Transaction

Adolph-Kruchten

Bunkering

Job

Acquirer

Eco-systemAccepting

Getting the job done

Work product

Perspective mismatchReaching out

Negotiating consensus

Exman

Software system

Software behavior

Software structureLogic

Ekstedt

Formalism

Probabilistic model

Software Quality attribute

CausalityTheory

BatorySyntax

Expression

RepresentationOperation

Domain

Program

Design

Work

Coevolution

Feature

Algebra

Model Calculus

Happy stakeholders

Frequency

Meta-theory

GTSE 2013

Page 27: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Refinement

Protocol

Algorithm

Machine

Context

Instrument

Model

Perry

Stol-Fitzgerald

Smolander-Päivärinta

Ng-Huang-Wu

World

Theory

Hypothesis

Evaluation

Regimen

Data

Substantive

Conceptual

Methodological

Learning

Development Context

Rationale

Impact

Theory

OpportunityStakeholder

Team

Requirements

Software System

Way of Working

Study Design Path

Observational Path

Hypothetical Path

A Practice

System

Memory

Boundary Objects

Implementation

Sensemaking

Cognitive Bias

Work Products

Erbas

RalphUncertainty

Asset-specificity

Cost

Software

Requirements

Transaction

Adolph-Kruchten

Bunkering

Job

Acquirer

Eco-system

Accepting

Getting the job done

Work product

Perspective mismatchReaching out

Negotiating consensus

Exman

Software system

Software behavior

Software structure

Logic

Ekstedt

Formalism

Probabilistic model

Software

Quality attribute

Causality

Theory

Batory

Syntax

Expression

Representation

Operation

Domain

Program

Design

Work

Coevolution

Feature

Algebra

Model Calculus

Happy stakeholders

Frequency

Meta-theory

Page 28: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Work Product Requirements

Method/Practice

Goal/Effect

Transaction/opportunity

Formalism

People

Software System Software Characteristics

Evaluation/Learning/Understanding/Research

Refinement

Context

Theory

Work/Job

Implementation

Protocol

Algorithm

Machine

Context

Instrument

Model

Perry

Stol-Fitzgerald

Smolander-Päivärinta

Ng-Huang-Wu

World

Theory

Hypothesis

Evaluation

Regimen

Data

Substantive

Conceptual

Methodological

Learning

Development Context

Rationale

Impact

Theory

OpportunityStakeholder

Team

Requirements

Software System

Way of Working

Study Design Path

Observational Path

Hypothetical Path

A Practice

System

Memory

Boundary Objects

Implementation

Sensemaking

Cognitive Bias

Work Products

Erbas

RalphUncertainty

Asset-specificity

Cost

Software

Requirements

Transaction

Adolph-Kruchten

Bunkering

Job

Acquirer

Eco-system

Accepting

Getting the job done

Work product

Perspective mismatchReaching out

Negotiating consensus

Exman

Software system

Software behavior

Software structure

Logic

Ekstedt

Formalism

Probabilistic model

Software

Quality attribute

Causality

Theory

Batory

Syntax

Expression

Representation

Operation

Domain

Program

Design

Work

Coevolution

Feature

Algebra

Model Calculus

Happy stakeholders

Frequency

Meta-theory

Page 29: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Transaction/opportunity

Method/Practice

People Work/Job

Implementation

Work Product

Software System

Software Characteristics

Requirements

Goal/Effect

Theory

Formalism

Evaluation/Learning/

Understanding/Research

Context

Perry

Stol-FitzgeraldSmolander-Päivärinta

Ng-Huang-Wu

Adolph-Kruchten

Exman

Ekstedt BatoryPerry

Perry

Perry

Perry

PerryStol-Fitzgerald

Stol-Fitzgerald

Smolander-Päivärinta

Smolander-Päivärinta

Smolander-Päivärinta

Smolander-Päivärinta

Ng-Huang-Wu

Ng-Huang-Wu Ng-Huang-Wu

Ng-Huang-Wu

Ng-Huang-Wu

Ralph

Ralph

Ralph

Ralph

Ralph

Erbas

Erbas

Erbas

Erbas

Adolph-Kruchten

Adolph-Kruchten

Adolph-KruchtenAdolph-Kruchten

Adolph-Kruchten

Ekstedt Batory

Ekstedt

Batory

Ng-Huang-Wu Ekstedt

Exman Ekstedt Batory

Exman Ekstedt Batory

Ng-Huang-Wu Batory

Batory

GTSE 2013

Page 30: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

Work Product Requirements

Method/Practice

Goal/Effect

Transaction/opportunity

Formalism

People

Software System Software Characteristics

Evaluation/Learning/Understanding/Research

Refinement

Context

Theory

Work/Job

Implementation

Protocol

Algorithm

Machine

Context

Instrument

Model

World

Theory

Hypothesis

Evaluation

Regimen

Data

Substantive

Conceptual

Methodological

Learning

Development Context

Rationale

Impact

Theory

OpportunityStakeholder

Team

Requirements

Software System

Way of Working

Study Design Path

Observational Path

Hypothetical Path

A Practice

System

Memory

Boundary Objects

Implementation

Sensemaking

Cognitive Bias

Work Products

Uncertainty

Asset-specificity

Cost

Software

Requirements

Transaction

Bunkering

Job

Acquirer

Eco-system

Accepting

Getting the job done

Work product

Perspective mismatchReaching out

Negotiating consensus

Software system

Software behavior

Software structure

Logic

Formalism

Probabilistic model

Software

Quality attribute

Causality

Theory

Perry

Stol-Fitzgerald

Smolander-Päivärinta

Ng-Huang-Wu

Erbas

Ralph

Adolph-Kruchten

Exman

Ekstedt

Batory

Syntax

Expression

Representation

Operation

Domain

Program

Design

Work

Coevolution

Feature

Algebra

Model Calculus

Happy stakeholders

Frequency

Meta-theory

Bjarnason

Artefact

Actor

ActivityCommunicate and coordinate

Distance

Practice

Exman

Ontology

Theory development

Wieringa

Middle-level theory

Dappled world

Ekstedt-Lagerström

Accuracy

Software

Interoperability

Availability

Modifiability

Erbas

Software module

Practice

Module requirements

Governance

Ralph

Evaluating theories

Process theories

Executable

Changes

Ng

General theories

Context

EndeavorPractices

Page 31: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

GTSE 2013

PerryStol-Fitzgerald Smolander-Päivärinta

BatoryEkstedt Exman

Ng-Huang-WuAdolph-Kruchten ErbasRalph

Wieringa Exman

Bjarnasson et al.Kocatas-Erbas

Ekstedt-Lagerström

Ralph

Ng-Huang-Wu

GTSE 2014

Page 32: The 3rd SEMAT Workshop on General Theories of Software ...old.semat.org/wp-content/uploads/2013/11/GTSE-2014-Intro.pdf · General Theories of Software Engineering (GTSE 2014) ”General

• 3 Why are there so few GTSE:s? • 0 Is it a goal of GTSE extend, explain or refute middle-

range theories? Is the GTSE challenge a reasonable proposition?

• 10 What is a good strategy to develop GTSE:s? Integrate, as proposed by Mathias? From observation, as proposed by Per? Could middle range theories be abstracted to general theories by asking the why-questions?

• 1 Is there a disciplinary evolution in the way Ivar suggested? Trial-and-error, rules-of-thumb, theory, simulation? 

• 6 n=1 (one-off) theories, pros and cons? Theory instantiation.

• 3 Do we explicitly need to manage the cognitive complexities of GTSE development?

• 6 How to make theory more practical? • Should engineering and software be separated first, and

then integrate?

Discussion questions


Recommended