Adhocism in software architecture - perspectives from design theory

Paul Taylor · 2002

A brief survey of the software architecture literature indicates that the practice - as opposed to the theory - is at best a discipline in its infancy and at worst an informal and unrepeatable craft, driven by unlikely forces, including opinionated sponsors, opinionated developers, misuse of methods and unmanaged change. Language and technology constraints barely feature, implying that the origin of the apparent informality might be people, practice and design approaches. This paper examines some of the pragmatic factors that shape the structure and design of object-oriented software architecture in contemporary software systems in industry. In the absence of a formal model of software architecture and design, a classification of design heuristics is borrowed from architectural and industrial design to elucidate the heuristics that designers implicitly or tacitly draw on in the absence of formal processes to shape their artefacts. These include anthropometric analogy, literal analogy, environmental relations, typology and formal design languages. The paper concludes that ad-hoc software architecture may be addressed by a greater problem space orientation during software system analysis, design and implementation, and one such classification is examined in detail - Jackson's problem frames - a set of generic problem structural patterns.

Read the paper · More papers on PaperTik