case study guidelines - nc state computer science€¦ ·  · 2011-10-252011-12 • sony ericsson,...

17
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

Upload: hoangdang

Post on 07-May-2018

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 2: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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)

Page 3: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 4: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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)

Page 5: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 6: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 7: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 8: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 9: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 10: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 11: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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)

Page 12: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 13: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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)

Page 14: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 15: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 16: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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

Page 17: Case study guidelines - NC State Computer Science€¦ ·  · 2011-10-252011-12 • Sony Ericsson, part time 2010 ... Case study design (1-10) ... success are the interfaces towards

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