Chapter 1. Architects and architecture today

The purpose of software engineering is to control complexity, not to create it.

—Dr. Pamela Zave

At the very beginning of the computing age, the costs of hardware were largely predominant over the costs of software. Some decades later, we look around and find the situation to be radically different. The industry made incredible progress, and hardware costs have fallen dramatically. Software development costs, on the other hand, have risen considerably, mostly because of the increasing complexity of custom enterprise software development.

This situation has created the need for a set of precepts to guide engineers in the design of such systems. Appropriated from the construction industry, the term ...

Get Microsoft .NET: Architecting Applications for the Enterprise, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.