Case Studies For Software Engineers: Goals of This Tutorial
Case Studies For Software Engineers: Goals of This Tutorial
on Software Engineering
Tutorial F2
Case Studies for Software Engineers
Steve Easterbrook University of Toronto
Jorge Aranda University of Toronto
For researchers:
differentiate case studies from other empirical methods
a solid grounding in the fundamentals of case studies as a research method
understand and avoid common mistakes with case studies
For reviewers:
guidance to judge quality and validity of reported case studies.
criteria to assess whether research papers based on case studies are
suitable for publication
For practitioners:
awareness of how to interpret the claims made by researchers about new
software engineering methods and tools.
insights into the roles practitioners can play in case studies research
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 2
1
Overview
Session 1: Session 3:
Recognising Case Studies Designing Case Studies II
9:00-9:30 Empirical Methods in SE 2:00-2:30 Exercise: Design a Case
9:30-9:45 Basic Elements of a case Study
study 2:30-3:30 Data Analysis and Validity
9:45-10:30 Exercise: Read and 3:30-4:00 Tea break
Discuss Published Case studies
10:30-11:00 Coffee break Session 4:
Publishing and Reviewing Case
Session 2: Studies
Designing Case Studies I 4:00-4:30 Exercise: Design a Case
11:00-11:30 Theory Building Study (concludes)
11:30-11:45 Exercise: Identifying 4:30-5:00 Publishing Case Studies
theories in SE 5:00-5:15 Reviewing Case Studies
11:45-12:30 Planning and Data 5:15-5:30 Summary/Discussion
Collection
5:30 Finish
12:30-2:00 Lunch
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 3
2
Many methods available:
Controlled Experiments
Case Studies
Surveys
Ethnographies
Artifact/Archive Analysis (mining!)
Action Research
Simulations
Benchmarks
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 5
Controlled Experiments
experimental investigation of a testable hypothesis, in which conditions are set
up to isolate the variables of interest ("independent variables") and test how
they affect certain measurable outcomes (the "dependent variables")
good for
quantitative analysis of benefits of a particular tool/technique
(demonstrating how scientific we are!)
limitations
hard to apply if you cannot simulate the right conditions in the lab
limited confidence that the laboratory setup reflects the real situation
ignores contextual factors (e.g. social/organizational/political factors)
extremely time-consuming!
See:
Pfleeger, S.L.; Experimental design and analysis in software engineering.
Annals of Software Engineering 1, 219-253. 1995
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 6
3
Case Studies
A technique for detailed exploratory investigations, both prospectively and
retrospectively, that attempt to understand and explain phenomenon or test
theories, using primarily qualitative analysis
good for
Answering detailed how and why questions
Gaining deep insights into chains of cause and effect
Testing theories in complex settings where there is little control over the
variables
limitations
Hard to find appropriate case studies
Hard to quantify findings
See:
Flyvbjerg, B.; Five Misunderstandings about Case Study Research. Qualitative
Inquiry 12 (2) 219-245, April 2006
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 7
Surveys
A comprehensive system for collecting information to describe, compare or
explain knowledge, attitudes and behaviour over large populations
good for
Investigating the nature of a large population
Testing theories where there is little control over the variables
limitations
Relies on self-reported observations
Difficulties of sampling and self-selection
Information collected tends to subjective opinion
See:
Shari Lawarence Pfleeger and Barbara A. Kitchenham, "Principles of Survey
Research, Software Engineering Notes, (6 parts) Nov 2001 - Mar 2003
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 8
4
Ethnographies
Interpretive, in-depth studies in which the researcher immerses herself in a
social group under study to understand phenomena though the meanings
that people assign to them
Good for:
Understanding the intertwining of context and meaning
Explaining cultures and practices around tool use
Limitations:
No generalization, as context is critical
Little support for theory building
See:
Klein, H. K.; Myers, M. D.; A Set of Principles for Conducting and Evaluating
Interpretive Field Studies in Information Systems. MIS Quarterly 23(1) 67-
93. March 1999.
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 9
good for
Understanding what really happens in software projects
Identifying problems for further research
limitations
Hard to build generalizations (results may be project specific)
Incomplete data
See:
Audris Mockus, Roy T. Fielding, and James Herbsleb. Two case studies of
open source software development: Apache and mozilla. ACM
Transactions on Software Engineering and Methodology, 11(3):1-38, July
2002.
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 10
5
Action Research
research and practice intertwine and shape one another. The researcher
mixes research and intervention and involves organizational members as
participants in and shapers of the research objectives
good for
any domain where you cannot isolate {variables, cause from effect, }
ensuring research goals are relevant
When effecting a change is as important as discovering new knowledge
limitations
hard to build generalizations (abstractionism vs. contextualism)
wont satisfy the positivists!
See:
Lau, F; Towards a framework for action research in information systems
studies. Information Technology and People 12 (2) 148-175. 1999.
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 11
Simulations
An executable model of the software development process, developed from
detailed data collected from past projects, used to test the effect of process
innovations
Good for:
Preliminary test of new approaches without risk of project failure
[Once the model is built] each test is relatively cheap
Limitations:
Expensive to build and validate the simulation model
Model is only as good as the data used to build it
Hard to assess scope of applicability of the simulation
See:
Kellner, M. I.; Madachy, R. J.; Raffo, D. M.; Software Process Simulation
Modeling: Why? What? How? Journal of Systems and Software 46 (2-3)
91-105, April 1999.
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 12
6
Benchmarks
A test or set of tests used to compare alternative tools or techniques. A
benchmark comprises a motivating comparison, a task sample, and a set of
performance measures
good for
making detailed comparisons between methods/tools
increasing the (scientific) maturity of a research community
building consensus over the valid problems and approaches to them
limitations
can only be applied if the community is ready
become less useful / redundant as the research paradigm evolves
See:
S. Sim, S. M. Easterbrook and R. C. Holt Using Benchmarking to Advance
Research: A Challenge to Software Engineering. Proceedings, ICSE-2003
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 13
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 14
7
Comparing Empirical Research Methods
Case Studies
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 15
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 16
8
Comparing
Surveys Empirical Research Methods
In Context ?
In the Lab
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 17
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 18
9
Comparing Empirical
Artifact / Archive Research Methods
Analysis
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 19
rue therefore,
than concrete, practical (context-dependent) knowledge.
ct
rrecontribute to scientific development.
2. One cannot generalize on the basis of an individual case;
c
the case study cannoto No hypotheses; that is, in the
3. In is most useful for generating
The case study !
first stage of a total research process, whereas other methods are
i t! and theory building.
more suitable for hypothesis testing
e
4.
b e l
The case study containsiev a bias toward verification, that is, a tendency
ntthe researchers preconceived notions.
W
o
to confirm
D
ro
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 20
10
28th International Conference
on Software Engineering
Overview
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 22
11
When should you use a case study?
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 23
Objective of Investigation
Exploration- To find whats out there
Characterization- To more fully describe
Validation- To find out whether a theory/hypothesis is true
Subject of Investigation
An intervention, e.g. tool, technique, method, approach to design,
implementation, or organizational structure
An existing thing or process, e.g. a team, releases, defects
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 24
12
Misuses of the term Case Study
Not an exemplar
Not a report of something interesting that was tried on a toy problem
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 25
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 26
13
Parts of a Case Study Research Design
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 27
Examples:
Why do 2 organizations have a collaborative relationship?
"Why do developers prefer this tool/model/notation?"
"How are inspections carried out in practice?
"How does agile development work in practice?"
"Why do programmers fail to document their code?
"How does software evolve over time?
"Why have formal methods not been adopted widely for safety-critical software?
"How does a company identify which software projects to start?"
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 28
14
Types of Case Studies
Explanatory Causal
Adjudicates between competing Looks for causal relationship
explanations (theories) between concepts
E.g. How important is E.g. How do requirements errors
implementation bias in requirements and programming errors affect
engineering? safety in real time control systems?
Rival theories: existing architectures See study by Robyn Lutz on the
are useful for anchoring, vs. existing Voyager and Galileo spacecraft
architectures are over-constraining
during RE Exploratory
Used to build new theories where
Descriptive
we dont have any yet
Describes sequence of events and
Choose cases that meet particular
underlying mechanisms
criteria or parameters
E.g. How does pair programming
E.g. Christopher Columbus voyage
actually work?
to the new world
E.g. How do software immigrants
E.g. What do CMM level 3
naturalize?
organizations have in common?
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 29
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 30
15
Part 3: Unit of Analysis
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 32
16
Why Defining your Unit of Analysis matters
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 33
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 34
17
Part 5: Interpretation Criteria
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 35
Generalization
Statistical Generalization Analytical Generalization
First level generalization: Second level generalization:
From sample to population From findings to theory
18
Analytical and Statistical Generalization
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 37
Internal Validity
Establish a causal relationship and distinguish spurious relationships
External Validity
Establish the domain to which a studys findings can be generalized
Empirical Reliability
Demonstrate that the study can be repeated with the same results
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 38
19
28th International Conference
on Software Engineering
Exercise:
Read and Discuss Published Case
Studies
Theory Building
20
Scientific Method
Observation
Theory World
Validation
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 41
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 42
21
Scientific Inquiry
Prior Knowledge
(Initial Hypothesis)
Observe
(what is wrong with
the current theory?)
Theorize
Experiment
(refine/create a
(manipulate the variables)
better theory)
Design
(Design empirical tests
of the theory)
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 43
Model
Intervene
(describe/explain the
(replace the old system)
observed problems)
Carry out the Design experiments to Create/refine
experiments test the new theory a better theory
(manipulate
the variables) Design
(invent a better system)
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 44
22
Some Characteristics of Science
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 45
Some Definitions
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 46
23
Science and Theory
Components
concepts, relationships, causal inferences
E.g. Conways Law- structure of software reflects the structure of the team that builds it. A
theory should explain why.
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 47
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 48
24
Empirical Approach
Research Methodology
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 49
Empirical Approaches
Three approaches
Descriptive
Relational
Experimental/Analytical
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 50
25
Empirical Approaches
Descriptive
Goal: careful mapping out a situation in order to describe what is
happening
Necessary first step in any research
Provides the basis or cornerstone
Provides the what
Rarely sufficient often want to know why or how
But often provides the broad working hypothesis
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 51
Empirical Approaches
Relational
Need at least two sets of observations so that some phenomenon
can be related to each other
Two or more variables are measured and related to each other
Coordinated observations -> quantitative degree of correlation
Not sufficient to explain why there is a correlation
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 52
26
Empirical Approaches
Experimental/Analytical
Focus on identification of cause and effect what leads to what?
Want X is responsible for Y, not X is related to Y
Need to manipulate the variables
Two approaches:
Set up treatments with different values of key variables
Select existing cases with theoretically interesting properties
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 53
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 54
27
Validity
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 55
Exercise:
Identifying theories in SE
28
28th International Conference
on Software Engineering
Research questions
Propositions (if any)
Unit(s) of analysis
Logic linking the data to the propositions
Criteria for interpreting the findings
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 58
29
Types of Research Question
Existence: Causality
Does X exist? Does X cause Y?
Does X prevent Y?
Description and Classification
What is X like? Causality-Comparative
What are its properties? Does X cause more Y than does Z?
How can it be categorized? Is X better at preventing Y than is Z?
Descriptive-Comparative Notes:
How does X differ from Y? Dont confuse causes & enables
Dont confuse causes & correlates
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 59
4 types of designs
(based on a 2x2 matrix)
Single-case vs. Multiple-
case design
Holistic vs. Embedded
design
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 60
30
Holistic vs. Embedded Case Studies
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 61
Holistic Designs
Strengths
Convenient when no logical subunits can be defined
Good when the relevant theory underlying the case study is holistic in
nature
Weaknesses
Can lead to abstract studies with no clear measures or data
Harder to detect when the case study is shifting focus away from initial
research questions
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 62
31
Embedded Designs
Strengths
Introduces higher sensitivity to slippage from the original research
questions
Weaknesses
Can lead to focusing only on the subunit (i.e. a multiple-case study of the
subunits) and failure to return to the larger unit of analysis
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 63
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 64
32
Multiple-Case Designs
Disadvantages
Difficulty to find an appropriate number of relevant cases
Can require extensive resources and time
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 65
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 66
33
How Many Cases?
How many literal replications?
It depends on the certainty you want to have about your results
Greater certainty with a larger number of cases
Just as with statistical significance measures
2 or 3 may be sufficient if they address very different rival theories and the
degree of certainty required is not high
5, 6, or more may be needed for higher degree of certainty
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 67
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 68
34
Replication Approach for Multiple-Case Studies
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 70
35
Selecting Case Study Designs Single or Multiple?
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 71
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 72
36
Purposive Sampling of Cases
Extreme or Deviant Case Snowball or Chain
E.g outstanding success/notable failures, exotic Select cases that should lead to identification of
events, crises. further good cases
Intensity Criterion
Information-rich cases that clearly show the All cases that meet some criterion,
phenomenon (but not extreme)
Theory-Based
Maximum Variation Manifestations of a theoretical construct
choose a wide range of variation on dimensions
of interest Confirming or Disconfirming
Seek exceptions, variations on initial cases
Homogeneous
Case with little internal variability - simplifies Opportunistic
analysis Rare opportunity where access is normally
hard/impossible
Typical Case
Identify typical, normal, average case Politically Important Cases
Attracts attention to the study
Stratified Purposeful
Identify subgroups and select candidates within Convenience
each group Cases that are easy/cheap to study (but means
low credibility!)
Critical Case
if it's true of this one case it's likely to be true of Or a combination of the above
all other cases.
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 73
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 74
37
Documentation
Letters, memos, and other written communication
Agendas, announcements, meeting minutes, reports of events
Administrative documents
Proposals, progress reports, summaries and records
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 75
Archival Records
Service records
Clients served over a period of time
Organizational records
Organizational charts and budgets
Layouts
Maps and charts
Personal records
Diaries, calendars, telephone lists
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 76
38
Interviews
Open-ended interviews
Address facts and opinions about an event
Flexible structure of interview (or no structure at all!)
Focused interviews
Short period of time (about an hour)
Similar approach as open-ended.
Formal surveys
Produce quantifiable data
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 77
Direct Observation
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 78
39
Participant-observation
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 79
Physical Artifacts
40
Sources of Evidence: Strengths, Weaknesses
Source of Evidence Strengths Weaknesses
Documentation ! Stable can be reviewed ! Retrievability can be low
repeatedly ! Biased selectivity, if
! Unobtrusive not created as collection is incomplete
a result of the case study ! Reporting bias reflects
! Exact contains exact (unknown) bias of author
names, references, and ! Access may be
details of an event deliberately blocked
! Broad coverage long span
of time, many events, and
many settings
Archival Records {same as above for {same as above for
documentation} documentation}
! Precise and quantitative ! Accessibility due to privacy
reasons
Interviews ! Targeted focuses directly ! Bias due to poorly
on case study topic constructed questions
! Insightful provides ! Response bias
perceived causal inferences ! Inaccuracies due to poor
recall
! Reflexivity interviewee
gives what interview wants
to hear
41
Principles of Data Collection
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 83
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 84
42
Multiple Sources of Evidence
Convergence of Evidence (Figure 4.2)
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 85
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 86
43
Chain of Evidence
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 87
Chain of Evidence
Maintaining a Chain of Evidence
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 88
44
28th International Conference
on Software Engineering
Lunch
Exercise:
Design a Case Study
45
28th International Conference
on Software Engineering
Data Analysis
Analytic Strategies
3 general strategies
Relying on theoretical propositions
Thinking about rival explanations
Developing a case description
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 92
46
Characteristics of Case Study Analysis
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 93
General Strategy
1. Relying on Theoretical Propositions
Shapes the data collection plan and prioritizes the relevant
analytic strategies
Helps to focus attention on theory-relevant data and to
ignore irrelevant data
Helps to organize the entire case study and define rival
explanations to be examined
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 94
47
General Strategy
2. Thinking About Rival Explanations
Especially useful when doing case study evaluations
Attempts to collect evidence about other possible influences
The more rivals the analysis addresses and rejects, the
more confidence can be placed in the findings
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 95
General Strategy
3. Developing a Case Description
Serves as an alternative when theoretical proposition and
rival explanation are not applicable
A descriptive approach may help to identify the appropriate
causal links to be analyzed
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 96
48
Analytic Technique
1. Pattern Matching
Pattern matching compares empirically based
patterns with predicted ones
If the patterns coincide, the results can strengthen the internal
validity of the case study
Rival theories produce different patterns the case study
evidence is used to determine which of them really took place
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 97
Simpler patterns
If there are only two different dependent (or independent) variables, pattern
matching is still possible as long as a different pattern has been stipulated
for them
The fewer the variables, the more dramatic differences will have to be!
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 98
49
Analysis Technique
2. Explanation Building
Special type of pattern matching
Stipulate a presumed set of causal links
Series of iterations in building explanation
1. Make initial theoretical statement
2. Compare the findings of the initial case against statement
3. Revise the statement
4. Compare other details of the case against the revision
5. Compare the revisions to the facts of 2nd, 3rd or more cases
6. Repeat the process if needed
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 99
Analysis Techniques
3. Time Series Analysis
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 100
50
Analysis Technique
4. Logic Models
Deliberately stipulate a complex chain of events over time
Events are staged in repeated cause-effect-cause-effect patterns
Similar to pattern matching, but focus is on sequential stages
Logic models are analogous to other conceptual models familiar to software
engineers (SADT, statecharts, etc.)
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 101
Analysis Technique
5. Cross-Case Synthesis
A research synthesis technique
Guidelines
Treat each individual case study as a separate study
Just as you would treat different experiments separately
Create word tables that display data, in a uniform framework, from each
case
Examine word tables for cross-case patterns
You will need to rely strongly on argumentative interpretation, not numeric
properties
Numeric properties cannot be pooled since each case is different
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 102
51
Criteria for High Quality Analysis
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 103
Validity
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 104
52
Construct Validity
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 105
Construct Validity
Intentional Validity
Do the constructs we chose adequately represent what we intend to study
Akin to the requirements problem where our intent is fair scheduling but our
requirement is FIFO
Are our constructs specific enough?
Do they focus in the right direction?
Eg, is it intelligence or cunningness?
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 106
53
Construct Validity
Representation Validity
How well do the constructs or abstractions translate into observable
measures
Two primary questions:
Do the sub-constructs properly define the constructs?
Do the observations properly interpret, measure or test the constructs?
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 107
Construct Validity
Observation Validity
How good are the measures themselves?
Different aspects illuminated by
Predictive validity
Criterion validity
Concurrent validity
Convergent validity
Discriminant validity
Predictive Validity
Observed measure predicts what it should predict and nothing else
E.g., college aptitude tests are assessed for their ability to predict success in
college
Criterion Validity
Degree to which the results of a measure agree with those of an
independent standard
Eg, for college aptitude, GPA or successful first year
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 108
54
Construct Validity
Concurrent Validity
The observed measure correlates highly with an established set of
measures
Eg, shorter forms of tests against longer forms
Convergent Validity
Observed measure correlates highly with other observable measures for
the same construct
Utility is not that it duplicates a measure but is a new way of distinguishing a
particular trait while correlating with similar measures
Discriminant Validity
The observable measure distinguishes between two groups that differ on
the trait in question
Lack of divergence argues for poor discriminant validity
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 109
Internal Validity
Can we be sure our results really follow from the data?
Have we adequately ruled out rival hypotheses?
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 110
55
Internal Validity
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 111
External Validity
Two positions
The generalizability of the causal relationship beyond that studied/observed
Are the findings generalizable beyond the immediate case study?
Eg, do studies of very large reliable real-time systems generalize to small .com
companies?
The extent to which the results support the claims of generalizability
Eg, do the studies of 5ESS support the claim that they are representative of real-
time ultra reliable systems
Case studies have been criticized for offering a poor basis for
generalization
This is contrasting case studies (which rely on analytical generalization) with survey
research (which relies on statistical generalization), which is an invalid comparison
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 112
56
Reliability
Demonstrating that the operations of a study can be repeated with the
same results
Note: the repetition of the study should occur on the same case, not replicating the
results on a different case
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 113
Case Study Tactics for the Four Design Tests (Yin, page 34)
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 114
57
28th International Conference
on Software Engineering
Exercise:
Design a Case Study (concludes)
58
Overview of this Section
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 117
59
Formats for Written Case Study Reports
Sequences of Studies
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 120
60
Composition Structures for Case Studies
Linear-Analytic Structures
Standard approach
Comparative Structures
Use key features as basis for comparing several cases
Chronological Structures
Evidence are presented in chronological order
Theory building Structures
Each chapter reveal a new part of a theoretical argument
Suspense Structures
The outcome presented in the initial chapter, followed by the suspenseful
explanation of the outcome
Unsequenced Structures
The sequence of sections or chapters assumes no particular importance
if using this structure, make sure that a complete description of the case is
presented. Otherwise, may be accused of being biased
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 121
Issues in Reporting
When and How to Start Composing?
Start composing early in the analytic process
Bibliography, methodological and descriptive data about the cases being
studied are the sections which could be written early in the process
61
Issues in Reporting
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 123
Empirical Context
Study Design
Conducing the Case Study and Data Collection
Analysis
Presentation of Results
Interpretation of Results
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 124
62
Sample Paper Outline 1
Oliver Laitenberger, Thomas Beil, and Thilo Schwinn, An Industrial Case Study to Examine a Non-Traditional Inspection
Implementation for Requirements Specifications, Empirical Software Engineering: An International Journal, vol. 7, no. 4,
pp. 345-374, 2002.
4. Analysis Approach
1. Introduction 4.1 Some Misconceptions in Inspection
Data Analysis
2. The Traditional Inspection 4.2 A Model for Explaining the Number
Approach of Defects Detected
2.1 Software Inspection Basics 4.3 Measurement
2.2 Inspection Challenges 4.4 Analysis Approach
2.2.1 The Defect Detection Activity
2.2.2 The Defect Collection Activity 5. Results
5.1 Descriptive Statistics
3. Changes to the Inspection 5.2 Correlation and Regression
Implementation at Analysis
DaimlerChrysler 5.3 Path Analysis Results
3.1 Case Study Environment
6. Threats to Validity
3.2 Defect Detection Approach
6.1 Threats to Internal Validity
3.3 Defect Collection Approach
6.2 Threats to External Validity
7. Conclusion
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 125
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 126
63
Sample Paper Outline 3
Dewayne E. Perry, Harvey P. Siy, and Lawrence G. Votta, Parallel Changes in Large Scale Software Development: An
Observational Case Study, presented at Twentieth International Conference on Software Engineering, pp. 251-260, 19-
25 April 1998.
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 127
64
What Makes an Exemplary Case Study?
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 129
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 130
65
Characteristics of an Exemplary Case Study
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 131
Summary
66
Case Study as a Research Method
The case study is a distinct research method
Has its own research designs
It is not a subset or variant of research designs used for other strategies
Scientific
Synergistic relationship between theory and data
Starting a case study requires a theoretical orientation, which drives data
collection
Key Message
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 134
67
Further Reading
Tutorial F2 Case Studies for Software Engineers 2006 Easterbrook, Sim, Perry, Aranda 135
68