Table of Contents
Fetching ...

Teaching Theorizing in Software Engineering Research

Klaas-Jan Stol

TL;DR

This chapter seeks to support software engineering (SE) researchers and educators in teaching the importance of theory as well as the theorizing process by presenting 12 intermediate products of theorizing and what they mean in an SE context.

Abstract

This chapter seeks to support software engineering (SE) researchers and educators in teaching the importance of theory as well as the theorizing process. Drawing on insights from other fields, the chapter presents 12 intermediate products of theorizing and what they mean in an SE context. These intermediate products serve different roles: some are theory products to frame research studies, some are theory generators, and others are components of theory. Whereas the SE domain doesn't have many theories of its own, these intermediate products of theorizing can be found widely. The chapter aims to help readers to recognize these intermediate products, their role, and how they can help in the theorizing process within SE research. To illustrate their utility, the chapter then applies the set of intermediate theorizing products to the software architecture research field. The chapter ends with a suggested structure for a 12-week course on theorizing in SE which can be readily adapted by educators.

Teaching Theorizing in Software Engineering Research

TL;DR

This chapter seeks to support software engineering (SE) researchers and educators in teaching the importance of theory as well as the theorizing process by presenting 12 intermediate products of theorizing and what they mean in an SE context.

Abstract

This chapter seeks to support software engineering (SE) researchers and educators in teaching the importance of theory as well as the theorizing process. Drawing on insights from other fields, the chapter presents 12 intermediate products of theorizing and what they mean in an SE context. These intermediate products serve different roles: some are theory products to frame research studies, some are theory generators, and others are components of theory. Whereas the SE domain doesn't have many theories of its own, these intermediate products of theorizing can be found widely. The chapter aims to help readers to recognize these intermediate products, their role, and how they can help in the theorizing process within SE research. To illustrate their utility, the chapter then applies the set of intermediate theorizing products to the software architecture research field. The chapter ends with a suggested structure for a 12-week course on theorizing in SE which can be readily adapted by educators.

Paper Structure

This paper contains 32 sections, 6 figures, 1 table.

Figures (6)

  • Figure 1: Theory of crowd participation stol2019competition, an example of a variance theory
  • Figure 2: Process theory of large-scale Agile software development (Rolland et al. rolland2023)
  • Figure 3: Conceptual framework capturing 'facets' of crowdsourcing in a software development context, as well as three different perspectives from which these facets can be considered (based on Stol and Fitzgerald stol2014researching)
  • Figure 4: (a) Simplified representation of the Holistic Construal Framework bagozzi1982representing, adapted from Rigdon rigdon2012rethinking. (b) Concept proxy framework, adapted from Rigdon rigdon2012rethinking that explicitly acknowledges a distinction between concept and construct (proxy).
  • Figure 5: Trust as a reflectively measured common factor: instead of probing respondents on 'trust,' which could involve misinterpretation and thus measurement error, we ask respondents to rate a set of more specific, unambiguous indicators, each of which has a certain loading on the common factor, indicating how much of its variance is explained by the common factor. Residuals explain the remaining variance in the indicators. X is a placeholder for the name of a community, not the social media platform formerly known as Twitter.
  • ...and 1 more figures