Based on their own experiences of in-depth case studies of software
projects in international corporations, in this book the
authors present detailed practical guidelines on the preparation,
conduct, design and reporting of case studies of software
engineering. This is the first software engineering specific
book on the case study research method.
विषयसूची
Foreword xv
Preface xix
Acknowledgements xxi
Part I. Case Study Methodology
1. Introduction 3
1.1 What is a case study? 3
1.2 A brief history of case studies in software engineering 5
1.3 Why a book on case studies of software engineering? 6
1.4 Conclusion 9
2. Background and definition of concepts 11
2.1 Introduction 11
2.2 Research strategies 12
2.3 Characteristics of research strategies 14
2.4 What makes a good case study? 18
2.5 When is the case study strategy feasible? 20
2.6 Case study research process 21
2.7 Conclusion 22
3. Design of the case study 23
3.1 Introduction 23
3.2 Elements of the case study design 24
3.3 Legal, ethical and professional issues 42
3.4 Conclusion 48
4. Data collection 49
4.1 Introduction 49
4.2 Different types of data sources 50
4.3 Interviews 52
4.4 Focus groups 57
4.5 Observations 58
4.6 Archival data 60
4.7 Metrics 61
4.8 Conclusion 63
5. Data analysis and interpretation 65
5.1 Introduction 65
5.2 Analysis of data in flexible research 66
5.3 Process for qualitative data analysis 70
5.4 Validity 75
5.5 Improving validity 77
5.6 Quantitative data analysis 79
5.7 Conclusion 81
6. Reporting and dissemination 83
6.1 Introduction 83
6.2 Why report and disseminate 84
6.3 The audience for the report 85
6.4 Aspects of the case study to report and disseminate 87
6.5 When to report and disseminate 88
6.6 Guidelines on reporting 88
6.7 Formats and structures for a report 99
6.8 Where to report 102
6.9 Ethics and confidentiality 102
6.10 Conclusion 104
7. Scaling up case study research 105
7.1 Introduction 105
7.2 The aims of scaling up case studies 106
7.3 Dimensions of scale 107
7.4 Longitudinal case studies 109
7.5 Multiple case studies 111
7.6 Multi-researcher case studies 114
7.7 Conclusion 116
8. Using case study research 117
8.1 Introduction 117
8.2 Reading and reviewing case studies 118
8.3 Identifying and synthesizing use case research 120
8.4 The economics of case study research 127
8.5 Specializing case study research for Software Engineering 130
8.6 Case studies and software process improvement 133
8.7 Conclusion 135
Part II. Examples of Case Studies
9. Introduction to case study examples 139
9.1 Introduction 139
10. Case studies of e Xtreme Programming 143
10.1 Introduction 143
10.2 Case study design 144
10.3 Planning 146
10.4 Data collection 149
10.5 Data analysis 149
10.6 Reporting 156
10.7 Lessons learned 157
11. Longitudinal case studies of software project management 159
11.1 Introduction 159
11.2 Background to the research project 159
11.3 Case study design and planning 160
11.4 Data collection 164
11.5 Data analysis 166
11.6 Reporting 170
11.7 Lessons learned 172
12. An iterative case study of quality monitoring 173
12.1 Introduction 173
12.2 Case study design 175
12.3 Planning 176
12.4 Data analysis 179
12.5 Reporting 180
12.6 Lessons learned 180
13. An evaluative case study of software tools 181
13.1 Introduction 181
13.2 Design of the case study 182
13.3 Data collection 190
13.4 Data analysis 191
13.5 Reporting and dissemination 192
13.6 Lessons learned 193
14. A large-scale case study 195
14.1 Introduction 195
14.2 Case study design 196
14.3 Planning 201
14.4 Data collection 206
14.5 Data analysis 207
14.6 Lessons learned 208
Appendices 217
Appendix A. Checklists for reading and reviewing case studies 217
Appendix B. Example Interview instrument (XP) 221
Appendix C. Example interview instrument (REVV) 223
Appendix D. Example of a coding guide 227
Appendix E. Example of a consent information letter 233
Bibliography 235
References 235
Index 251
लेखक के बारे में
Dr. Austen Rainer is a Senior Lecturer in the School of Computer Science at the University of Hertfordshire. He is an active member of the Centre for Empirical Software Process Research (CESPR) and teaches several courses?in the BSc(Hons) and MSc degree programs.
Dr. Per Runeson is leader of the Software Engineering Research Group at Lund University, as well as Research Director for EASE – Embedded Applications Software Engineering. He is a Senior Researcher at Sony Ericsson, where he fulfills his role as a verification advisor. His research focuses on efficient verification and validation processes.
Dr. Martin Höst is Director of the M.Sc. Programme in Computer Science and Engineering at Lund University and a member of the Software Engineering Research Group (SERG).
Dr. Björn Regnell is a professor of Software Engineering at Lund University’s Department of Computer Science and Vice Dean of Research at the Faculty of Engineering, LTH. His research interests include market-driven software development, requirements engineering, software quality, software innovation, software product management, and empirical research methods.