Adaptable Software Design

Thousands of pages have been written on the subject of adaptable software design. Dozens of named methodologies aim to produce software perfectly fitted to its functional space. Many of the newer of these even incorporate the principles of change over time under the rubric of “agile methods.” It would be impossible to recapitulate them here.

The overwhelming majority of these methodologies focus on creating the correct functionality or allowing functionality to change over time. However, there are some other aspects of software design, related to a system’s ability to adapt without disrupting production operations. We’ll look at those aspects here. Think of these issues as an “overlay” that you should ...

Get Release It! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.