Modules and transactions: Building blocks for a theory of software engineering
Çelikkol Erbaş, Bahar
MetadataShow full item record
This article leverages the findings of the transaction cost economics field, and proposes a simple theory and associated vocabulary to serve as a foundation for a unified theory of software engineering. The theory characterizes software engineering as a set of transactions organized under a spectrum of three governance structures (top-down, bottom-up and reuse), and explains the strengths and weaknesses of these governance structures in relation to asset specificity and uncertainty. It takes into account the recursive nature of the notions in software engineering, and applies uniformly to various contexts at different levels of granularity. It sheds light both on the technical and on the human aspects of software engineering through a unified explanatory framework, without requiring a need to assemble different approaches to address each. The theory not only explains some of the propositions given in the software engineering literature but also reveals the boundaries of their applicability. (C) 2014 Elsevier B.V. All rights reserved.