The situated software architect
thesisposted on 10.01.2017 by Taylor, Paul Raymond
In order to distinguish essays and pre-prints from academic theses, we have a separate category. These are often much longer text based documents than a paper.
This thesis is an examination of the practice of software design amongst professional Australian software architects. It is based on a qualitative analysis of the data arising from transcripts of in-depth interviews with twenty-four software architects and two qualitative case studies of software-architectural design within large Australian organisations. The thesis argues that the practice of software design can only be understood in a holistic sense via a pluralist perspective, and that a constructivist philosophical approach is necessary to account for the practice of software design in a meaningful way. This argument discredits rationalism and by implication modernism as inappropriate philosophical bases for the universal observation, description and comprehension of the practice of software design. The motivation for pursuing this line of investigation is twofold. Firstly, the research seeks to explicate rich and descriptive accounts of the practice of software design in Australian business and industry contexts via an interpretivist research paradigm. Secondly, it attempts to explain the apparently a-rational behaviours of professional software architects in order to separate the practitioner from a sense of inadequacy or failure that follows from the universal imposition of rationalistic design methods and paradigms. The thesis pursues these goals by attempting to fit a situated model of design to the accounts of the participants. Structuring the research process and the rich narratives that emerge from the qualitative analysis is achieved using four philosophical perspectives—rationalism, pragmatism, criticalism and radicalism. The research delivers original findings on how practicing software architects negotiate requirements in the light of known solutions, how they are bound by perspective and paradigm, and the mechanics of their personal design processes. Through these descriptions of activity, the architect is revealed as an arranger of context and situation so as to constitute an environment in which to design tacitly. The thesis concludes that a situated perspective is necessary to understand the practice of software design.