
Righting Software

since the only way to know how long it will take and how much it will cost to deliver the system is to figure out first how you will build it. Consequently, each project design option comes with its own set of assembly instructions.
Löwy Juval • Righting Software
Design Factoring
Löwy Juval • Righting Software
components and how these components should interact. The result is the architecture of the system.
Löwy Juval • Righting Software
Use cases, however, are volatile, across both customers and time.
Löwy Juval • Righting Software
Figure 3-7 Questions and layers
Löwy Juval • Righting Software
The Anti-Design Effort
Löwy Juval • Righting Software
Once you subscribe to the principle of volatility-based decomposition, you will start seeing possible volatilities everywhere and can easily overdo it.
Löwy Juval • Righting Software
Variability, on the other hand, describes those aspects that you can easily handle in your code using conditional logic.
Löwy Juval • Righting Software
Resist The Siren Song