Action Research Can Swing the Balance in Experimental Software Engineering
This work aims to improve experimental practices in Software Engineering for researchers and practitioners, though it appears incremental as it builds on existing Action Research methods.
The paper addresses the problem of software professionals relying on expert opinions over scientific evidence by proposing Action Research as an alternative experimental approach in Software Engineering, illustrated through an in vivo study on developers' subjective decisions in refactoring within distributed development.
In general, professionals still ignore scientific evidence in place of expert opinions in most of their decision-making. For this reason, it is still common to see the adoption of new software technologies in the field without any scientific basis or well-grounded criteria, but on the opinions of experts. Experimental Software Engineering is of paramount importance to provide the foundations to understand the limits and applicability of software technologies. The need to better observe and understand the practice of Software Engineering leads us to look for alternative experimental approaches to support our studies. Different research strategies can be used to explore different Software Engineering practices. Action Research can be seen as one alternative to intensify the conducting of important experimental studies with results of great value while investigating the Software Engineering practices in depth. In this paper, a discussion on the use of Action Research in Software Engineering is presented. Aiming at better explaining the application of Action Research, an experimental study (in vivo) on the investigation of the subjective decisions of software developers, concerned with the refactoring of source code to improve source code quality in a distributed software development context is depicted. In addition, some guidance on how to accomplish an Action Research study in Software Engineering supplement the discussions.