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...
Main Author: | |
---|---|
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 |