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

TL;DR
This study empirically compares two software development process theories, supporting the view that development is better understood as an improvisational oscillation among sensemaking, coevolution, and implementation rather than a linear, phase-based process.
Contribution
It provides a comprehensive empirical evaluation of SCI and FBS theories, favoring SCI and challenging traditional phase-based models in software engineering.
Findings
Strong support for SCI over FBS (p<0.001)
Support for SCI consistent across demographics and project types
Development viewed as ad hoc oscillation rather than linear phases
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Techniques and Practices · Software Engineering Research · Advanced Software Engineering Methodologies
