The 3rd SEMAT Workshop on General Theories of Software Engineering (GTSE 2014)
”General Theory” An ostensive definition
The Theory of Relativity
Einstein, Albert (1905a), "Zur Elektrodynamik bewegter Körper", Annalen der Physik 322
Maxwell’s Equations
James Clerk Maxwell, A Treatise on Electricity and Magnetism, 1873
The Standard Model
5
Theory of the Cell
T. Schwann, M. J. Schleiden, Microscopical researches into the accordance in the structure and growth of animals and plants, 1847
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
Jonathan Turner’s sociological theory (2010) The Dynamics of Consolidation and Centralization of Power
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
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
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
General Theories according to Scopus
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
...
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
...
Why are all these disciplines spewing out general theories while we have so few?
15
A GTSE Challenge
Theoretical Scope
17
ObservationGrand theory
Middle range theory
Empirical generalization
SE Today
TOE
GTSE
The Endres-Rombach compilation
18
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
Brooks’ law and the Brook’s law theory
20
Adding manpower to a late project makes it later.
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. …
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
The GTSE Challenge
Which general theory of software engineering provides the best explanations of the established empirical generalizations of software engineering?
23
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
Summary of papers
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
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
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
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
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
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
• 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