Good software design is simple and easy to understand. Unfortunately, the average computer program today is so complex that no one could possibly comprehend how all the code works. This concise guide helps you understand the fundamentals of good design through scientific laws—principles you can apply to any programming language or project from here to eternity.

Whether you’re a junior programmer, senior software engineer, or non-technical manager, you’ll learn how to create a sound plan for your software project, and make better decisions about the pattern and structure of your system.

Discover why good software design has become the missing science

Understand the ultimate purpose of software and the goals of good design

Determine the value of your design now and in the future

Examine real-world examples that demonstrate how a system changes over time

Create designs that allow for the most change in the environment with the least change in the software