SEMar 24, 2013

The Two Paradigms of Software Design

arXiv:1303.5938v19 citations
Originality Incremental advance
AI Analysis

This work addresses foundational philosophical conflicts in software design, impacting research, practice, and education in information systems and software engineering.

The paper contrasts the Rational Design Paradigm, which treats software development as a methodical and plan-centered process, with an Alternative Design Paradigm that views it as an amethodical and improvisational process, framing the problem and building artifacts simultaneously.

The dominant view of design in information systems and software engineering, the Rational Design Paradigm, views software development as a methodical, plan-centered, approximately rational process of optimizing a design candidate for known constraints and objectives. This paper synthesizes an Alternative Design Paradigm, which views software development as an amethodical, improvisational, emotional process of simultaneously framing the problem and building artifacts to address it. These conflicting paradigms are manifestations of a deeper philosophical conflict between rationalism and empiricism. The paper clarifies the nature, components and assumptions of each paradigm and explores the implications of the paradigmatic conflict for research, practice and education.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes