A design theory for software engineering

12Citations
Citations of this article
135Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Context: Software Engineering is a discipline that has been shaped by over 50 years of practice. Many have argued that its theoretical basis has been slow to develop and that, in fact, a substantial theory of Software Engineering is still lacking. Objective: We propose a design theory for Software Engineering as a contribution to the debate. Having done this, we extend it to a design theory for socio-technical systems. Method: We elaborate our theory based on Gregor's influential ‘meta-theoretical’ exploration of the structural nature of a theory in the discipline of Information Systems, with particular attention to ontological and epistemological arguments. Results: We argue how, from an ontological perspective, our theory embodies a view of Software Engineering as the practice of framing, representing and transforming Software Engineering problems. As such, theory statements concern the characterisation of individual problems and how problems relate and transform to other problems as part of an iterative, potentially backtracking, problem solving process, accounting for the way Software Engineering transforms the physical world to meet a recognised need. From an epistemological perspective, we argue how the theory has developed through research cycles including both theory-then-(empirical-)research and (empirical-)research-then-theory strategies spanning over a decade; both theoretical statements and related empirical evidence are included. Conclusion: The resulting theory provides descriptions and explanations for many phenomena observed in Software Engineering and in the combination of software with other technologies, and embodies analytic, explanatory and predictive properties. There are however acknowledged limitations and current research to overcome them is outlined.

Cite

CITATION STYLE

APA

Hall, J. G., & Rapanotti, L. (2017). A design theory for software engineering. Information and Software Technology, 87, 46–61. https://doi.org/10.1016/j.infsof.2017.01.010

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free