UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Fundamentals of software design science Ralph, David Paul

Abstract

This dissertation comprises three essays on software design science, the philosophical, theoretical and empirical study of software creation and modification including its phenomenology, methodology and causality. The essays consider three limitations evident in the software design science literature: 1) lack of a precisely-defined, well-understood vocabulary; 2) difficulties surrounding empirical research; 3) lack of theory concerning the design process’s structure and organization. The first essay presents an extensive review of definitions of design, revealing nontrivial disagreements regarding its nature and scope. Following this, a formal definition of design and a conceptual model of design projects are constructed. The definition incorporates seven elements – agent, object, environment, goals, primitives, requirements and constraints. The conceptual model views design projects as temporal trajectories of work systems, in which human agents design systems for stakeholders, using resources and tools. This provides a detailed, defensible basis for theoretical and empirical software design science research. The second essay addresses the difficulties of empirical software design science research by elucidating a broad, bipolar conflict in design literature between two incompatible beliefs: 1) the belief that design is an innately cognitive, approximately rational, plan-centered activity (Reason-Centric Perspective); 2) the belief that design is an emergent phenomenon, improvised through continual interaction between agents and environments (Action-Centric Perspective). Each perspective is operationalized through a software design process theory: the Function-Behavior-Structure Framework (chosen for the Reason-Centric Perspective) and the Sensemaking-Coevolution-Implementation Framework (proposed for the Action-Centric Perspective). The third essay presents a survey study comparing these perspectives and theories. Responses from 1384 software development professionals in 65 countries indicate that the Sensemaking-Coevolution-Implementation Framework more accurately describes the structure and organization of their design processes than the Function-Behavior-Structure Framework. Gender, education, experience, nationality, occupation, team size, project duration, firm size, methodologies in use, and the nature of the software had no measurable effect on this finding. This supports a theory of the design process’s structure and organization and facilitates several streams of empirical research including studies of design project success.

Item Media

Item Citations and Data

Rights

Attribution-NonCommercial-NoDerivatives 4.0 International