Software Engineering Process Theory: A Multi-Method Comparison of Sensemaking-CoevoIution-Implementation Theory and Function-Behavior-Structure Theory

Paul Ralph
DOI: https://doi.org/10.48550/arXiv.1307.1019
2013-07-03
Software Engineering
Abstract:Many academics have called for increasing attention to theory in software engineering. Consequently, this paper empirically evaluates two dissimilar software development process theories - one expressing a more traditional, methodical view (FBS) and one expressing an alternative, more improvisational view (SCI). A primarily quantitative survey of more than 1300 software developers is combined with four qualitative case studies to achieve a simultaneously broad and deep empirical evaluation. Case data analysis using a closed-ended, a priori coding scheme based on the two theories strongly supports SCI, as does analysis of questionnaire response distributions (p<0.001; chi-square goodness of fit test). Furthermore, case-questionnaire triangulation found no evidence that support for SCI varied by participants' gender, education, experience, nationality or the size or nature of their projects. This suggests that instead of iteration between weakly-coupled phases (analysis, design, coding, testing), it is more accurate and useful to conceptualize development as ad hoc oscillation between organizing perceptions of the project context (Sensemaking), simultaneously improving mental pictures of the context and design artifact (Coevolution) and constructing, debugging and deploying software artifacts (Implementation).
What problem does this paper attempt to address?