Software engineering process theory: A multi-method comparison of SensemakingCoevolutionImplementation Theory and FunctionBehaviorStructure Theory
Software engineering has experienced increased calls for attention to theory, including process theory and general theory. However, few process theories or potential general theories have been proposed and little empirical evaluation has been attempted. The purpose of this paper is to empirically evaluate two previously untested software development process theories  SensemakingCoevolutionImplementation Theory (SCI) and the FunctionBehaviorStructure Framework (FBS). A survey of more than 1300 software developers is combined with four longitudinal, positivist case studies to achieve a simultaneously broad and deep empirical evaluation. Instrument development, statistical analysis of questionnaire data, case data analysis using a closed-ended, a priori coding scheme and data triangulation are described. Case data analysis 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. SCI is supported. No evidence of an FBS subculture was found. This suggests that instead of iterating between weakly-coupled phases (analysis, design, coding, testing), it is more accurate and useful to conceptualize development as ad hoc oscillation between making sense of the project context (Sensemaking), simultaneously improving mental representations of the context and design space (Coevolution) and constructing, debugging and deploying software artifacts (Implementation).
process theory case study questionnaire software process