case study guidelines - nc state computer science€¦ · · 2011-10-252011-12 • sony ericsson,...
TRANSCRIPT
1
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Case Study Research in Software Engineering
Professor Per Runeson Lund University
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Who am I? • Professor in Software Engineering, Lund University • Leader for the Software Engineering Research
Group at LU and the EASE industrial excellence center
• Sabbatical at North Carolina State University, 2011-12
• Sony Ericsson, part time 2010 • LU since 1998 • Q-Labs 1991-1998
SWELL - Swedish V&V Excellence
2
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Research interests 1995
2011
• Reliability testing • Inspection methods • System validation • Agile management • Test management • Unit testing • Regression testing • Product line testing
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Advertizing
• ICST – 5th Int. Conference on Software Testing, Verification and Validation, Montreol, Canada, April 17-21, 2012 CFP: October 28, 2011 (abstract)
• ESEM – 6th Int. Symposium on Empirical Software Engineering and Measurement, Lund, Sweden, September 19-20, 2012 CFP: March 4, 2012 (abstract)
3
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Case study
”Case study is an empirical inquiry that investigates a contemporary phenomenon within its real-life context, especially when the boundaries between the phenomenon and context are not clearly evident”
Robert K. Yin, Case Study Research
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Case study
”Case study is a strategy for doing research which involves an empirical investigation of a particular contemporary phenomenon within its context using multiple sources of evidence”
Colin Robson, Real World Research
4
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Characteristics
Case study Experiment Control Low High Realism High Low Design Flexible Fixed Primary data Qualitative Quantitative Case/subject selection
Intentional Random
Primary objective Exploratory Explanatory
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
What makes Case Studies science? 1. Theoretical basis 2. Triangulation (data, observer, method, theory) 3. Chain of evidence 4. Full documentation 5. Iterative reporting
(Kyburz-Graber, 2004)
5
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Guidelines for case studies
• Empirically derived and evaluated
• EMSE (2009) open access
• Wiley (2011)
Guidelines for conducting and reporting case studyresearch in software engineering
Per Runeson & Martin Höst
Published online: 19 December 2008# The Author(s) 2008. This article is published with open access at Springerlink.comEditor: Dag Sjoberg
Abstract Case study is a suitable research methodology for software engineering researchsince it studies contemporary phenomena in its natural context. However, the understandingof what constitutes a case study varies, and hence the quality of the resulting studies. Thispaper aims at providing an introduction to case study methodology and guidelines forresearchers conducting case studies and readers studying reports of such studies. Thecontent is based on the authors’ own experience from conducting and reading case studies.The terminology and guidelines are compiled from different methodology handbooks inother research domains, in particular social science and information systems, and adapted tothe needs in software engineering. We present recommended practices for softwareengineering case studies as well as empirically derived and evaluated checklists forresearchers and readers of case study research.
Keywords Case study . Research methodology . Checklists . Guidelines
1 Introduction
The acceptance of empirical studies in software engineering and their contributions toincreasing knowledge is continuously growing. The analytical research paradigm is notsufficient for investigating complex real life issues, involving humans and their interactionswith technology. However, the overall share of empirical studies is negligibly small incomputer science research; Sjøberg et al. (2005), found 103 experiments in 5,453 articlesRamesh et al. (2004) and identified less than 2% experiments with human subjects, andonly 0.16% field studies among 628 articles. Further, existing work on empirical research
Empir Software Eng (2009) 14:131–164DOI 10.1007/s10664-008-9102-8
P. Runeson (*) :M. HöstDepartment Computer Science, Lund University, Box 118, SE-221 00 Lund, Swedene-mail: [email protected]
M. Höste-mail: [email protected]
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Case study process
(Höst, 2007, Runeson 2009, 2011)
Design
Preparation
Collection
Analysis
Reporting
6
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Purpose of a case study
• Understand • Illustrate • Evaluate • Compare • Improve • Disseminate
Case study
Action research
Design
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Unit(s) of analysis
• event • individual • group • process • project • product • policy • role • technology
Design
7
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Case selection
• Typical • Critical • Revelatory • Unique
(Benbasat 1987)
• Extreme/deviant • Maximum variation • Critical • Paradigmatic
(Flyvbjerg 2007)
Design
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Generalization
Theory Rival theory
SURVEY Population
char’s
CASE STUDY ���Case study
findings
EXPERIMENT Exp. findings
Sample Subjects
Analytic
Statistical
Design
8
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Ethics
• Informed consent • Confidentiality • Handling of sensitive results (anonymity?) • Decide on inducements • Feedback results, in particular quotations
(Singer and Vinson, 2002)
Design
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Planning data collection
• What type of documents and databases do you need access to?
• Which activities do you want to observe or participate in?
• Who should be interviewed? • When should data be collected?
Preparation
9
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Case study protocol
Preamble Purpose, data storage, publication
General Overview of research project Procedures Detailed description Research instruments Interview guide, Questionairre Data analysis Detailed description Appendix Invitation letter etc
Preparation
(Pervan and Maimbo, 2005)
Collection
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Qualitative analysis
Bring structure to the data – Start by transcribing speech – Find key words, either from
the material or from theory – Group and contrast
statements – Draw conclusions
• Coding • Data reduction • Data display • Conclusion drawing
(Robson 2002, p.476)
Analysis
10
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Qualitative analysis – level of formalism
• Quasi-statistical – count occurrence and frequency of terms
• Template based – group statements to key words from theory
• Editing – create categories from the data itself • (Immersion – play with the data and draw
conclusions)
Analysis
(Robson 2002 p.457)
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
A Word of Warning
• Quasi-statistical methods do not imply anything beyond the population
“57% of the interviewees agreed/disagreed” – Indicates that it might be worth understanding – Says nothing about the general situation
Analysis
11
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Internal validity
How can I trust an analysis? • Quantitative – appropriate methods, fulfilled
assumptions, significance • Qualitative – reported methods, clear
viewpoints, traceable conclusions
Analysis
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
External validity
• Generalization: Drawing conclusions about phenomena outside the studied setting
– Statistical generalization – “inference… about a population on the basis of empirical data collected about a sample”
– Analytic generalization – “a previously developed theory is used as a template…to compare the empirical results of a case study”
Analysis
(Yin 2003 p. 32-33)
12
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Report audiences
• Academic colleagues • Policymakers,
practitioners, … • Dissertation
committees • Funders of research
Reporting
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Convince reviewers and editors ”The paper is based mostly on interviews with little quantitative project data to back any observation or conclusion. Such papers are not suitable for a journal like TSE.” Editor of IEEE TSE ”The study was very well designed. The design approach is backed up by literature and a description of subjects, research strategy, research methods, how the analysis was done, the threats to validity and how they were addressed are all presented.” Reviewer of EMSE
Reporting
13
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Checklists
Researcher’s checklist Reader’s checklist Case study design (1-10) 39-50 with pointers to 1-38 Preparation for data collection (11-15) Collecting evidence (16-21) Analysis of collected data (22-27) Reporting (28-38)
(Höst 2007, Runeson 2009, 2011)
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Case Study Example How do Agile Methods coexist with Stage-Gate Project Management?
(Karlström and Runeson 2005, 2006)
14
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Cases and units of analysis
Design
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Data collection and analysis
• Semistructured interviews – 18 persons
• Engineers • Managers • Product Mgmt • Project Mgmt
• Transcription + Coding • Qualitative analysis
Preparation Collection
15
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Selected key findings
Area Agile feature Effect
Planning and prioritisation
Most important feature first Micro planning
+ Early feedback on features + Avoid req’s cramming ! Little long term planning
Communication and follow-up
Small manageable tasks Automatic testing
+ Feeling of being under control
+ Communication of change Process model and roles
Customer involvement Documentation tasks
+ Continuous feedback +/! Prioritization
Project management
Engineering level empowerment Focus
+ Engineers feel motivated ! Managers afraid initially + Engineering/mgmt + /! Early technical issues
Analysis
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
”In control” Citation: “…you have everybody's work under
control…The short cycle time is the biggest advantage and that we always – and now I exaggerate slightly – but we have always something executable.”
Conclusion: “All people involved in the projects
have a strong feeling of being in control, with the exception of management”
Analysis
16
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Management reactions
Citation: “The worked in a manner that was not described in any process description. That implied that our line managers, SQA and others had no reference to measure against.”
Conclusion: “Management perceived that they
lost some control, as they did not recognize their usual planning models…”
Analysis
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Report audiences
• Academic colleagues • Policymakers,
practitioners, … • Dissertation
committees • Funders of research
Reporting
Integrating agile software development into stage-gatemanaged product development
Daniel Karlstrom & Per Runeson
# Springer Science + Business Media, Inc. 2006Editor: Marvin Zelkowitz
Abstract Agile methods have evolved as a bottom-up approach to softwaredevelopment. However, as the software in embedded products is only one part ofdevelopment projects, agile methods must coexist with project management modelstypically of the stage-gate type. This paper presents a qualitative case study of twolarge independent software system projects that have used eXtreme Programming(XP) for software development within contexts of stage-gate project managementmodels. The study is comprised of open ended interviews with managers as well aspractitioners, followed by a structured, fully traceable, qualitative analysis. Weconclude that it is possible to integrate XP in a gate model context. Key issues forsuccess are the interfaces towards the agile subproject and management attitudestowards the agile approach.
Keywords Agile methods . Stage-gate project management . Qualitative study .
Extreme programming . Case studies
1. Introduction
Agile methods have evolved as a new approach to developing software products(Agile Manifesto, 2001). The methods have been successfully implemented in smallto medium sized projects, and the principles of the agile methods have inspiredsoftware developers in wide-ranging application domains (e.g., Vanhanen andKahkonen, 2003; Fuqua and Hammer, 2003; Rasmussen, 2003; Schuh, 2001;Grenning, 2001; Poole and Huisman, 2001; Murru et al., 2003; Sharp and Robinson,2004; Karlstrom, 2002). The agile methodologies offer down-to-earth approaches tosoftware development that focus on simplifying and improving the software devel-opment process, making the customers, the developers and the final product themost important (Agile Manifesto, 2001). A summary of the main principles involvedin the agile methods as formulated by the agile manifesto is given in Table 1.
Empir Software Eng (2006) 11: 203–225DOI 10.1007/s10664-006-6402-8
D. Karlstrom ()) : P. RunesonDepartment of Communication Systems,Lund University, Box 118, SE-221 00 Lund, Swedene-mail: [email protected]
Springer
17
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Summary: Case study research in SE
• Software engineering and software process improvement
– are complex activities – success or failure depends on many interrelated
factors – cannot be fully studied in isolation – needs empirical studies in real world settings.
Lund University / Faculty of Engineering / Department of Computer Science / Software Engineering Research Group
Literature Andersson C, Runeson P (2007) A Spiral Process Model for Case Studies on Software
Quality Monitoring - Method and Metrics, SPIP, 12( 2):125-140 Benbasat I, Goldstein D K, Mead M (1987) The case research strategy in studies of
information systems. MIS Quarterly, 11(3):369 Flyvbjerg B, (2007) Five misunderstandings about case-study research. In Qualitative
Research Practice, pp. 390–404. SAGE Höst M, Wohlin C, Thelin T (2005) Experimental Context Classification: Incentives and
Experience of Subjects, ICSE, pp 470-478 Höst M, Runeson P (2007) Checklists for Software Engineering Case Study Research
First International Symposium on Empirical Software Engineering and Measurement, Karlström, D, P. Runeson (2005). Combining agile methods with stage-gate project
management. IEEE Software 22(3), 43–49 Karlström, D, P. Runeson (2006). Integrating agile software development into stage-gate
managed product development. Empirical Software Engineering 11(2), 203–225 Kyburz-Graber. R. (2004) Does case-study methodology lack rigour? The need for
quality criteria for sound case-study research, as illustrated by a recent case in secondary and higher education. Environmental Education Research, 10(1):53– 65
Pervan G, Maimbo H (2005) Designing a case study protocol for application in IS research, The Ninth Pacific Conference on Information Systems pp 1281–1292
Robson C (2002) Real World Research. Blackwell, (2nd edition) Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research
in software engineering, Empirical Software Engineering 14(2):131–164 Singer J, Vinson N G (2002) Ethical Issues in Empirical Studies of Software Engineering
IEEE TSE, 28(12):1171-1180 Yin R K (2003) Case Study Research. Design and Methods (3rd edition) London: Sage