Skip to main content

2020 | Buch

Action Research in Software Engineering

Theory and Applications

insite
SUCHEN

Über dieses Buch

This book addresses action research (AR), one of the main research methodologies used for academia-industry research collaborations. It elaborates on how to find the right research activities and how to distinguish them from non-significant ones. Further, it details how to glean lessons from the research results, no matter whether they are positive or negative. Lastly, it shows how companies can evolve and build talents while expanding their product portfolio.
The book’s structure is based on that of AR projects; it sequentially covers and discusses each phase of the project. Each chapter shares new insights into AR and provides the reader with a better understanding of how to apply it. In addition, each chapter includes a number of practical use cases or examples. Taken together, the chapters cover the entire software lifecycle: from problem diagnosis to project (or action) planning and execution, to documenting and disseminating results, including validity assessments for AR studies.
The goal of this book is to help everyone interested in industry-academia collaborations to conduct joint research. It is for students of software engineering who need to learn about how to set up an evaluation, how to run a project, and how to document the results. It is for all academics who aren’t afraid to step out of their comfort zone and enter industry. It is for industrial researchers who know that they want to do more than just develop software blindly. And finally, it is for stakeholders who want to learn how to manage industrial research projects and how to set up guidelines for their own role and expectations.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Introduction
Abstract
In the introduction chapter, we provide an overview of software engineering both as an engineering discipline and a scientific one. We provide an overview of action research origin and its historical perspective and describe how action research is used currently in the disciplines related to software engineering. The review of usage of action research in the related disciplines shows that there is a need for describing action research focusing on the specifics of software engineering research.
Miroslaw Staron
Chapter 2. Action Research as Research Methodology in Software Engineering
Abstract
Compared to other research methodologies, action research is probably the youngest one. It’s been introduced in the middle of the twentieth century and has gained attention ever since. It became popular because it appeals to both researchers and organizations who seek impact and utilization of scientific results in practice. In this chapter, we present the principles of action research and provide concrete guidelines on how to propose an action research project. We elaborate on the main parts of the action research methodology and exemplify them. We show how we can use experiment systems to involve customers in action research, and we finish the chapter by presenting how to manage action research projects.
Miroslaw Staron
Chapter 3. Diagnosing
Abstract
The first phase of action research is diagnosing the problem to be addressed. Although it seems to be a straightforward task, diagnosing can be difficult as we need to understand the context of the project and the theories needed to take action. In this chapter, we explore different ways of diagnosing the problem—starting from observational ones like interviews and finishing up with analytical ones like statistical data analysis from experiment systems.
Miroslaw Staron
Chapter 4. Action Planning
Abstract
The diagnosing phase, described in the previous chapter, leads us to understanding what we need to do in the current action cycle. It shows what kind of problem needs to be solved. Simply put, it provides us with the basis to start planning of our actions. The action planning chapter describes the way in which we plan the studies in action research. It draws on the experiences of designing case studies and experiments but focuses on the co-creation of the plan by the action team.
Miroslaw Staron
Chapter 5. Action Taking
Abstract
Once we make a plan for the actions, we need to execute them, and we need to execute them correctly and efficiently and with a lot of respect to the host organization—our context. In this chapter, we explore the types of actions in action research in software engineering. We look deeper into what it means to execute these specific actions. We also describe how to prepare before action taking, e.g., what data to collect and how to collect the data for the later usage in the evaluation phase. We focus on actions taken in the company with the focus on company’s employees, and we explore customer experiment systems, i.e., when customer data is involved.
Miroslaw Staron
Chapter 6. Evaluation
Abstract
Once we plan and take actions, we need to understand the impact of the action on the organization. Since we are part of the action, and our actions cause effects, we need objective data to analyze the impact of these actions. In this chapter, we describe a selection of data analysis techniques, which are used often as part of action research studies in software engineering. We provide a selection of data visualization methods, statistics, and machine learning to show how to assess the impact of our actions. We also discuss qualitative data analysis methods that can be helpful in analyzing data collected in our research logs or through interviews and workshops.
Miroslaw Staron
Chapter 7. Specifying Learning
Abstract
In this chapter, we describe methods used to increase the learning in the organization. We focus on the role of the researchers in this process and the need to reduce the bias introduced by them. We base this chapter on the theories and practices from the software process improvement field. However, we focus on identifying learning outcomes from studies, organizing them in categories, and packaging for the next action research cycle.
Miroslaw Staron
Chapter 8. Action Research vs. Design Research
Abstract
Action research is one of many research methodologies used in contemporary empirical software engineering. Its practical orientation and embedding in the context of a company are its main appeal. However, the embedding can be challenging as it requires active participation from industrial partners. Therefore, we can sometimes change the course of our studies and use a methodology that is closely related—design science research. In this chapter, we explore the basic principles of design science research and make the comparison between these two methodologies.
Miroslaw Staron
Chapter 9. Ensuring Sustainability of Knowledge
Abstract
Contemporary companies and organizations have understood since long the value of close cooperation between them and academia. Technology today takes huge leaps forward for every year that passes by, and ways of working evolve dramatically in order to cope with technology. Companies are no longer able to keep up with this “insane” speed of technology and ways of working; they know more possibility to learn and adapt by themselves. The solution to this challenge is called “action research,” an effective and efficient way for companies to keep up with what’s new and necessary for them to succeed in today’s hard competition. This book presents prerequisites needed for both parties to succeed in this type of collaboration, while this chapter focuses on a checklist to be used once such a relationship has been established.
Miroslaw Staron
Chapter 10. Validity Evaluation
Abstract
Conducting a research study is always linked to questions about whether we can trust the results or not. Since the goal of each action research project is to make software engineering practices and tools better, we need to be able to assess the validity of our research finding very critically. Therefore, we need to be able to combine the impact of the research results with the limitations of it. We need to be able to provide the stakeholders of the action research projects with a solid and as-objective-as-possible account of the research validity.
Miroslaw Staron
Chapter 11. Reporting Action Research Studies
Abstract
Conducting an action research study improves practices at our industrial partners. The improvement can range from elevating the competence of the action team to changing the way in which the partner company or organization develops software. The ideal outcome, however, is the change in the way of working or in the product. While improving the industrial practice, action research also contributes to developing and evaluating theories in software engineering. Therefore, it is important that we report our action research studies in a rigorous way, so that others can learn from our experiences. In this chapter, we describe how to report studies, both in the standard format of research papers to focus on the impact of the actions and as a storytelling to focus on the actions taken alongside of the impact.
Miroslaw Staron
Chapter 12. Conclusions
Abstract
This book introduced action research as a research methodology for software engineering research. It is one of many methodologies available today and is best suited for organizations centered around collaboration and knowledge co-creation between academia and industry. In the book, we introduced all phases of action research, compared it to the most similar research methodologies, and discussed how to document and report action research studies. In this final chapter, we focus on providing guidelines on where to go next. We look into the case where action research can be applied in multiple organizations and how to tackle collaborations with multiple organizations, by time-sharing the research time and activities.
Miroslaw Staron
Metadaten
Titel
Action Research in Software Engineering
verfasst von
Prof. Miroslaw Staron
Copyright-Jahr
2020
Electronic ISBN
978-3-030-32610-4
Print ISBN
978-3-030-32609-8
DOI
https://doi.org/10.1007/978-3-030-32610-4