Fundamentals of software design science

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 literatur...

Full description

Bibliographic Details
Main Author: Ralph, David Paul
Language:English
Published: University of British Columbia 2010
Online Access:http://hdl.handle.net/2429/29536
id ndltd-UBC-oai-circle.library.ubc.ca-2429-29536
record_format oai_dc
spelling ndltd-UBC-oai-circle.library.ubc.ca-2429-295362018-01-05T17:24:43Z Fundamentals of software design science Ralph, David Paul 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. Business, Sauder School of Graduate 2010-10-26T14:01:39Z 2010-10-26T14:01:39Z 2010 2010-11 Text Thesis/Dissertation http://hdl.handle.net/2429/29536 eng Attribution-NonCommercial-NoDerivatives 4.0 International http://creativecommons.org/licenses/by-nc-nd/4.0/ University of British Columbia
collection NDLTD
language English
sources NDLTD
description 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. === Business, Sauder School of === Graduate
author Ralph, David Paul
spellingShingle Ralph, David Paul
Fundamentals of software design science
author_facet Ralph, David Paul
author_sort Ralph, David Paul
title Fundamentals of software design science
title_short Fundamentals of software design science
title_full Fundamentals of software design science
title_fullStr Fundamentals of software design science
title_full_unstemmed Fundamentals of software design science
title_sort fundamentals of software design science
publisher University of British Columbia
publishDate 2010
url http://hdl.handle.net/2429/29536
work_keys_str_mv AT ralphdavidpaul fundamentalsofsoftwaredesignscience
_version_ 1718582677662072832